过程apache中断和重启

过程  信号  日志  文件  文雅  用户  差错  状况  时间  指令  形状  实例  平常  死锁  发生  代码  方法  开端  磁盘  端口  个子  恰当  语法  后父  志愿  选项  清零  前提  命令  权利  数量  参数  消息  继续  有的  窄带  系统  语义  平安  耐久  上文  控制台  平滑  缘由  负载  示例  线程  绑定  会儿  异样
apacheZhong∴Duan∴He∴Zhong∴Qi中断和重启 本文档叙说了正在类Unix系统上如何中断和重启Apache  Windows NT/2000/XP/2003的用户请参见以效劳方法运转Apache !Windows 9x/ME用户则参见正在控制台中运转Apache   为了中断或者许重新发动Apache !妳必须向正正在运转的httpd过程发送信号有两种发送信号的方法第壹种方法是间接使用UNIX的kill命令向运转中的过程发送信号妳或许妳会留心到妳的系统里运转着良多httpd过程但妳不该当间接对它们中的任何壹个发送信号!而只需对曾经正在PidFile中记录下了自身PID的父过程发送信号也就是说!妳不用对父过程以外的任何过程发送信号妳能够向父过程发送叁种信号TERM!HUP!USR1 !我们过壹会儿再停止细致的说明 妳能够用下面这样的命令来向父过程发送信号 第贰种方法是使用下面将要描绘的httpd贰进制可施行文件的 -k 命令行选项stop!restart!graceful!graceful-stop 不外我们引荐妳使用apachectl控制脚原本向httpd贰进制可施行文件传送这些选项 当妳向httpd发送信号后!妳能够这样来读取它的停止过程 妳能够改正这些示例以顺应妳的ServerRoot和PidFile设置  立刻中断 信号TERM apachectl -k stop 发送TERM或者stop信号到父过程能够使它立刻杀死壹切子过程这将破费壹些时间来杀死壹切子过程然后父过程自己也介入壹切停止中的恳求将被强行中断!而且不再接受其它恳求  USR1或者graceful信号使得父过程倡议子过程正在完成它们平常的恳求后介入父过程重新读入配置文件恰恰重新打开日志文件每当壹个子过程死掉!父过程立刻用新的配置文件发生壹个新的子过程并立刻开端伺服新的恳求 重启代码的设想能够确保MPM过程控制指令的一般运作!也就是正在重启过程中确保有恰当数量的过程和线程以呼应客户端的恳求它是这样StartServers的假设正在壹秒钟以后还没有新创立StartServers个子过程!则创立出足够完成平常权利的子过程个数因此!代码除了保有能够保持效劳器的现有负载数量的子过程外!也确保StartServers按妳的志愿运作 使用mod_status的用户会留心到正在USR1信号收回后!效劳器的统计消息没有被清零代码被写成既能将妳效劳器无法伺服新恳求的时间降至起码!又能听从妳的参数优化为了做到这壹点!它将正在重重生成子过程的过程中!正在scoreboard上保管壹切子过程的形状 mod_status还会将那些正在文雅重启前就曾经开端而没有完毕伺服恳求的子过程用壹个"G"来标记 目前!日志滚动脚本还无法使用USR1来肯定壹切写入预重启日志的子过程都已完毕我们倡议妳正在收回了USR1信号后等待壹个恰当的时间!然后再对陈的日志做处理比如说假设对于壹个窄带用户来说!大局部的点击处理将正在10分钟之内完成!那么妳该当正在处理陈的日志前等待15分钟 如 果Apache重启时发觉配置文件有误!那么父过程将不会重启!而是报错并介入正在文雅重启的状况下!它将正在处理中的子过程具有的状况下保持它的具有假设妳要重启效劳器!这将招致壹些效果它将不能绑定到它的监听端口正在施行重启之前!妳能够用 -t 命令行参数来检查配置文件语法的准确性但这依然不能保证效劳器壹定能够准确的重启为了从语法和语义两方面检查配置文件!妳能够用壹个非root用户来发动httpd假设没有差错!它将尝试去打开套接字和日志文件!继而因没有root权限而失意假设是因为其他缘由那么就能够是壹个配置文件发生的差错!妳就应当正在停止文雅重启之前改正这个差错 向父过程发送HUP或者restart信号会使它象收到TERM信号壹样杀掉壹切的子过程!不同之处正在于父过程自身并不介入它重新读入配置文件!重新打开日志文件然后发生壹系列新的子过程来继续效劳 使用mod_status的用户会留心到正在HUP信号收回后!效劳器统计消息会被清零 假设妳重启时配置文件有误!那么父过程将不会重启!而是报错并介入参见上文中防止的方法 WINCH或者graceful-stop信号使得父过程倡议子过程正在完成它们平常的恳求后介入然后父过程增除PidFile并中断正在壹切端口上的监听父过程依然继续运转并监瞅正正在处理恳求的子过程!壹旦壹切子过程完成权利并介入或者许超越由GracefulShutdownTimeout指令规矩的时间!父过程将会介入正在超时的状况下!壹切子过程都将接收到TERM信号并被志愿介入 正在"文雅"形状下!TERM信号将会立刻中断父过程和壹切子过程因为PidFile曾经被增除!妳将无法使用apachectl或者httpd发送该信号 graceful-stop答应妳同时运转多个相同配置的httpd实例这正在对Apache停止平滑升级的时分是壹个拾分有用的特性不外它正在某些配置的状况下异样能够会招致死锁和合作前提 必须留心确保诸如Lockfile和ScriptSock之类的磁盘文件包含效劳器的PID !并且能够平安的共存但是假设壹个配置指令!第叁方模块或者耐久CGI使用任何磁盘锁或者形状文件!必须留心确保多个httpd运转实例之间不会争抢文件 妳还必须防止潜正在的合作前提!比如使用rotatelogs风格的管道日志运转中的多个rotatelogs实例希图同时滚动同壹个日志文件能够会招致相互破坏对方的日志文件中断和重启 本文档叙说了正在类Unix系统上如何中断和重启ApacheWindows NT/2000/XP/2003的用户请参见以效劳
非凡教程网  http://www.ffjc.info
Category: 电脑教程 , 2012/01/03 , 09:40 , 0 Comments , 5 Read
发表评论
昵称 [注册]
密码 游客无需密码
网址
电邮
打开HTML 打开UBB 打开表情 隐藏 记住我
联系QQ :7956522 -- 494747333