Назад | Перейти на главную страницу

Порт 5000 OpenStack Keystone, используемый Python

Я следую официальной документации 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