添加--with-http_realip_module
不用停止服务,平滑升级,老的nginx进程处理完所有请求后退出,新的nginx进程处理新的请求
备份nginx
cp /opt/nginx/sbin/nginx /opt/nginx/sbin/nginx20160217
cp /opt/nginx/conf/nginx.conf /opt/nginx/conf/nginx20160217.conf
查看已安装模块
/opt/nginx/sbin/nginx -V
--prefix=/opt/nginx --with-http_stub_status_module --with-http_ssl_module
安装nginx
cd /opt/nginx-1.8.1
tar zxvf nginx-1.8.1_ssi.tar.gz
cd nginx-1.8.1
./configure --prefix=/opt/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module
make
(注意不是make install)
备份nginx为nginx.old
\cp -rf /opt/nginx/sbin/nginx /opt/nginx/sbin/nginx.old
拷贝新的nginx
\cp -rf /opt/nginx-1.8.1/nginx-1.8.1/objs/nginx /opt/nginx/sbin/nginx
升级
make upgrade
/opt/nginx/sbin/nginx -t
nginx: the configuration file /opt/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /opt/nginx/conf/nginx.conf test is successful
kill -USR2 `cat /opt/nginx/logs/nginx.pid`
sleep 1
test -f /opt/nginx/logs/nginx.pid.oldbin
kill -QUIT `cat /opt/nginx/logs/nginx.pid.oldbin`
查看已安装模块
/opt/nginx/sbin/nginx -V
--prefix=/opt/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module
上传新的nginx.conf至/opt/nginx/conf
/opt/nginx/sbin/nginx -t
/opt/nginx/sbin/nginx -s reload
如果可以重启
/opt/nginx/sbin/nginx -t
/opt/nginx/sbin/nginx -s reload
/opt/nginx/sbin/nginx -s quit
#/opt/nginx/sbin/nginx -s stop
/opt/nginx/sbin/nginx &
相关推荐
对于Web服务器软件Nginx来说,平滑升级是确保服务不中断且能够安全地应用最新功能和安全修复的关键过程。本篇内容主要围绕如何在CentOS 7系统上,将Nginx 1.12.2平滑升级至1.13.3版本进行讲解。 首先,要确认当前...
进行Nginx平滑升级之前,需要下载新的Nginx源码包并编译安装,但在此过程中需要注意的是,不应直接使用make install命令,因为这会导致旧版本的Nginx被新的二进制文件替换掉,无法实现平滑升级。正确的做法是编译...
在进行平滑升级时,尤其需要注意不要使用make install命令,否则会把新版本的Nginx安装到默认路径下,而不是替换旧版本的Nginx,这将导致多个版本的Nginx同时运行,可能会造成一些未知的问题。正确的做法是在objs...
进行平滑升级: ```bash cd .. make upgrade ``` 编辑Nginx配置文件`/usr/local/nginx/conf/nginx.conf`,添加HTTPS相关配置: ```nginx server { listen 443; server_name your_domain.com; index index....
nginx动态添加模块 平滑升级 常见问题 手动日志分隔 自动日志分隔 pid问题 附录 附录1-目录结构 附录2-location规则 附录3-跨域处理 附录4-htts配置 附录5-keepalived配置 附录6-代理静态页面 附录7-...
Nginx 升级、添加模块**:升级通常涉及卸载旧版本,然后安装新版本。添加模块需重新编译 Nginx,将需要的模块加入编译选项。 **4. Nginx 卸载**:在 Linux 环境下,可以使用 `yum remove nginx` 或 `apt-get ...
在进行Nginx的升级或添加、删除模块时,可以实现平滑升级,无需停机。首先,用新版本替换旧版本的程序文件,然后向旧版本主进程发送USR2信号,如`kill -USR2 旧版主进程号`。新旧版本会同时运行,新版本会接管新的...
主进程主要任务包括加载配置文件、管理工作进程以及实现平滑升级。工作进程则处理实际的网络请求,如HTTP服务、HTTP代理和FastCGI代理。Nginx利用事件驱动模型,如Linux下的epoll,FreeBSD下的kqueue,Solaris下的/...
虽然 1.7.9 版本可能不包含所有热升级功能,但理解 Nginx 的平滑重启和升级过程可以帮助我们在更新到更高版本时避免服务中断。这主要涉及到主进程和工作进程之间的协调。 通过对 Nginx 1.7.9 源码的分析,我们可以...
13. **热部署与平滑升级** Nginx支持热部署,可以在不停止服务的情况下更新配置或软件版本,确保服务的连续性。 14. **FastCGI支持** Nginx与FastCGI配合,可以处理PHP、Perl、Python等动态语言的请求,实现动静...
Nginx还支持基于名称和IP的虚拟主机,可以定制访问日志,支持平滑升级。另外,Nginx支持keep-alive,这是HTTP/1.1中的一个特性,可以让客户端和服务器端保持长时间的连接,减少TCP握手的开销,从而提高性能。 Nginx...
`ngx_http_filter_module`是基础过滤器模块,其他模块可以在此基础上添加过滤功能。 通过对Nginx开源代码的学习,开发者可以掌握网络编程、并发处理、事件模型、内存管理等方面的知识,为构建高性能的网络应用打下...
如果需要增加新功能,可以编译时加入额外模块,或者后期通过动态模块加载(Dynamically Loadable Modules)来添加。同时,定期关注Nginx官方发布的新版本,适时升级以获取最新特性和安全修复。 总之,Nginx的编译...
- **模块化设计**:Nginx 采用了模块化架构,这使得开发者能够轻松地为其添加新的功能模块,增强了系统的可扩展性和灵活性。 - **异步非阻塞模型**:这种模型与Node.js相似,通过避免等待I/O操作完成的方式提高了...
平滑重启使得在更新配置或升级软件时,对用户的影响降到最低。 七、性能优化 Nginx可以通过调整配置参数进行性能优化,例如设置worker_processes的数量、client_max_body_size限制、keepalive_timeout等。 总结,...
9. **平滑升级**: 在不中断服务的情况下升级Nginx,可以使用`nginx -s reload`命令来重新加载配置,或者使用`nginx -s stop`和`nginx`启动新版本,确保无中断切换。 10. **UA实现手机电脑页面分离**: 通过检查...
3. **平滑升级:** 使用Nginx自带的平滑升级功能,无需停止服务即可升级。可以通过`nginx -g "daemon off;"`命令启动新版本,并在旧版本停止后自动切换。 #### 4. Nginx配置文件精讲 Nginx配置文件是控制服务器...