Я следую официальной документации OpenStack, чтобы создать свою первую среду, и застрял в настройке Keystone (последний шаг из http://docs.openstack.org/kilo/install-guide/install/apt/content/keystone-install.html)
При попытке перезапустить apache я получаю сообщение об ошибке об использовании порта 5000
* Restarting web server apache2
(98)Address already in use: AH00072: make_sock: could not bind to address [::]:5000
(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:5000
no listening sockets available, shutting down
AH00015: Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
Netstat сообщает, что порт используется Python, и дальнейшие исследования показывают, что он каким-то образом связан с Keystone.
/usr/bin/python /usr/bin/keystone-all --config-file=/etc/keystone/keystone.conf --log-file=/var/log/keystone/keystone.log
Как мне поступить в этой ситуации? Перенастроить apache для использования другого порта или попытаться использовать Python для использования другого порта?
РЕДАКТИРОВАТЬ
Ссылаясь на https://ask.openstack.org/en/question/47137/devstack-fails-to-start-apache2-address-already-in-use-could-not-bind-to-address/ Я модифицировал /etc/apache2/sites-available/wsgi-keystone.conf
из <VirtualHost *:5000>
к <VirtualHost *:80>
, но ошибка не исчезла. Сообщение прямо сейчас
* Restarting web server apache2
(98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
(98)Address already in use: AH00072: make_sock: could not bind to address [::]:35357
(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:35357
no listening sockets available, shutting down
AH00015: Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
Журнал ошибок Apache явно пуст, поэтому я не могу найти что-нибудь полезное.
Вы видите ошибку, потому что Keystone работает с устаревшим Eventlet, поэтому он прослушивает порт 5000
. Чтобы заставить его работать с Apache, вы должны прежде остановить и отключить службу Keystone. Keystone не будет выполняться как служба, так как он будет выполняться как приложение WSGI в Apache с использованием mod_wsgi
.
Итак, чтобы все заработало, откатите свою конфигурацию, чтобы у вас <VirtualHost *:5000>
очередной раз. Затем остановите и отключите keystone
service и перезапустите Apache:
service keystone stop
update-rc.d keystone disable
service apache2 restart