一、nginx部署
1、安装依赖
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
2、下载nginx
移动到/usr/local下
cd /usr/local
下载
wget http://nginx.org/download/nginx-1.9.9.tar.gz (版本号可换)
3、解压
tar -xf nginx-1.9.9.tar.gz
4、进入到nginx目录下
cd nginx-1.9.9
5、配置
./configure --prefix= /usr/local/nginx/ --with-http_stub_status_module --with-http_ssl_module
6、make
make
make install
7、测试是否安装成功
/usr/local/nginx/sbin/nginx –t
正常情况的信息输出:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
8、常用命令
/usr/local/nginx/sbin/nginx -s reload
/usr/local/nginx/sbin/nginx -s reopen
/usr/local/nginx/sbin/nginx -s stop
ps -ef | grep nginx
/usr/local/nginx/sbin/nginx -v
二、平滑升级
1、下载须替换的版本(不替换版本,只改模块,可以跳过这步)
移动到/usr/local下
cd /usr/local
下载
wget http://nginx.org/download/nginx-1.16.0.tar.gz
2、解压(不替换版本,只改模块,可以跳过这步)
tar -xzf nginx-1.16.0.tar.gz
3、进入到nginx目录下(不替换版本,只改模块,跳到nginx-1.9.9)
cd nginx-1.16.0
4、配置
./configure --prefix= /usr/local/nginx/ --with-http_stub_status_module --with-http_ssl_module
5、make(注意!这里只make,不执行make install)
make
6、旧版本备份
旧版本备份
cd /usr/local/nginx/sbin
mv nginx nginx.old
新版本移动过来
cp /usr/local/nginx-1.16.0/objs/nginx .
7、平滑重启
检测新版本Nginx是否正常 正常为 successful
/usr/local/nginx/sbin/nginx -t
查看旧版本nginx进程
ps -ef | grep nginx
向主进程发送USR2信号,Nginx会启动一个新版本的master进程和工作进程,和旧版一起处理请求
kill -USR2 1894
此时再次查看Nginx进程就发现有两个Nginx在工作
向原Nginx主进程发送WINCH信号,它会逐步关闭旗下的工作进程(主进程不退出),这时所有请求都会由新版Nginx处理
kill -WINCH 1894
杀死旧版本Nginx主进程
kill -9 1894
平滑升级结束