Nginx& Red Hat上的Unicorn - 系统重启时403错误,重启服务修复403错误

时间:2014-11-17 06:00:46

标签: ruby-on-rails ruby nginx redhat init.d

我有点像RHEL新手,但是经验丰富的Rails开发人员。我倾向于在Ubuntu服务器上或通过像Heroku这样的东西部署应用程序。最近,我提供应用程序的组织让他们的服务器进行例行维护以升级一些核心库。反过来,它使我的整个Ruby安装失败,并且一些init.d脚本不再按预期工作。我的应用环境是:

  • Ruby 2.1.5(2.0.0,刚刚升级)
  • Rails 3.2.14
  • 管理Unicorn和DelayedJob的上帝
  • Nginx作为Unicorn的代理

突然间,即使在更新Ruby之前,我们也遇到了可怕的403错误。将Ruby升级到2.1.5,并修复了所有其他问题。一切都很棒!

直到我重新启动。

重新启动时,所有服务都正常运行。 Nginx,上帝(推出Unicorn和DelayedJob)等......一切都很好。除了我得到403错误。

如果我登录服务器并输入sudo service nginx restart,则403错误会完全消失,一切都按预期工作。

我不希望必须登录每个服务器重新启动才重新启动进程。这似乎没必要。任何人都对它有什么想法?

如果您需要我提供任何文件,请告诉我 - 我会在这里修改它们。


编辑:这已经解决了。请参阅下面的答案。

1 个答案:

答案 0 :(得分:0)

我发现问题是由于从6.0升级到Red Hat Enterprise 6.6,导致SELinux强制执行更严格的安全策略。这对我来说很奇怪,因为另一个相同的服务器具有完全相同的设置,但除了在整个地方抛出403错误之外,它根本没有加载Nginx。

我也没有意识到操作系统已升级。

要修复此解决方案,请访问:http://nginx.com/blog/nginx-se-linux-changes-upgrading-rhel-6-6/