目录
nginx架构图
1.先检查CentOS7系统下有没有安装nginx,可以用命令nginx -V选项查看
2.建立启动用的服务用户
3.安装编译nginx所需的依赖
4.下载nginx源码包到系统中
5.解压到源码包到指定的目录下
6.nginx源码包配置和安装
7.测试配置文件
8.查看运行账号
9.平滑升级或平滑更新配置
9.1.查看配置项
9.2.kill –USR2 旧版本的nginx主进程号。并替换旧的可执行文件。
9.3.给旧的主进程发送WINCH信号,kill -WINCH 旧的主进程号
nginx架构图
nginx架构https://www.processon.com/view/61aeba94e401fd34bea6aff0?fromnew=1#pc
1.先检查CentOS7系统下有没有安装nginx,可以用命令nginx -V选项查看
nginx -V
2.建立启动用的服务用户
useradd -s /sbin/nologin -M nginx
3.安装编译nginx所需的依赖
yum -y install pcre pcre-devel gcc zlib zlib-devel openssl openssl-devel
4.下载nginx源码包到系统中
useradd -s /sbin/nologin -M nginx
3.安装编译nginx所需的依赖
yum -y install pcre pcre-devel gcc zlib zlib-devel openssl openssl-devel
4.下载nginx源码包到系统中
nginx: downloadhttp://nginx.org/en/download.html
5.解压到源码包到指定的目录下
tar -xf nginx-1.15.8.tar.gz -C /tmp/
6.nginx源码包配置和安装
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make
make install
7.测试配置文件
/usr/local/nginx/sbin/nginx -t
8.查看运行账号
ps aux |grep nginx |grep -v grep
9.平滑升级或平滑更新配置
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module make make install
7.测试配置文件
/usr/local/nginx/sbin/nginx -t
8.查看运行账号
ps aux |grep nginx |grep -v grep
9.平滑升级或平滑更新配置
ps aux |grep nginx |grep -v grep
9.平滑升级或平滑更新配置
nginx不停机版本迭代https://www.processon.com/view/61aeba905653bb08071779fe?fromnew=1#pc
9.1.查看配置项
/usr/local/nginx/sbin/nginx -V
重新配置源码和编译
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module make
重要的事情说三遍:
注意:不能使用make install
注意:不能使用make install
注意:不能使用make install
备份旧的可执行文件
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
查看旧的nginx主进行号,root用户的那个
ps aux |grep nginx |grep -v grep
9.2.kill –USR2 旧版本的nginx主进程号。并替换旧的可执行文件。
kill -USR2 进程号
cp -rf nginx-1.16.0/objs/nginx /usr/local/nginx/sbin/
ps aux |grep nginx |grep -v grep
给nginx发送USR2信号后,nginx会将logs/nginx.pid文件重命名为nginx.pid.oldbin,然后用新的可执行文件启动一个新的nginx主进程和对应的工作进程,并新建一个新的nginx.pid保存新的主进程号。
cat logs/nginx.pid cat logs/nginx.pid.oldbin
9.3.给旧的主进程发送WINCH信号,kill -WINCH 旧的主进程号
kill -WINCH 进程号
kill -QUIT旧版本的nginx主进程号。
kill -QUIT 进程号
检查nginx
ps aux |grep nginx |grep -v grep /usr/local/nginx/sbin/nginx -V
在步骤(9.3)时,如果想回到旧的nginx不再升级
(1)给旧的主进程号发送HUP命令,此时nginx不重新读取配置文件的情况下重新启动旧主进程的工作进程。
kill -HUP 进程号
(2)优雅的关闭新的主进程
kill -QUIT 进程号
注意:如果由于某种原因,无法关闭新主进程的工作进程,直接给进程号发送KILL信号



