На моем сервере (Solaris 10) установлены два экземпляра Apache:
Экземпляр 1: / и т.д. / apache2
Экземпляр 2: / и т.д. / 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, установив глобальную переменную APACHE_CONFDIR перед вызовом apachectl
Вы должны иметь возможность указать Apache использовать файл конфигурации при завершении работы.
/usr/apache2/bin/apachectl -k stop -f /etc/apache2-instance2/httpd.conf
это заставит его выглядеть в правильном месте для PID.