企业网站用什么系统好,网络营销有哪些功能?,微信开发者工具文档,wordpress如何添加背景音乐快捷查看指令 ctrlf 进行搜索会直接定位到需要的知识点和命令讲解#xff08;如有不正确的地方欢迎各位小伙伴在评论区提意见#xff0c;小编会及时修改#xff09;
Nginx热部署 首先来讲一下为什么要进行热部署 nginx 支持热加载 热部署 #xff0c;在不打断用户请求的情…快捷查看指令 ctrlf 进行搜索会直接定位到需要的知识点和命令讲解如有不正确的地方欢迎各位小伙伴在评论区提意见小编会及时修改
Nginx热部署 首先来讲一下为什么要进行热部署 nginx 支持热加载 热部署 在不打断用户请求的情况下就可以更新版本 Nginx热部署的原因主要有以下几点
当旧的nginx功能模块不足以支撑项目使用时需要加载新的nginx到项目中避免 downtime传统的软件升级需要停止服务进行升级后再重新启动服务这个过程会造成服务停机如果在高流量情况下停机会影响用户体验和业务收益。提升服务可用性和稳定性Nginx热部署可以在不中断服务的情况下进行升级可以有效减少服务宕机时间提高业务的可用性和稳定性。降低升级风险热部署可以快速回滚到旧版本降低升级风险。在升级过程中如果出现了问题可以很快地切回到旧版本避免影响业务。提高运维效率热部署可以自动完成升级操作减少人工干预提高运维效率。同时热部署也可以实现自动化部署和回滚。
Nginx热部署操作步骤
本次测试将2.3.1版本的Nginx更新为2.4.1版本
在旧nginx开启状态下修改旧nginx的sbin下的命令名
[rootlocalhost sbin]# mv nginx nginx.old重新编译不安装一个新的nginx位置与旧的一致 (安装nginx详情可查看Centos7安装配置nginx)
[rootlocalhost tengine-2.4.1]# ./configure --prefix/tmp/tngx --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --with-http_stub_status_module --with-threads --with-file-aio[rootlocalhost tengine-2.4.1]# make 将tengine-2.4.1包下的objs/nginx复制到旧nginx包下
cp tengine-2.4.1/objs/nginx /tmp/tngx/sbin/发送USR2信号给nginx的master
查看master的进程
[rootlocalhost sbin]# ps -ef | grep nginx发送USR2信号
[rootlocalhost sbin]# kill -USR2 8930再次查看
[rootlocalhost sbin]# ps -ef | grep ngi
此时热部署已经完成给旧的master发送WINCH信号使其原本工作进程退出
[rootlocalhost sbin]# kill -WINCH 8930关闭旧的master进程
[rootlocalhost sbin]# kill -9 8930补充一下可能有的小伙伴看到这里会疑惑我现在相当于有两个命令一个是nginx新版本和一个nginx.old老版本而此时正在运行的nginx进程就可以使用nginx新版本 进行关闭然后再进行使用间接地完成了版本的更新老版本的nginx.old可以删除也可以保留