启动操作
-c参数指定了要加载的nginx配置文件路径
停止操作
停止操作是通过向nginx进程发送信号(什么是信号请参阅Linux文 章)来进行的
步骤1:查询nginx主进程号
步骤2:发送信号
从容停止Nginx:
平滑重启
如果更改了配置就要重启Nginx,要先关闭Nginx再打开?不是的,可以向Nginx 发送信号,平滑重启。
平滑重启命令:
或者使用
注意,修改了配置文件后最好先检查一下修改过的配置文件是否正 确,以免重启后Nginx出现错误影响服务器稳定运行。判断Nginx配置是否正确命令如下:
或者
平滑升级
Nginx方便地帮助我们实现了平滑升级。其原理简单概括,就是:
(1)在不停掉老进程的情况下,启动新进程。
(2)老进程负责处理仍然没有处理完的请求,但不再接受处理请求。
(3)新进程接受新请求。
(4)老进程处理完所有请求,关闭所有连接后,停止。
这样就很方便地实现了平滑升级。一般有两种情况下需要升级Nginx,一种是确实要升级Nginx的版本,另一种是要为Nginx添加新的模块。
平滑升级命令:
cd /mnt
下载nginx升级包
wget http://nginx.org/download/nginx-1.10.2.tar.gz
解压升级包
tar zxvf nginx-1.10.2.tar.gz
cd nginx-1.10.2/
查看当前版本得到编译参数
/usr/local/nginx/sbin/nginx -V
用上面编译参数
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-ipv6 --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-openssl=../openssl-1.0.2j --with-pcre=../pcre-8.39 --with-pcre-jit --with-ld-opt='-ljemalloc'
然后make,千万别make install
make完了 在objs目录下就多了个nginx,这个就是新版本的程序了
备份原nginx文件
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx-2017110
将新生成nginx执行文件复制到nginx/sbin下
cp objs/nginx /usr/local/nginx/sbin/nginx
检测配置文件是否正确
/usr/local/nginx/sbin/nginx -t
执行升级
make upgrade
执行完后
/usr/local/nginx/sbin/nginx -V
到此就完成平滑升级。