Django项目在使用nginx和uwsigi发布后报告错误

问题描述 投票:1回答:1

输入域名进行访问后,浏览器显示内部服务器错误,此外,我检查了日志并得到以下错误信息,如果有人能给我一些建议,我将不胜感激

Thu Sep  6 18:02:36 2018 - unable to load app 0 (mountpoint='') (callable not found or import error)
Thu Sep  6 18:02:36 2018 - --- no python application found, check your startup logs for errors ---
{address space usage: 180469760 bytes/172MB} {rss usage: 6373376 bytes/6MB} [pid: 9609|app: -1|req: -1/7] 10.8.0.7 () {48 vars in 827 bytes} [Thu Sep  6 18:02:36 2018] GET /favicon.ico => generated 21 bytes in 0 msecs (HTTP/1.1 500) 2 headers in 83 bytes (0 switches on core 0)

我的django项目目录结构:

[root@openvpn conf]# ll /var/www/EWP_OMS
total 56
drwxr-xr-x 2 www www 4096 Sep  6 15:24 AUTH
drwxr-xr-x 3 www www 4096 Sep  6 15:24 CMDB
drwxr-xr-x 3 www www 4096 Sep  6 11:43 COBBER
drwxr-xr-x 2 www www 4096 Sep  6 18:01 EWP_OMS
-rw-r--r-- 1 www www  250 Jul 22  2016 manage.py
drwxr-xr-x 4 www www 4096 Sep  4 15:28 media
drwxr-xr-x 4 www www 4096 Sep  6 15:24 pagination
-rw-r--r-- 1 www www 7603 Jul 22  2016 README.md
-rw-r--r-- 1 www www   34 Sep  4 17:49 requirements.txt
drwxr-xr-x 3 www www 4096 Sep  6 15:25 SALT
drwxr-xr-x 6 www www 4096 Sep  4 15:28 static
drwxr-xr-x 6 www www 4096 Sep  4 15:28 templates
drwxr-xr-x 3 www www 4096 Sep  6 15:25 ZABBIX

[root@openvpn conf]#  ls /var/www/EWP_OMS/EWP_OMS/
config.ini  __init__.py  __init__.pyc  settings.py  settings.pyc  urls.py  urls.pyc  wsgi.py  wsgi.pyc

我是个i.朋友:

import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "EWP_OMS.settings")
application = get_wsgi_application()

uwsgi.ini:

[uwsgi]
uid = www
gid = www
socket = 0.0.0.0:9000
master = true
pidfile = /usr/local/nginx-1.6.3/uwsgi.pid
processes = 8
chdir = /var/www/EWP_OMS/
pythonpath = /var/www/EWP_OMS_ENV
profiler = true
memory-report = true
enable-threads = true
logdate = true
limit-as = 6048
daemonize = /var/log/nginx/django.log

/var/www/EWP_OMS_ENV是我的virtualenv环境目录,

我用这个命令来执行uwsgi:

uwsgi --ini /usr/local/nginx/conf/uwsgi.ini

nginx配置:

server {
    listen 80;
    server_name oms.ewp.com;
    location / {
        uwsgi_pass 127.0.0.1:9000;
        include uwsgi_params;
        uwsgi_param UWSGI_CHDIR /var/www/EWP_OMS;
        uwsgi_param UWSGI_SCRIPT EWP_OMS;
        access_log /var/log/nginx/ewp_oms.access.log;
    }
    location ~* ^.+\.(mpg|avi|mp3|swf|zip|tgz|gz|rar|bz2|doc|xls|xe|ppt|txt|tar|mid|midi|wav|rtf|mpeg)$ {
        root /var/www/EWP_OMS/static;
        access_log off;
    }
}
python django nginx uwsgi
1个回答
0
投票

您得到的错误(no python application found)意味着您应该将wsgi.py的位置添加到.ini文件中:

wsgi-file = EWP_OMS/wsgi.py

有关详细说明,请参阅uwsgi docs

© www.soinside.com 2019 - 2024. All rights reserved.