下载地址:nginx: download
选择稳定版,下载
1.22.0的tar.gz包见下:
nginx-1.22.0.tar.gz
cd /root/
mkdir -p /root/nginx/nginx-1.22.0/
cd nginx
# 将nginx包解药到指定目录下
tar -zxvf nginx-1.22.0.tar.gz -C /root/nginx/nginx-1.22.0/
cd /root/nginx/nginx-1.22.0/nginx-1.22.0/
ls -lrt
./configure --prefix=/usr/local/nginx-1.22.0/
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre= option.
解法:
yum install -y pcre pcre-devel
./configure: error: the HTTP gzip module requires the zlib library.
You can either disable the module by using --without-http_gzip_module
option, or install the zlib library into the system, or build the zlib library
statically from the source with nginx by using --with-zlib= option.
解法:
yum install -y zlib zlib-devel
继续编译安装
# 指定安装路径--prefix
./configure --prefix=/usr/local/nginx-1.22.0/
# 编译
make
# 安装
make install
./configure --prefix=/usr/local/nginx-1.22.0/后截图:
make后截图:
make install截图:
# 启动前 创建nginx的软连接
ln -s nginx-1.22.0/ nginx
cd /usr/local/nginx/sbin
# 启动
./nginx
# 快速停止
。/nginx -s stop
# 优雅关闭,在退出去完成已经接受的连接请求
./nginx -s quit
# 重新加载配置
./nginx -s reload
ss -tanp | grep 80
浏览器键入服务器ip,访问下:
# 关闭防火墙
systemctl stop firewalld.service
# 禁止防火墙开机自启
systemctl disable firewalld.service
# 放行端口
firewall-cmd --zone=public -add-port=80/tcp --permanent
# 重启防火墙
firewall-cmd --reload
创建服务脚本
vim /usr/lib/systemd/system/nginx.service
服务脚本内容
[Unit]
Description=nginx - web server by chaitc
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
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=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
wantedBy=multi-user.target
重新加载系统服务
systemctl daemon-reload
# 停止
systemctl stop nginx
# 查看状态
systemctl start nginx
#启动
systemctl start nginx
# 设置为开机自启动
systemctl enable nginx.service