软件升级和提高安全性
第一步:停止Nginx软件 第二步:删除/usr/local/nginx文件夹 第三步:下载Nginx-1.16重新进行配置、编译以及安装 缺点:在重装升级的过程中,需要停止目前线上正在运行的业务!
问题:什么是平滑升级?答:所谓的平滑升级就是在不停止业务的前提下,实现对Nginx软件版本的 升级。
kill基本语法:
# kill 命令 传输信号给进程
常用命令
TERM, INT(快速退出,当前的请求不执行完成就退出)
QUIT (优雅退出,执行完当前的请求后退出)
HUP (重新加载配置文件,用新的配置文件启动新worker进程,并优雅
的关闭旧的worker进程)
USR1 (重新打开日志文件)
USR2 (平滑的升级nginx二进制文件 拉起一个新的主进程 旧主进程
不停止)
WINCH (优雅的关闭worker进程)
就是在不停止Nginx现有业务的前提下,实现Nginx版本的升级。
第一步:停止正在运行的Nginx,重新启动,使用原生的Nginx启动方式
第二步:上传Nginx-1.16版本,解压,然后对其进行配置、编译以及安装
master进程
-- worker进程
-- worker进程
就是在不停止Nginx现有业务的前提下,实现Nginx版本的升级。
第一步:停止正在运行的Nginx,重新启动,使用原生的Nginx启动方式
# systemctl stop nginx 或 # /usr/local/nginx/sbin/nginx -s
stop
# cd /usr/local/nginx
# 使用原生的启动方式进行启动
# sbin/nginx -c /usr/local/nginx/conf/nginx.conf
第二步:上次Nginx-1.16版本,解压,然后对其进行配置、编译以及安装
# tar -zxf nginx-1.16.0.tar.gz
# cd nginx-1.16.0
# ./configure --prefix=/usr/local/nginx --user=www --
group=www --with-http_ssl_module --withhttp_
stub_status_module --with-http_realip_module
# make && make install
问题:当我们在Linux操作系统中,同时安装了Nginx-1.12与Nginx-1.16版 本,会有什么变化呢?
答:在/usr/local/nginx/sbin目录下会产生两个nginx主程序文件
第三步:同时启动Nginx-1.12与Nginx-1.16两个Nginx软件
# kill -USR2 旧版本Nginx master的进程ID
第四步:把老版本的Nginx-1.12中的worker进程关闭掉
# kill -WINCH 旧版本Nginx master的进程ID
第五步:把老版本的Nginx-1.12的master进程也关闭掉,完成版本切换
# kill -QUIT 旧版本Nginx master的进程ID