У мене є сервер з купою 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 у його нинішній формі.