У меня есть сервер с кучей IP-адресов, и я хочу, чтобы Apache прослушивал только один из них. Это не кажется трудным делом, и я делал это раньше, но на этот раз у меня возникли проблемы. Прежде всего, вот где я сейчас, насколько я понимаю:
В любом месте Apache прослушивает порт 80, он прослушивает только правильный IP.
/etc/apache2$ grep -R ":80" .
./sites-available/default:<VirtualHost 192.168.0.82:80>
./httpd.conf:<VirtualHost 192.168.0.82:80>
./ports.conf:NameVirtualHost 192.168.0.82:80
./sites-enabled/000-default:<VirtualHost 192.168.0.82:80>
Там нет упоминания о прослушивании на 0.0.0.0.
/etc/apache2$ grep -R "0\.0\.0\.0" .
И все же ... Apache отказывается запускаться.
/etc/apache2$ sudo /etc/init.d/apache2 start
* Starting web server apache2
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
[fail]
Если кто-то спросит, я не связан с этим адресом:
/etc/apache2$ sudo netstat -nap | grep :80
tcp 0 0 192.168.0.83:80 0.0.0.0:* LISTEN 2822/node
Журнал ошибок /var/log/apache2/error.logпросто говорит:
[Wed Aug 08 03:30:18 2012] [notice] caught SIGTERM, shutting down
Я пропустил место в конфигурации Apache? Есть ли что-то, что я не помню, чтобы искать? Почему это не так просто, как я помнил?
Listen 192.168.0.82:80строку, которая мне и была нужна. Я выбрал ответ cjc, потому что он углубился в вопрос о том , зачем нужна эта строка. Я подумал, что упоминание комментариев, используемых в версии Apache, которая поставляется в комплекте с CentOS, было хорошим дополнением. Но поскольку все, похоже, в целом согласны с тем, что ответ должен идти к Пауске, я пошел дальше и дал его ему. В конце концов, я заметил, увидев исправления, что комментарий Паушки значительно повлиял на ответ cjc в его нынешнем виде.