位置: 编程技术 - 正文

Linux下重启apache的方法(linux apache 启动)

编辑:rootadmin
Linux系统为Ubuntu 一、Start Apache 2 Server /启动apache服务 # /etc/init.d/apache2 start or $ sudo /etc/init.d/apache2 start 二、 Restart Apache 2 Server /重启apache服务 # /etc/init.d/apache2 restart or $ sudo /etc/init.d/apache2 restart 三、Stop Apache 2 Server /停止apache服务 # /etc/init.d/apache2 stop or $ sudo /etc/init.d/apache2 stop linux下的apache 重启和停止 本文档叙述了在类Unix系统上如何停止和重启Apache 。 Windows NT//XP/的用户请参见以服务方式运行Apache ,Windows 9x/ME用户则参见在控制台中运行Apache 。 简介 为了停止或者重新启动Apache ,你必须向正在运行的httpd进程发送信号。有两种发送信号的方法。第一种方法是直接使用UNIX的kill命令向运行中的进程发送信号。你也许你会注意到你的系统里运行着很多httpd进程。但你不应该直接对它们中的任何一个发送信号,而只要对已经在PidFile中记载下了自身PID的父进程发送信号。也就是说,你不必对父进程以外的任何进程发送信号。你可以向父进程发送三种信号:TERM、HUP、USR1 ,我们过一会儿再进行详细的说明。 你可以用下面这样的命令来向父进程发送信号: kill -TERM `cat /usr/local/apache2/logs/httpd.pid` 第二种方法是使用下面将要描述的httpd二进制可执行文件的 -k 命令行选项:stop、restart、graceful、graceful-stop 。不过我们推荐你使用apachectl控制脚本来向httpd二进制可执行文件传递这些选项。 当你向httpd发送信号后,你可以这样来读取它的进行过程: tail -f /usr/local/apache2/logs/error_log 你可以修改这些示例以适应你的ServerRoot和PidFile设置。 立即停止 信号:TERM apachectl -k stop 发送TERM或stop信号到父进程可以使它立刻杀死所有子进程。这将花费一些时间来杀死所有子进程。然后父进程自己也退出。所有进行中的请求将被强行中止,而且不再接受其它请求。 优雅重启 信号:USR1 apachectl -k graceful USR1或graceful信号使得父进程建议子进程在完成它们现在的请求后退出(如果他们没有进行服务,将会立刻退出)。父进程重新读入配置文件并重新打开日志文件。每当一个子进程死掉,父进程立刻用新的配置文件产生一个新的子进程并立刻开始伺服新的请求。 重启代码的设计能够确保MPM进程控制指令的正常运作,也就是在重启过程中确保有适当数量的进程和线程以响应客户端的请求。它是这样StartServers的:如果在一秒钟以后还没有新创建StartServers个子进程,则创建出足够完成现在任务的子进程个数。因此,代码除了保有能够维持服务器的现有负载数量的子进程外,也确保StartServers按你的意愿运作。 使用mod_status的用户会注意到在USR1信号发出后,服务器的统计信息没有被清零。代码被写成既能将你服务器无法伺服新请求的时间降至最少(这些请求将被操作系统放到队列里,使得它们不会丢失),又能遵从你的参数优化。为了做到这一点,它将在重新生成子进程的过程中,在scoreboard上保存所有子进程的状态。 mod_status还会将那些在优雅重启前就已经开始而没有结束伺服请求的子进程用一个"G"来标志。 目前,日志滚动脚本还无法使用USR1来确定所有写入预重启日志的子进程都已结束。我们建议你在发出了USR1信号后等待一个适当的时间,然后再对旧的日志做处理。比如说如果对于一个窄带用户来说,大部分的点击处理将在分钟之内完成,那么你应该在处理旧的日志前等待分钟。 如 果Apache重启时发现配置文件有误,那么父进程将不会重启,而是报错并退出。在优雅重启的情况下,它将在处理中的子进程存在的情况下维持它的存在(就 是那些被要求在处理完它们的请求后"优雅退出"的子进程)。如果你要重启服务器,这将导致一些问题:它将不能绑定到它的监听端口。在执行重启之前,你可以 用 -t 命令行参数来检查配置文件语法的正确性(参见httpd)。但这仍然不能保证服务器一定可以正确的重启。为了从语法和语义两方面检查配置文件,你可以用一个非root用户来启动httpd。如果没有错误,它将尝试去打开套接字和日志文件,继而因没有root权限而失败(或是因为现在运行的httpd已经绑定了这些端口)。如果是因为其他原因那么就可能是一个配置文件产生的错误,你就应当在进行优雅重启之前改正这个错误。立即重启 信号:HUP apachectl -k restart 向父进程发送HUP或restart信号会使它象收到TERM信号一样杀掉所有的子进程,不同之处在于父进程本身并不退出。它重新读入配置文件、重新打开日志文件。然后产生一系列新的子进程来继续服务。 使用mod_status的用户会注意到在HUP信号发出后,服务器统计信息会被清零。 如果你重启时配置文件有误,那么父进程将不会重启,而是报错并退出。参见上文中避免的方法。优雅停止 信号:WINCH apachectl -k graceful-stop WINCH或graceful-stop信号使得父进程建议子进程在完成它们现在的请求后退出(如果他们没有进行服务,将会立刻退出)。然后父进程删除PidFile并停止在所有端口上的监听。父进程仍然继续运行并监视正在处理请求的子进程,一旦所有子进程完成任务并退出或者超过由GracefulShutdownTimeout指令规定的时间,父进程将会退出。在超时的情况下,所有子进程都将接收到TERM信号并被强制退出。 在"优雅"状态下,TERM信号将会立即中止父进程和所有子进程。由于PidFile已经被删除,你将无法使用apachectl或httpd发送该信号。 graceful-stop允许你同时运行多个相同配置的httpd实例。这在对Apache进行平滑升级的时候是一个非常有用的特性。不过它在某些配置的情况下同样可能会导致死锁和竞争条件。 必须注意确保诸如Lockfile和ScriptSock之类的磁盘文件包含服务器的PID ,并且能够安全的共存。然而如果一个配置指令、第三方模块或持久CGI使用任何磁盘锁或状态文件,必须注意确保多个httpd运行实例之间不会争抢文件。 你还必须防止潜在的竞争条件,比如使用rotatelogs风格的管道日志。运行中的多个rotatelogs实例企图同时滚动同一个日志文件可能会导致互相破坏对方的日志文件。 附录:信号和竞争条件 在Apache 1.2b9 之前,有很多关于重启和死亡信号的竞争条件。关 于竞争条件的一个简单描述是:一个时间敏感的问题,如果一些事情在不适当的时间或以不恰当的顺序发生,它将作出你不期望的反应;如果同样的事情在恰当的时 间发生,则不会出现异常。凭借那些拥有"正确"特性设置的体系结构,我们尽量避免了它们的出现。但值得注意的是,仍然有一些竞争条件存在于这样的体系结构 中。 使用物理磁盘的ScoreBoardFile就有损坏ScoreBoard的潜在危险。这将发生在"bind: Address already in use"(HUP之后)或"long lost child came home!"(USR1之后)时。前者是一个致命错误,而后者则会使服务器丢失ScoreBoard的一个记录。所以我们建议多使用优雅重启,偶尔使用硬重启。这些问题很难解决,但幸运的是大多数结构并不需要ScoreBoard文件。而如果你需要这样的结构,你可以参考ScoreBoardFile文档。 当 每个子进程在一个HTTP的持续连接(KeepAlive)中涉及到第二个并发的请求时,所有的结构都会或多或少存在竞争状态的问题。它将在读取了请求而 没有读取任何请求头之后立刻退出。这个修复对于1.2来说来得太晚了。但因为持续连接的客户端已经考虑到网络延时和服务器超时会造成类似的情况,所以理论 上说,这不是一个太大的问题。而实际上似乎也没有任何影响:在一个测试案例中服务器在一秒之内被重启了次,而客户端却成功的浏览了网站,而且没有任何 破损的图片或空文档。

推荐整理分享Linux下重启apache的方法(linux apache 启动),希望有所帮助,仅作参考,欢迎阅读内容。

Linux下重启apache的方法(linux apache 启动)

文章相关热门搜索词:linux 重启apache,linux重启apache服务器命令,linux重启apache服务器命令,linux 重启apache,linux 重启apache,linux 重启httpd,linux 重启apache,linux 重启httpd,内容如对您有帮助,希望把文章链接给更多的朋友!

Linux下chkconfig命令详解 使用语法:chkconfig[--add][--del][--list][系统服务]或chkconfig[--level等级代号][系统服务][on/off/reset]chkconfig在没有参数运行时,显示用法。如果加上服务名,那

linux数据恢复ext3grep rm -rf的详细介绍 linux数据恢复ext3greprm-rf1、先安装ext3grep软件:yuminstallext3grep-y2、umount/data0分区:umount/data2如果提示busy,先kill正在使用这个目录的进程,再umount:fuser-k/d

linux下tar命令遇到error:"Error exit delayed from previous errors"的问题及解决 linux下tar命令遇到error:Errorexitdelayedfrompreviouserrors的问题用tar命令(tar-cvfzsrc.tar.gzsrc)去压缩一个目录,遇到错误Errorexitdelayedfrompreviouserrors原因选项f表示

标签: linux apache 启动

本文链接地址:https://www.jiuchutong.com/biancheng/364135.html 转载请保留说明!

上一篇:Linux命令行与图形界面切换方法(linux命令行图片)

下一篇:Linux下chkconfig命令详解 (linux config)

  • 非税收入票据可以手写吗
  • 锐捷财税怎么样
  • 出差补贴计入
  • 回购股票不注销没有意义
  • 应收账款余额百分比法会计分录
  • 个人如何办理营业执照需要什么材料
  • 所得税申报时成本数据填错怎么办
  • 企业改制重组增值税优惠政策
  • 增值税广告服务包括哪些内容
  • 库存品种
  • 公司租用土地
  • 库存材料盘亏会计分录
  • 研发准备金期末余额帐务处理是怎样的?
  • 购销合同印花税优惠政策
  • 增值税普票怎么验证真伪
  • 发票对方已认证怎么冲红
  • 科技型中小企业认定需要什么条件
  • 销售费用核算原则
  • 公司对外投资的规定
  • 企业的成本费用包括哪些
  • 保险公司的税收是多少
  • 进口货物取得什么证书
  • 代扣代缴代收代缴税款业务内容
  • linux如何删除lv
  • 增值税逾期申报情况说明
  • 路由器wds桥接成功为什么不能上网
  • 成本法变为权益法剩余股权
  • 一般纳税人未取得增值税专用发票怎么处理
  • 其他债权投资减值可以转回吗
  • 微软edge插件
  • opencv dng
  • vue假数据
  • 《网络安全从入门到精通》
  • php高级程序招聘
  • nsloopup命令
  • 出口退税哪些税不退
  • Python中的关键字
  • 计提工资大于实发工资企业所得税怎么算
  • 单一窗口报关是指什么
  • 全年多少钱就得交税
  • 合同取得成本的账务处理
  • 企业应收账款怎么记账
  • 个体工商户需要给员工交社保吗
  • 实收资本是什么科目
  • 小微企业是怎样自己认定的呢
  • 营业外收入需要缴纳印花税吗
  • 苗圃的账务处理
  • 实际利率法如何理解
  • 土地使用权如何取得
  • 工会经费记在什么科目
  • 待抵扣进项税额和进项税额的区别
  • 应交税金减免税科目
  • 一般纳税人企业所得税多久申报一次
  • 现金支付的范围包括
  • 负数发票怎么开具?
  • 补充资本金有哪些途径
  • 建账前的准备工作
  • 存货核算的含义
  • centos用途
  • centos开启telnet服务
  • freebsd常用命令
  • window出现问题
  • windows xp.exe
  • info.exe是什么病毒
  • 如何解决win10系统开机一直转圈圈的问题
  • win10无法使用内置管理员账户
  • win7开机错误代码
  • opengl编程宝典
  • react父组件触发子组件方法
  • python多线程例子
  • fragment里面如何嵌套fragment
  • unity ulua
  • 如何用javascript
  • 税务开票系统对账流程
  • 开票软件重置密码去哪里
  • 公司自有房屋装修费用入什么料目
  • 税务投诉回访电话号码
  • 财税36号文附件3
  • 工程合同可以违背国家规范吗
  • 广东省税务局发票查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设