2017-07-15 1 views
0

私はNginx、SupervisordのGunicornを実行しています。 Supervisordの起動後、ユーザとグループmy_user:my_userとのファイルgunicorn.sockが作成されます。ソケットファイルに接続できるようにNginxが必要gunicorn.sockソケットファイルのユーザとグループをmy_user:nginxに設定する方法はありますか?スーパーセットセットユーザ:プログラムのグループ

は私が[myprogram:program]に怒鳴る、この設定をしようとしたが、それは動作しません:

socket_owner=my_user:nginx 
chown=my_user:nginx 

マイsupervisord.confプログラム:

[myprogram:program] 
command = /var/www/project/virtual_env/bin/gunicorn -k gevent --worker-connections 1001 --bind=unix:gunicorn.sock -m 007 wsgi:application 
directory = /var/www/project/ 
autostart=true 
autorestart=unexpected 
+0

解決策を見つけましたか? – ssm

答えて

0

は、おそらくあなたは、同じユーザーとしてGunicornを実行できることNginxは?作成されたソケットは必要な所有権を持ちます。もちろん、アプリケーションディレクトリのアクセス権を調整する必要があるかもしれません。

スーパーバイザには、userディレクティブがあります。たとえば、Nginxがwww-dataユーザーとして実行されている場合、このスーパーバイザ構成を使用できます。

[myprogram:program] 
command = /var/www/project/virtual_env/bin/gunicorn -k gevent --worker-connections 1001 --bind=unix:gunicorn.sock -m 007 wsgi:application 
directory = /var/www/project/ 
user = www-data 
autostart=true 
autorestart=unexpected 

この結果、次の所有権とアクセス許可が得られます(その結果のグループは、ユーザーアカウントの構成によって異なります)。

# ls -lh gunicorn.sock 
srwxrwx--- 1 www-data www-data 0 Dec 24 22:43 gunicorn.sock 

Debian StretchのNginx、Gunicorn、Djangoでこれと同様のものが動作します。

関連する問題