Django uWSGI Nginx

Posted

技术标签:

【中文标题】Django uWSGI Nginx【英文标题】: 【发布时间】:2014-05-31 15:37:07 【问题描述】:

我正在学习本教程,但我遇到了一个问题,我收到了 502 nginx 错误。

tutorial link

我检查了错误日志,它说

uwsgi.log

ImportError: 没有名为 khcards.wsgi 的模块

我的 uwsgi 文件是这样的

[uwsgi]
# variables
projectdomain = khcardsonline.co.uk www.khcardsonline.co.uk

uid = www-data
god = www-data
chmod = 775
# config
plugins = python
master = true
pidfile=/tmp/project-master.pid
chdir = /var/www/example.com/src/khcards
protocol = uwsgi
env = DJANGO_SETTINGS_MODULE=khcards.settings
home = /var/www/example.com/env
pythonpath = /var/www/example.com/src/khcards
module = khcards.wsgi:application
socket = 127.0.0.1:8889
logto = /var/www/example.com/logs/uwsgi.log
#below line runs it as a daemon in background
daemonize = /var/log/uwsgi/khcards.log

我的 nginx.conf

服务器 听 80; server_name 域 www.domain.co.uk; 根 /var/www/example.com/src/khcards; access_log /var/www/example.com/logs/access.log; error_log /var/www/example.com/logs/error.log;

location /static/  # STATIC_URL
    alias /var/www/example.com/src/static/static/; # STATIC_ROOT
    expires 30d;


location /media/  # MEDIA_URL
    alias /var/www/example.com/src/media/; # MEDIA_ROOT
    expires 30d;


location / 
    include uwsgi_params;
    uwsgi_pass 127.0.0.1:8889;

当我跑步时

sudo 服务 uwsgi 重启

终端吐出来

正在重启应用服务器 uwsgi [ OK ]​​i>

但是当我这样做时

sudo 服务 nginx 重启

终端吐出来

Restarting nginx: nginx.

这是否意味着 Nginx 配置不正确?

【问题讨论】:

【参考方案1】:

尝试改变

chdir = /var/www/example.com/src/khcards

chdir = /var/www/example.com/src

【讨论】:

这是一个正确的答案。不知道为什么没有被标记为正确

以上是关于Django uWSGI Nginx的主要内容,如果未能解决你的问题,请参考以下文章

Django + Uwsgi + Nginx 实现生产环境部署

uWSGI实战之Django配置经验

Nginx+uWSGI+Django部署web服务器

Django + Uwsgi + Nginx 实现生产环境部署

Django + Uwsgi + Nginx 实现生产环境部署

使用uWSGI部署django项目