【问题标题】:Reloading nginx config from within a rails app从 Rails 应用程序中重新加载 nginx 配置
【发布时间】:2013-02-18 22:51:36
【问题描述】:

我有一个在 centOS 机器上运行的多应用系统,它由我们的主应用和部署应用组成。当客户想要我们应用程序的新实例时,他们会使用我们的部署程序,填写一些信息,然后在我们的服务器上创建新的安装。我遇到的问题是我无法让 nginx 自动重新加载它的配置文件。因此,在部署后访问新应用程序时,我们会收到 404,直到我手动重新加载。

我尝试了几种不同的方法,包括 chmod /opt/nginx/sbin/nginx 到 777,chmod 安装脚本和部署应用程序到 777,

脚本如下:

#create install directory -- works correctly
#copy files over -- works correctly
#run install script
##-- and then at this point i've tried multiple lines, including:
system("nginx -s reload") ## this works manually
system("/etc/init.d/nginx reload") ## this works manually

我已经按照这里的指示:Restart nginx without sudo? 创建了一个无需 sudo 密码即可运行的脚本,然后尝试了这个:

system("sudo /var/www/vhosts/deployer/lib/nginx_reload")

似乎没有任何效果,我假设这是一个权限错误,但也许我错了,如果有人能指出我的任何方向,那将非常有帮助,因为我一直在努力解决这个问题几天太长了,我没有新想法

【问题讨论】:

  • 感谢您的建议,我明白了,我们的服务器权限混乱,nginx 以不同的用户身份运行,而不是作为乘客运行的用户,而不是作为不同用户运行的部署者该应用程序,在玩了一段时间后,我已经让它工作了

标签: ruby-on-rails linux nginx


【解决方案1】:

sudo /etc/init.d/nginx reload

【讨论】:

    猜你喜欢
    • 2011-04-05
    • 2014-02-13
    • 1970-01-01
    • 2014-03-20
    • 1970-01-01
    • 2018-05-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-09
    相关资源
    最近更新 更多