2014-11-17 68 views
0

我是一位RHEL新手,但是一位經驗豐富的Rails開發人員。我傾向於在Ubuntu服務器上或通過類似Heroku的應用程序部署應用程序。最近,我提供應用程序的組織已經對其服務器進行了日常維護,以升級一些核心庫。反過來,它會執行我的整個Ruby安裝,並且一些init.d腳本不再按預期工作。我的應用環境是:Red Hat上的Nginx和Unicorn - 403系統重啓時出錯,重新啓動服務修復403錯誤

  • 紅寶石2.1.5(2.0.0是,剛剛升級)
  • 的Rails 3.2.14
  • 神管理獨角獸和DelayedJob
  • 的Nginx作爲代理的獨角獸

突然之間,即使在更新Ruby之前,我們也遇到了可怕的403錯誤。將Ruby升級到2.1.5,並解決了所有其他問題。一切都很好!

直到我重新啓動。

當我重新啓動時,所有服務都正常運行。 Nginx,God(推出Unicorn和DelayedJob)等等......都很好。除了我得到403錯誤。

如果我登錄到服務器並鍵入sudo service nginx restart,則403錯誤完全消失,並且所有內容都按預期工作。

我不想登錄每一個服務器重新啓動只是爲了重新啓動過程。這似乎真的沒有必要。任何人有任何想法可能是什麼?

如果您需要我提供任何文件,請讓我知道 - 我會在這裏修改它們。


編輯:此問題已解決。請參閱下面的答案。

回答

0

我發現問題是由於從6.0升級到Red Hat Enterprise 6.6,導致SELinux執行更嚴格的安全策略。對我來說很奇怪,因爲另一臺相同的服務器具有完全相同的設置,但除了在整個地方拋出403錯誤之外,根本沒有加載Nginx。

我也不知道操作系統已升級。

欲瞭解此解決方案,請訪問:http://nginx.com/blog/nginx-se-linux-changes-upgrading-rhel-6-6/