解決搭建官方openstack時遇到的服務器報錯Internal Server Error 返回狀態500The server encountered an internal error

這是登錄dashboard時出現的報錯

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.

這是大致翻譯:

內部服務器錯誤
服務器遇到內部錯誤或配置錯誤,無法完成您的請求。
請與root@localhost的服務器管理員聯繫,通知他們發生此錯誤的時間,以及您在此錯誤之前執行的操作。
有關此錯誤的更多信息可在服務器錯誤日誌中獲得。

然後我就嘗試了幾次還是不行,還是返回500報錯
於是 我便去查看了我的httpd服務的配置文件,之前研究httpd時遇到過類似的問題,把下面這個給註釋掉就可以了

[root@controller openstack-dashboard]# cd /etc/httpd/conf/
[root@controller conf]# ls
httpd.conf  magic
[root@controller conf]# pwd
/etc/httpd/conf
[root@controller conf]# 
[root@controller conf]# ls
httpd.conf  magic
[root@controller conf]# vi httpd.conf 
     LoadModule foo_module modules/mod_foo.so

但是這次註釋也不行了。於是便直接查看httpd的日誌文件。畢竟查看日誌就能首先知道問題出在哪裏。雖然有可能一時無法解決
但是我們可以明白髮生錯誤的原因在哪裏

在這裏插入圖片描述

下面開始查看我們的日誌

[root@controller httpd]# ls
conf  conf.d  conf.modules.d  logs  modules  run
[root@controller httpd]# cd logs/
[root@controller logs]# ls
access_log  error_log  keystone-access.log  keystone-error.log
[root@controller logs]# pwd
/etc/httpd/logs
[root@controller logs]# cat error_log | tail -n 20
[Thu May 16 14:28:55.291742 2019] [:error] [pid 9305] [remote 192.168.217.1:228]     __import__(name)
[Thu May 16 14:28:55.291746 2019] [:error] [pid 9305] [remote 192.168.217.1:228]   File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/settings.py", line 365, in <module>
[Thu May 16 14:28:55.291757 2019] [:error] [pid 9305] [remote 192.168.217.1:228]     '.secret_key_store'))
[Thu May 16 14:28:55.291761 2019] [:error] [pid 9305] [remote 192.168.217.1:228]   File "/usr/lib/python2.7/site-packages/horizon/utils/secret_key.py", line 54, in generate_or_read_from_file
[Thu May 16 14:28:55.291768 2019] [:error] [pid 9305] [remote 192.168.217.1:228]     with lock:
[Thu May 16 14:28:55.291771 2019] [:error] [pid 9305] [remote 192.168.217.1:228]   File "/usr/lib/python2.7/site-packages/fasteners/process_lock.py", line 174, in __enter__
[Thu May 16 14:28:55.291778 2019] [:error] [pid 9305] [remote 192.168.217.1:228]     self.acquire()
[Thu May 16 14:28:55.291782 2019] [:error] [pid 9305] [remote 192.168.217.1:228]   File "/usr/lib/python2.7/site-packages/fasteners/process_lock.py", line 151, in acquire
[Thu May 16 14:28:55.291788 2019] [:error] [pid 9305] [remote 192.168.217.1:228]     self._do_open()
[Thu May 16 14:28:55.291791 2019] [:error] [pid 9305] [remote 192.168.217.1:228]   File "/usr/lib/python2.7/site-packages/fasteners/process_lock.py", line 123, in _do_open
[Thu May 16 14:28:55.291797 2019] [:error] [pid 9305] [remote 192.168.217.1:228]     self.lockfile = open(self.path, 'a')
[Thu May 16 14:28:55.291861 2019] [:error] [pid 9305] [remote 192.168.217.1:228] IOError: [Errno 13] Permission denied: '/usr/share/openstack-dashboard/openstack_dashboard/local/_usr_share_openstack-dashboard_openstack_dashboard_local_.secret_key_store.lock'

重點已經出來了
請認真查看最後一行

[Thu May 16 14:28:55.291861 2019] [:error] [pid 9305] [remote 192.168.217.1:228] IOError: [Errno 13] Permission denied: '/usr/share/openstack-dashboard/openstack_dashboard/local/_usr_share_openstack-dashboard_openstack_dashboard_local_.secret_key_store.lock'

原因就是
IOError: [Errno 13] Permission denied:
拒絕我們的 /usr/share/openstack-dashboard/openstack_dashboard/local/usr_share_openstack-dashboard_openstack_dashboard_local.secret_key_store.lock’ 這個目錄

那麼我們便着手解決這個問題,我們就直接給它appache的所屬用戶、者的權限


[root@controller logs]# chown -R apache:apache   /usr/share/openstack-dashboard/

然後再重啓我們的httpd服務和我們的會話緩存服務。

[root@controller logs]# systemctl restart httpd
[root@controller logs]# systemctl restart memcached
[root@controller logs]# 


下面可以看到我們的所有服務一切正常啓動

[root@controller logs]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/httpd.service.d
           └─openstack-dashboard.conf
   Active: active (running) since Thu 2019-05-16 14:38:48 EDT; 18min ago
     Docs: man:httpd(8)
           man:apachectl(8)
  Process: 9574 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)
  Process: 9610 ExecStartPre=/usr/bin/python /usr/share/openstack-dashboard/manage.py compress --force (code=exited, status=0/SUCCESS)
  Process: 9590 ExecStartPre=/usr/bin/python /usr/share/openstack-dashboard/manage.py collectstatic --noinput --clear (code=exited, status=0/SUCCESS)
 Main PID: 9633 (httpd)
   Status: "Total requests: 11; Current requests/sec: 0; Current traffic:   0 B/sec"
   CGroup: /system.slice/httpd.service
           ├─9633 /usr/sbin/httpd -DFOREGROUND
           ├─9635 /usr/sbin/httpd -DFOREGROUND
           ├─9636 (wsgi:keystone- -DFOREGROUND
           ├─9637 (wsgi:keystone- -DFOREGROUND
           ├─9638 (wsgi:keystone- -DFOREGROUND
           ├─9639 (wsgi:keystone- -DFOREGROUND
           ├─9640 (wsgi:keystone- -DFOREGROUND
           ├─9641 (wsgi:keystone- -DFOREGROUND
           ├─9642 (wsgi:keystone- -DFOREGROUND
           ├─9643 (wsgi:keystone- -DFOREGROUND
           ├─9644 (wsgi:keystone- -DFOREGROUND
           ├─9645 (wsgi:keystone- -DFOREGROUND
           ├─9646 /usr/sbin/httpd -DFOREGROUND
           ├─9647 /usr/sbin/httpd -DFOREGROUND
           ├─9648 /usr/sbin/httpd -DFOREGROUND
           ├─9649 /usr/sbin/httpd -DFOREGROUND
           ├─9650 /usr/sbin/httpd -DFOREGROUND
           ├─9737 /usr/sbin/httpd -DFOREGROUND
           ├─9738 /usr/sbin/httpd -DFOREGROUND
           ├─9739 /usr/sbin/httpd -DFOREGROUND
           ├─9740 /usr/sbin/httpd -DFOREGROUND
           └─9741 /usr/sbin/httpd -DFOREGROUND

May 16 14:38:33 controller python[9590]: Copying '/usr/share/javascript/jquery_ui/ui/minified/i18n/jquery.ui.datepicker-tr.min.js'
May 16 14:38:33 controller python[9590]: Copying '/usr/share/javascript/jquery_ui/ui/minified/i18n/jquery.ui.datepicker-hr.min.js'
May 16 14:38:33 controller python[9590]: Copying '/usr/share/javascript/jquery_ui/ui/minified/i18n/jquery.ui.datepicker-uk.min.js'
May 16 14:38:33 controller python[9590]: Copying '/usr/share/javascript/jquery_ui/ui/minified/i18n/jquery.ui.datepicker-hu.min.js'
May 16 14:38:33 controller python[9590]: Copying '/usr/share/javascript/jquery_ui/ui/minified/i18n/jquery.ui.datepicker-vi.min.js'
May 16 14:38:33 controller python[9590]: Copying '/usr/share/javascript/jquery_ui/ui/minified/i18n/jquery.ui.datepicker-hy.min.js'
May 16 14:38:33 controller python[9590]: Copying '/usr/share/javascript/jquery_ui/ui/minified/i18n/jquery.ui.datepicker-zh-CN.min.js'
May 16 14:38:33 controller python[9590]: Copying '/usr/share/javascript/jquery_ui/ui/minified/i18n/jquery.ui.datepicker-id.min.js'
May 16 14:38:33 controller python[9590]: Copying '/usr/share/javascript/jquery_ui/ui/minified/i18n/jquery.ui.datepicker-zh-HK.min.js'
May 16 14:38:48 controller systemd[1]: Started The Apache HTTP Server.
[root@controller logs]# 
[root@controller logs]# systemctl status memcached
● memcached.service - Memcached
   Loaded: loaded (/usr/lib/systemd/system/memcached.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2019-05-16 14:38:57 EDT; 18min ago
 Main PID: 9706 (memcached)
   CGroup: /system.slice/memcached.service
           └─9706 /usr/bin/memcached -u memcached -p 11211 -m 64 -c 1024

May 16 14:38:57 controller systemd[1]: Started Memcached.
May 16 14:38:57 controller systemd[1]: Starting Memcached...
[root@controller logs]# 

那麼我們再次刷新我們的dashboard,果然報錯解決了

在這裏插入圖片描述

重點就在於把擁有者的權限給他

[root@controller logs]# chown -R apache:apache   /usr/share/openstack-dashboard/

好了 下面便可以繼續我們的openstack搭建了。
搭建的時候 還有一點需要注意的就是
配置我們的dashboard文件時,一定要注意,把其他的會話給註銷掉

root@controller logs]# cd /etc/openstack-dashboard/
[root@controller openstack-dashboard]# ls
ceilometer_policy.json  glance_policy.json  keystone_policy.json  local_settings.rpmsave  nova_policy.json
cinder_policy.json      heat_policy.json    local_settings        neutron_policy.json
[root@controller openstack-dashboard]# vi local_settings

在這裏插入圖片描述
把其他的會話給註釋掉就可以啦。

遇到報錯不可怕。要嘗試查看日誌,而且現在日誌都比較人性化了,分類上也特別詳細。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章