2012-10-08 19 views
7

私のiniファイルです:あなたは、私はソケットファイルにchmodコマンドとchownコマンドを実行しています、見ることができるようにuwsgiソケット権限

[uwsgi] 
project = djangorpoject 
base_dir = /home/mysite/mysite.com 

uid = www-data 
gid = www-data 
plugins = http,python 

processes = 4 
harakiri = 60 
reload-mercy = 8 
cpu-affinity = 1 
max-requests = 2000 
limit-as = 512 
reload-on-as = 256 
reload-on-rss = 192 
no-orphans = True 
#vacuum = True 
master = True 

logto = /var/log/uwsgi/%n.log 
#daemonize = /var/log/uwsgi/%n.log 
#catch-exceptions 
disable-logging 

virtualenv = %(base_dir)/venv 
chdir = %(base_dir) 
module = %(project).wsgi:application 

socket = /run/uwsgi/%n.sock 
chmod-socket = 666 
chown-socket = www-data:www-data 

。私は

sudo chown -R www-data:www-data /run/uwsgi 

を実行する場合

bind(): Permission denied [socket.c line 107] 

これが消えるしかし、私は自分のサーバーを再起動したときに、これは持続しません:私は、私のサイトをロードしようとすると、私は次のエラーを取得しています。これは、uwsgiがブート時にフォルダを再作成していることを前提としていますか?パーミッションをソケットに永久に適用する方法はありますか?

答えて

8

/runは、tmpfsです。つまり、再起動しても永続化されません。代わりに永続的なディレクトリ/var/uwsgiを作成してください。

+0

私はこれを試しましたが、うまくいかないようです。/var/runは/ runと同じであるように見えますが、シンボリックリンクされていますか? – Hanpan

+0

@ハンパン、あなたは私がチェックしたはずのものです。私は答えを編集しました。 –