讀古今文學網 > OpenStack系統架構設計實戰 > 11.2.2 啟動 >

11.2.2 啟動

Keystone服務的啟動有兩種方式,一是通過bin/keystone-all腳本進行啟動,其啟動命令如下:

nohup python /opt/stack/keystone/bin/keystone –all \--config-file /etc/keystone/keystone.conf \--log-config /etc/keystone/loggong.conf \-d –debug >$logfile 2>&1 &

這種啟動通過執行Keystone-all腳本文件來啟動Keystone服務。Keystone-all腳本文件的主要的代碼如下:

options = deploy.appconfig(『config:%s』 % CONF.config_file[0])servers = servers.append(create_server(CONF.config_file[0],『admin』,CONF.bind_host, int(CONF.admin_port)))servers.append(create_server(CONF.config_file[0],『main』,CONF.bind_host, int(CONF.public_port)))serve(*servers)

另一種方式是在使用Devstack進行OpenStack部署時,Keystone是作為Apache的一個模塊隨Apache服務的啟動而啟動的。此時,使用screen進行開發調試時,就需要通過重啟Apache服務來運行新的Keystone代碼。這時,使用mod_wsgi(https://code.google.com/p/modwsgi/),通過Apache訪問WSGI應用啟動Keystone。WSGI在/etc/apache2/sites-available/keystone.conf文件中的配置如下:

<Virtualhost *: 5000>WSGIDaemonprocess keystone-public processes=5 threads=1 user=daveWSGIProcessGroup keystone-publicWSGIScriptAlias / /var/www/keystone/mainWSGIApplicat1onGroup %{GLOBAL}ErrorLog /var/log/apache2/keystoneLogLeve1 debugCustomLog /var/1og/apache2/access.log combined</VirtualHost><VirtualHost *: 35357)WSGIDaemonPrOcess keystone-admin processes=5 threads=1 user=daveWSGIProcessGroup keystone- adminWSGIScriptAlias / /var/www/keystone/adminWSGIApplicat1onGroup %{GLOBAL}ErrorLog /var/log/apache2/keystoneLogLeve1 debugCustomLog /var/1og/apache2/access.log combined</VirtualHost>

不管哪種啟動方式,Keystone都需啟動兩個服務,分別是監聽5000端口的公共服務和監聽35357端口的管理服務。

Listen 5000Listen 35357