Python 无法获得运行uWSGI的权限

Python 无法获得运行uWSGI的权限,python,ubuntu,nginx,uwsgi,Python,Ubuntu,Nginx,Uwsgi,我花了很长时间试图让Ubuntu+uWSGI+nginx作为我的web服务器运行 下面是我的配置,以及我的emperon.log文件中的信息: nginx配置: server { listen 80; server_name localhost; charset utf-8; client_max_body_size 5M; location / { try_files $uri @cc; } location @c

我花了很长时间试图让Ubuntu+uWSGI+nginx作为我的web服务器运行

下面是我的配置,以及我的emperon.log文件中的信息:

nginx配置:

server {
    listen        80;
    server_name   localhost;
    charset       utf-8;
    client_max_body_size 5M;

    location / { try_files $uri @cc; }
    location @cc {
        include uwsgi_params;
        uwsgi_pass unix:/tmp/cc/cc_uwsgi.sock;
    }
}
uwsgi配置:

[uwsgi]
base = /srv/www/cc

app = hello
module = %(app)

socket = /tmp/cc/%n.sock

chmod-socket = 664
uid = www-data
gid = www-data

callable = app

logto = /var/log/uwsgi/%n.log
皇帝配置:

#/etc/init/uwsgi.conf

description "uWSGI"
start on runlevel [2345]
stop on runlevel [06]
respawn

env UWSGI=/home/ccadmin/.local/bin/uwsgi
env LOGTO=/var/log/uwsgi/emperor.log

exec $UWSGI --master --emperor /etc/uwsgi/vassals --die-on-term --uid www-data --gid www-data --logto $LOGTO
但是,通过此配置,我的emperon.log文件显示:

execvp(): Permission denied [core/emperor.c line 1481]
[emperor] binary path: /home/ccadmin/.local/bin/uwsgi
[emperor] is the uwsgi binary in your system PATH ?
TIME STAMP - [emperor] curse the uwsgi instance cc_uwsgi.ini (pid: ####)
TIME STAMP - [emperor] removed uwsgi instance cc_uwsgi.ini
如果我将--uid和--gid更改为root,那么一切正常。这一定是一些简单的权限问题,但对于linux来说是新手,我发现很难确定


同样奇怪的是,它问我关于我的系统路径中的uwsgi二进制文件。。。它应该在那里吗?因为我已将/home/ccadmin/.local/bin添加到/etc/environment中的系统路径中。它不应该在那里吗?还是应该一直到二进制?(即,添加/home/ccadmin/.local/bin/uwsgi insetad of just to/bin)

做了几件事来实现这一点:

sudo chown -R ccadmin:www-data /home/ccadmin/
sudo chmod -R 774 /home/ccadmin/
现在皇帝可以使用uwsgi二进制文件了,一切都很好


我很好奇上面提到的是否是一个安全问题,尽管我对linux知之甚少

这应该是775!