2. Nginx 常用命令及管理升级
常用命令
查看nginx进程
说明:nginx的进程由主进程和工作进程组成。
# ps -ef | grep nginx
root 85276 1 0 10:49 ? 00:00:00 nginx: master process ./nginx
nginx 85277 85276 0 10:49 ? 00:00:00 nginx: worker process
root 85483 68068 1 11:07 pts/0 00:00:00 grep --color=auto nginx
检查配置文件是否正确
[root@docker ~]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/nginx.conf test is successful
查看工作目录,配置文件等信息
# /usr/local/nginx/sbin/nginx -V
默认访问目录
# vi /usr/local/nginx/html/index.html
不停止服务,重新载入配置文件
# /usr/local/nginx/sbin/nginx -s reload
安全的停止
# /usr/local/nginx/sbin/nginx -s stop
强制停止
# pkill -9 nginx
升级、降级方法
升级和降级方法一样
检查现有nginx版本及配置
# /usr/local/nginx/sbin/nginx -v
nginx version: nginx/1.13.6
# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.13.6
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)
built with OpenSSL 1.1.0g 2 Nov 2017
TLS SNI support enabled
configure arguments: --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl=/root/openssl-1.1.0g --with-pcre=/root/pcre-8.41 --with-zlib=/root/zlib-1.2.11 --with-http_stub_status_module --conf-path=/usr/local/nginx/nginx.conf
解压升级/降级的包
# tar -xvf nginx-1.12.2.tar.gz
进入解压出来的目录
[root@docker ~]# cd nginx-1.12.2/
配置:在配置过程中。必须要把之前配置的参数都加入进
# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl=/root/openssl-1.1.0g --with-pcre=/root/pcre-8.41 --with-zlib=/root/zlib-1.2.11 --with-http_stub_status_module --conf-path=/usr/local/nginx/nginx.conf
编译:千万不要执行make install
# make
重命名启动文件
# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
备份旧的执行文件
(重命名之后网站还可以访问)
复制行的配置文件
# cp nginx-1.12.2/objs/nginx /usr/local/nginx/sbin/
将要升级或者降级的解压包里面的配置文件复制过去
平滑升级/降级nginx
# kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
查看nginx进程
# ps -ef | grep nginx
决定是否升级到新版本的nginx
# kill -WINCH `cat /usr/local/nginx/logs/nginx.pid.oldbin `
Nginx在不重载配置文件启动工作进程
# kill -HUP `cat /usr/local/nginx/logs/nginx.pid.oldbin `
关闭旧版本nginx
# kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
查看是否关闭了就的nginx进程
# ps -ef | grep nginx
检查升级之后的版本
# /usr/local/nginx/sbin/nginx -v
nginx version: nginx/1.12.2