首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用daemontools监督apache

使用daemontools监督apache
EN

Server Fault用户
提问于 2010-02-24 03:22:27
回答 1查看 741关注 0票数 3

我试图在一台服务器中为两个apaches设置守护进程工具。一个Apache2.2侦听端口80代理请求,另一个Apache1.3侦听端口8888。./按以下方式运行脚本:

代码语言:javascript
复制
#!/bin/sh
# apache 1.3
exec /apache_1_3/apache/bin/httpd -F

#!/bin/sh
# apache 2.2
exec /apache_2_2/apache/bin/httpd -D FOREGROUND

daemontools监控两个apache的性能。但是,如果我停止apache2.2 (使用svc -t或apachectl),Apache1.3将在error_log中看到以下错误

代码语言:javascript
复制
[crit] (98)Address already in use: make_sock: could not bind to port 8888

我必须手动停止apache1.3,以停止错误消息,打击日志文件。

在使用守护进程工具之前没有这样的问题。

知道为什么会这样吗?

EN

回答 1

Server Fault用户

发布于 2010-10-18 23:58:44

您不应该在单个脚本中定义两个守护进程。您正在执行两个守护进程,但我相信Daemontools将只监视第二个exec'd守护进程。

以下是我认为正在发生的事情:

  • 您的脚本生成两个进程
    • Daemontools启动第一个进程和第二个进程,但它只监视第二个进程。第一个过程被忽略。

  • 你杀了第二个过程。第一个进程,Apache1.3仍在运行。
  • Daemontools注意到第二个进程已经死了,因此它重新运行run脚本。
  • 您的脚本再次尝试生成两个进程。
    • Apache1.3进程无法再次启动,因为Apache已经在运行并侦听该端口。
    • apache2.2进程很好地启动。
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/406238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档