uwsgi套接字权限

Han*_*pan 8 uwsgi

我在Ubuntu 12上运行的uwsgi遇到了一些权限问题.这是我的ini文件:

[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
Run Code Online (Sandbox Code Playgroud)

如您所见,我在套接字文件上运行chmod和chown.当我尝试加载我的网站时,我收到以下错误:

bind(): Permission denied [socket.c line 107]
Run Code Online (Sandbox Code Playgroud)

如果我跑,这就消失了

sudo chown -R www-data:www-data /run/uwsgi
Run Code Online (Sandbox Code Playgroud)

但是,当我重新启动服务器时,这不会持续存在.我假设这是因为uwsgi在启动时重新创建文件夹?有没有办法永久性地将权限应用于套接字?

Rob*_*ers 8

/run是一个tmpfs意味着它不会在重新启动后持久存在.创建一个/var/uwsgi持久的目录.