我的服务器(Solaris 10)中设置了两个 Apache 实例:
实例 1:/etc/apache2
实例 2:/etc/apache2-instance2
要启动实例 1,我执行以下命令:
/usr/apache2/bin/apachectl -f /etc/apache2/httpd.conf
和实例 2:
/usr/apache2/bin/apachectl -f /etc/apache2-instance2/httpd.conf
两个实例都运行正常,但是当我想停止实例时,问题就出现了。我找不到参数来指示我想停止哪个实例。如果我执行此命令:
/usr/apache2/bin/apachectl -k stop
它将始终停止实例 1(默认实例)。
我发现停止实例 2 的唯一解决方案是执行以下操作:
kill -TERM 'cat /var/run/apache2-instance2/httpd.pid'
这是唯一的方法吗?或者最好的解决方案是什么?
我记得我在 Ubuntu 中做过类似的事情,在调用 apachectl 之前设置了全局变量 APACHE_CONFDIR
答案1
您应该能够告诉 Apache 在关闭时使用配置文件。
/usr/apache2/bin/apachectl -k stop -f /etc/apache2-instance2/httpd.conf
这将使它在PID的正确位置上看起来。