2

メインアプリとデプロイヤーアプリで構成されるcentOSボックスで実行されているマルチアプリシステムがあります。クライアントがアプリの新しいインスタンスを必要とする場合、クライアントはデプロイヤーを使用し、情報を入力すると、サーバー上に新しいインストールが作成されます。私が抱えている問題は、nginxに設定ファイルを自動的にリロードさせることができないことです。そのため、新しいアプリにアクセスしたときにデプロイした後、手動でリロードするまで404を受け取ります。

chmod / opt / nginx / sbin / nginxを777に、インストールスクリプトとデプロイヤーアプリを777にchmodするなど、いくつかの異なる方法を試しました。

スクリプトは次のようになります。

#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

私はここの指示に従いました:sudoなしでnginxを再起動しますか?sudoパスワードなしで実行するスクリプトを作成し、これを試してみました。

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

何も機能していないようです。これは権限エラーだと思いますが、間違っているかもしれません。誰かが私を任意の方向に向けることができれば、これを数日間理解しようとしているので、非常に役立ちます。長すぎて、私は新しいアイデアから新鮮です

4

1 に答える 1

-1

sudo /etc/init.d/nginx reload

于 2013-03-04T21:10:21.227 に答える