nginx 平滑重启与升级的实现方法

 更新时间:2013年02月15日 17:16:46   作者:  
有时候我们需要平滑重启nginx服务,防止出现问题,这里简单的总结,方便需要的朋友

如果改变了Nginx的配置文件(nginx.conf),想重启Nginx,同样可以通过发送系统信号给Nginx主进程的方式来进行.不过,重启之前,要确认Nginx配置文件(nginx.conf)的语法是正确的,否则Nginx将不会加载新的配置文件。通过以下命令可以判断Nginx配置文件是否正确:

/usr/local/webserver/nginx/sbin/nginx    -t  -c
/usr/local/webserver/nginx/conf/nginx.conf

如果配置文件不正确,屏幕将会提示配置文件的第几行出错:

[emerg]:unknowndirective"abc"inlusrllocaUwebserverlnginxjconflnginx.conf:55
Configurationfile/usr/local/webserver/nginx/conf/nginx·conf test failed

如果配置文件正确,屏幕将提示以下两行信息:

The configuration file/usr/loca/webserver/nginx/conf/nginx.conf syntax is  ok
Configuration file/usr/local/webserver/nginx/conf/nginx.conf test is  successful

这时候,就可以平滑重启Nginx了。

复制代码 代码如下:

/usr/local/www/nginx/sbin/nginx -xs reloadx

或:
复制代码 代码如下:

killx -HUP `cat /usr/local/www/nginx/logs/nginx.pidx`

下面是一些补充:

平滑重启 kill -HUP `cat /usr/local/www/nginx/logs/nginx.pid`

平滑升级nginx

cd /yujialin
wget http://nginx.org/download/nginx-1.0.6.tar.gz
tar zxvf nginx-1.0.6.tar.gz
cd nginx-1.0.6

/usr/local/www/nginx/sbin/nginx -V
nginx: nginx version: nginx/1.0.4
nginx: built by gcc 4.1.2 20080704 (Red Hat 4.1.2-50)
nginx: configure arguments: --prefix=/usr/local/www/nginx --with-pcre=/yujialin/pcre-8.12 --with-http_stub_status_module --with-http_gzip_static_module
这步是要得到编译参数

./configure --prefix=/usr/local/www/nginx --with-pcre=/yujialin/pcre-8.12 --with-http_stub_status_module --with-http_gzip_static_module
用上面这段编译

然后make,千万别make install

make完了 在objs目录下就多了个nginx,这个就是新版本的程序了
mv /usr/local/www/nginx/sbin/nginx /usr/local/www/nginx/sbin/nginx-20110906
cp objs/nginx /usr/local/www/nginx/sbin/nginx

/usr/local/www/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 successfu

make upgrade 执行升级

执行完后 /usr/local/nginx/sbin/nginx -V
nginx: nginx version: nginx/1.0.6
nginx: built by gcc 4.1.2 20080704 (Red Hat 4.1.2-50)
nginx: configure arguments: --prefix=/usr/local/www/nginx --with-pcre=/yujialin/pcre-8.12 --with-http_stub_status_module --with-http_gzip_static_module

相关文章

  • nginx根据二级目录转发服务以及带/和不带/的区别说明

    nginx根据二级目录转发服务以及带/和不带/的区别说明

    Nginx使用proxy_pass进行二级目录转发时,配置中的斜杠(/)影响路径的处理方式:带斜杠表示绝对路径,不带斜杠表示相对路径,具体转发到后端服务的URL会有所不同
    2024-12-12
  • Linux Nginx VPS下简单解决CC攻击

    Linux Nginx VPS下简单解决CC攻击

    Linux Nginx VPS下简单解决CC攻击,使用Nginx与php的朋友可以参考下。
    2010-12-12
  • 让VIM支持Nginx .conf文件语法高亮显示功能的方法

    让VIM支持Nginx .conf文件语法高亮显示功能的方法

    这篇文章主要给大家介绍了关于让VIM支持Nginx .conf文件语法高亮显示功能的方法,文中分别介绍了手动修改和自动化脚本两种方法的实现,都给出了详细的示例代码,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07
  • Nginx反向代理实现支持长连接详解

    Nginx反向代理实现支持长连接详解

    这篇文章主要给大家介绍了关于Nginx反向代理实现支持长连接的相关资料,文字介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来学习学习吧。
    2017-06-06
  • 使用Nginx实现负载均衡的策略

    使用Nginx实现负载均衡的策略

    本篇文章主要介绍了使用Nginx实现负载均衡的策略,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • 浅谈nginx读写锁的实现逻辑

    浅谈nginx读写锁的实现逻辑

    本文主要介绍了浅谈nginx读写锁的实现逻辑,是通过自旋锁来实现的,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-05-05
  • 在Ubuntu20.04上安装Kubernetes集群

    在Ubuntu20.04上安装Kubernetes集群

    容器化为开发人员提供了很大的灵活性,最常用的容器化应用程序之一是 Docker,在容器上部署服务的主要原因之一是它们灵活、轻量级并且在部署在数百台机器上时易于扩展,但是,谁来管理所有这些容器?这就是 Kubernetes 发挥作用的地方
    2023-12-12
  • nginx添加http_ssl_module并且配置域名指定端口的操作方法

    nginx添加http_ssl_module并且配置域名指定端口的操作方法

    这篇文章主要介绍了nginx添加http_ssl_module并且配置域名指定端口的操作方法,文末附带linux下防火墙和开放端口,需要的朋友可以参考下
    2023-11-11
  • 详解Nginx 对访问量的控制

    详解Nginx 对访问量的控制

    本文详解的介绍了 Nginx 的 ngx_http_limit_conn_module 和 ngx_http_limit_req_module 模块,对请求访问量进行控制。非常具有实用价值,需要的朋友可以参考下
    2018-12-12
  • 前端如何修改nginx配置(在VSCode)

    前端如何修改nginx配置(在VSCode)

    前端开发中Nginx是最常用的 Web 服务器和反向代理工具,主要用于部署静态资源、处理跨域、配置缓存策略等,这篇文章主要介绍了前端如何修改nginx配置的相关资料,需要的朋友可以参考下
    2025-09-09

最新评论