我已经在SO上看到了很多关于这个主题的问题,我尝试了尽可能多的方法,但它仍然没有为我解决问题所以我希望这篇文章可能会有所帮助.
我正在关注本网站的教程,以便在uWSGI上建立关于Nginx的Django:http://www.oliverelliott.org/article/computing/tut_setup_nginx_django/
uwsgi.ini文件
[uwsgi]
chdir=/home/ec2-user/project/awssite
module=awssite.wsgi
home=/home/ec2-user/project
master=true
processes=2
socket=/home/ec2-user/project/awssite/awssite.socket
chmod-socket=666
vacuum=true
Run Code Online (Sandbox Code Playgroud)
等/ nginx的/启用的站点 - /awssite_nginx.conf
upstream django {
server unix:///home/ec2-user/project/awssite/awssite.socket;
}
server {
listen 8080;
server_name localhost;
charset utf-8;
#max upload size
client_max_body_size 75M;
#Django media
location /media {
alias /home/ec2-user/project/awssite/awssite/media;
}
location /static {
alias /home/ec2-user/project/awssite/awssite/static;
}
location /favicon.ico {
log_not_found off;
}
location / {
uwsgi_pass django;
include /home/ec2-user/project/awssite/uwsgi_params;
}
}
Run Code Online (Sandbox Code Playgroud)
这是错误代码 /var/log/nginx/error.log
2016/02/15 01:21:22 [crit] 22159#0: *3 connect() to unix:///home/ec2-user/project/awssite/awssite.socket failed (13: Permission denied) …
Run Code Online (Sandbox Code Playgroud) 我在 NGINX + uWSGI 中设置了 Django。我能够在我当前登录的用户下正常运行(在几天前我问过的一个问题的帮助下),但现在我想以访问受限的用户身份运行uwsgi --ini uwsgi.ini
。
这是我到目前为止所做的:
1. 创建了一个djangouser
没有登录访问权限和主目录的用户。
2. 将用户添加nginx
到组djangouser
3. 将我的 django 文件放入/mnt/django
目录并将文件权限更改django
为drwxrwx--- djangouser djangouser
(递归)
4. 更改 conf 文件以匹配文件位置
uwsgi.ini 文件
[uwsgi]
chdir=/mnt/django/project/awssite
module=awssite.wsgi
home=/mnt/django/project
master=true
processes=2
uid=djangouser
gid=djangouser
socket=/mnt/django/djangosocket/awssite.socket
chmod-socket
vacuum=true
Run Code Online (Sandbox Code Playgroud)
当我尝试运行时uwsgi --ini uwsgi.ini
,这是我得到的错误
[uWSGI] getting INI configuration from uwsgi.ini
*** Starting uWSGI 2.0.12 (64bit) on [Thu Feb 18 00:18:25 2016] ***
compiled with version: …
Run Code Online (Sandbox Code Playgroud)