zoukankan      html  css  js  c++  java
  • Apache和Nginx平滑重启

     

    之前修改了服务器配置都是简单粗暴的用restart重启apache/nginx,据说这样不好。需要平滑重启服务器,避免重启时打断用户行为。
    然后就根据官方文档了解了一下平滑重启的命令。本文根据Apache/Nginx官方文档翻译。

    Apache

    apachectl -k graceful

    graceful信号使得父进程建议子进程在完成它们现在的请求后退出(如果他们没有进行服务,将会立刻退出)。父进程重新读入配置文件并重新打开日志文件。每当一个子进程死掉,父进程立刻用新的配置文件产生一个新的子进程并立刻开始伺服新的请求。
    重启代码的设计能够确保MPM进程控制指令的正常运作,也就是在重启过程中确保有适当数量的进程和线程以响应客户端的请求。它是这样StartServers的:如果在一秒钟以后还没有新创建StartServers个子进程,则创建出足够完成现在任务的子进程个数。因此,代码除了保有能够维持服务器的现有负载数量的子进程外,也确保StartServers按你的意愿运作。

    Nginx

    nginx -s reload

    当主进程收到重新加载配置的信号后,它先检测新配置的语法是否规范,然后开始尝试加载新的配置。如果上面的步骤成功,主进程开始启动新的工作进程并且发停止信号给旧的工作进程;否则,主进程回滚到改变前的配置,并继续使用旧的配置工作。旧的工作进程接受到停止工作信号,它停止接受新的连接请求,但继续处理当前的请求知道这些请求被处理完成。最后,旧的工作进程退出。

  • 相关阅读:
    让网络编程更轻松和有趣 t-io
    设计一个百万级的消息推送系统
    前端安全系列之二:如何防止CSRF攻击
    Maven仓库下载jar包失败的处理方案
    SpringBoot2中配置文件的调整,升级SpringBoot2时候注意的坑
    Table折叠小技巧html-demo
    mysql如何分类统计数量
    前台登录和Token信息交互流程
    windows下安装mysql5.6
    【读书笔记】-- 你不知道的JavaScript
  • 原文地址:https://www.cnblogs.com/zhangyin6985/p/6230769.html
Copyright © 2011-2022 走看看