大家好,又见面了,我是你们的朋友全栈君。
openEuler Linux 源代码编译安装 Nginx
升级系统和软件
代码语言:javascript复制yum -y update
关闭防火墙
代码语言:javascript复制systemctl stop firewalld
systemctl disable firewalld
编辑/etc/selinux/config
代码语言:javascript复制# SELINUX=enforcing 修改为
SELINUX=disabled
代码语言:javascript复制# 或者 执行
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
保存后执行
代码语言:javascript复制setenforce 0
安装依赖
代码语言:javascript复制yum -y groupinstall Development
yum -y install gcc gcc-c
yum -y install zlib zlib-devel openssl openssl-devel pcre-devel
yum -y install vim net-tools man wget tar
或者:
代码语言:javascript复制yum -y install gcc gcc-c make cmake zlib zlib-devel openssl openssl-devel pcre-devel vim net-tools man wget epel-release tar
gcc gcc-c 编译环境 gzip 模块需要 zlib 库 rewrite 模块需要 pcre 库 ssl 功能需要openssl库
添加nginx组,用户
代码语言:javascript复制groupadd nginx
useradd nginx -g nginx -s /sbin/nologin -M
下载安装包
代码语言:javascript复制wget http://nginx.org/download/nginx-1.22.0.tar.gz
tar -zxvf nginx-1.22.0.tar.gz
cd nginx-1.22.0/
对nginx进行配置
代码语言:javascript复制./configure --prefix=/usr/local/nginx
--user=nginx --group=nginx
--with-http_stub_status_module --with-http_ssl_module
--with-http_realip_module --with-http_gzip_static_module
--with-file-aio --with-http_realip_module
#查看是否配置成功($? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误)
代码语言:javascript复制echo $?
# 成功会显示数字零
0
编译安装
代码语言:javascript复制make -j4
make -j4 install
echo $?
0
查看nginx版本号
代码语言:javascript复制/usr/local/nginx/sbin/nginx -v
# 显示结果如下:
nginx version: nginx/1.20.2
检查配置文件语法是否正确
代码语言:javascript复制/usr/local/nginx/sbin/nginx -t
# 检查通过显示结果如下:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
启动nginx
代码语言:javascript复制/usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx -s reload # 重新载入配置文件
/usr/local/nginx/sbin/nginx -s stop # 快速关闭 Nginx
/usr/local/nginx/sbin/nginx -s quit # 关闭Nginx
编写启动脚本
代码语言:javascript复制cd /usr/lib/systemd/system/
vim nginx.service
代码语言:javascript复制[Unit]
Description=nginx
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPost=/bin/sleep 0.1
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
代码语言:javascript复制# 重新加载服务文件
systemctl daemon-reload
# 开启|停止|重新加载|重启|
systemctl start|stop|reload|restart|status nginx.service
开机自启:
代码语言:javascript复制systemctl enable nginx.service
关闭开机自启:
代码语言:javascript复制systemctl disable nginx.service
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/188359.html原文链接:https://javaforall.cn