nginx下载老版本
1.下载nginx1.20软件包
https://nginx.org/download/nginx-1.20.2.tar.gzhttps://nginx.org/download/nginx-1.20.2.tar.gz
2.解压软件包
tar xf nginx1.20.2.tar
3.进入目录查看有咩有configure可执行脚本
4. 查看模块
5.安装编译环境,根据自己要添加的模块进行添加,这里我装了最基本的几个
yum -y install pcre-devel zlib-devel gcc-c++ gcc
6.创建nginx用户和组
-M
:不创建用户的主目录。
-s /sbin/nologin
:禁止用户登录 Shell 环境。
useradd -M -s /sbin/nologin nginx
7.进行编译
./configure \
--prefix=/usr/local/nginx \ 指定目录
--user=nginx \用户
--group=nginx \组
--with-http_stub_status_module 流量查看状态模块
成功
make&&make install安装一下
8.查看版本,访问成功
这有个小问题,你会发现为什么没用nginx -v呢
因为我在卸载nginx 把/sbin/nginx删除了,而且profie没有生成,修改配置文件就行
加上
export NGINX_HOME=/usr/local/nginx
export PATH=$PATH:$NGINX_HOME/sbin
source /etc/profile
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/nginx创建快捷方式就行了
当当当 你看
nginx平滑升级1.24版本
1.下载包1.24
wget https://nginx.org/download/nginx-1.24.0.tar.gz
2.解压
tar xf nginx1.24.tar
3.编译
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
4.不要安装否则会覆盖,我们需要让用户无感升级,不影响流量
make就行
5.为nginx配置一个快捷方式
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/nginx
6. 添加systemctl服务
vim /etc/systemd/system/nginx.service
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PIDFile=/usr/local/nginx/logs/nginx.pid
PrivateTmp=true
[Install]
WantedBy=multi-user.target
7.修改nginx
把1.20版本的nginx备份,以防未来回滚版本
mv nginx nginx.old
mv /root/nginx.1.24/objs/nginx .
8.查看nginx
9.平滑升级
kill -USR2 8087更新
kill -WINCH 8087结束
kill -quit 8087主进退出,也可以kill 9
看图比较结果