首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Nginx平滑重启与平滑升级的方法

    如何实现nginx平滑重启与平滑升级? 平滑重启 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

    01

    平滑重启你的后台TCP服务

    后台业务一般都是通过TCP协议提供服务。服务难免需要版本升级,需要经历旧进程的退出和新进程的启动。为保证用户链接不异常中断,需要旧进程继续运行,直至处理完用户请求后再退出。这样才不会打断用户请求,这就是所谓的Graceful Shutdown:优雅退出。如果不做优雅退出,用户交互过程中任何一个步骤可能被升级打断,往小了有些不重要的业务,中断一下可以忍受,但如支付的基础服务,升级服务如果不支持优雅退出,造成大量用户掉线,进而造成恶劣的影响。所以对服务实现,不论对什么业务来说都是很有必要的。这也是为什么Go从1.8版本开始,标准库net/http对HTTPServer就添加了一个新的方法GracefulShutdown,使得进程可以把现有请求都处理完了再退出。

    01
    领券