我有一个在 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")
似乎没有任何效果,我假设这是一个权限错误,但也许我错了,如果有人能指出我的任何方向,那将非常有帮助,因为我已经尝试了几天太长了,我没有新想法