Django + Nginx + uWSGI:内部服务器错误

时间:2017-05-09 02:48:33

标签: python django nginx uwsgi

当我尝试获取我的网站时,我收到“内部服务器错误”。这就是日志文件中的内容:

Tue May  9 02:46:31 2017 - *** Starting uWSGI 1.9.17.1-debian (64bit) on [Tue May  9 02:46:31 2017] ***
Tue May  9 02:46:31 2017 - compiled with version: 4.8.2 on 23 March 2014 17:15:32
Tue May  9 02:46:31 2017 - os: Linux-3.13.0-48-generic #80-Ubuntu SMP Thu Mar 12 11:16:15 UTC 2015
Tue May  9 02:46:31 2017 - nodename: ip-172-31-24-23
Tue May  9 02:46:31 2017 - machine: x86_64
Tue May  9 02:46:31 2017 - clock source: unix
Tue May  9 02:46:31 2017 - pcre jit disabled
Tue May  9 02:46:31 2017 - detected number of CPU cores: 1
Tue May  9 02:46:31 2017 - current working directory: /
Tue May  9 02:46:31 2017 - writing pidfile to /run/uwsgi/app/landingpage/pid
Tue May  9 02:46:31 2017 - detected binary path: /usr/bin/uwsgi-core
Tue May  9 02:46:31 2017 - setgid() to 33
Tue May  9 02:46:31 2017 - setuid() to 33
Tue May  9 02:46:31 2017 - your processes number limit is 15926
Tue May  9 02:46:31 2017 - your memory page size is 4096 bytes
Tue May  9 02:46:31 2017 - detected max file descriptor number: 1024
Tue May  9 02:46:31 2017 - lock engine: pthread robust mutexes
Tue May  9 02:46:31 2017 - thunder lock: disabled (you can enable it with --thunder-lock)
Tue May  9 02:46:31 2017 - uwsgi socket 0 bound to UNIX address /run/uwsgi/app/landingpage/socket fd 3
Tue May  9 02:46:31 2017 - uwsgi socket 1 bound to UNIX address /tmp/landingpage.sock fd 5
Tue May  9 02:46:31 2017 - Python version: 2.7.6 (default, Jun 22 2015, 18:01:27)  [GCC 4.8.2]
Tue May  9 02:46:31 2017 - Set PythonHome to /home/ubuntu/landingpage/venv/
Tue May  9 02:46:31 2017 - *** Python threads support is disabled. You can enable it with --enable-threads ***
Tue May  9 02:46:31 2017 - Python main interpreter initialized at 0x24f5fa0
Tue May  9 02:46:31 2017 - your server socket listen backlog is limited to 100 connections
Tue May  9 02:46:31 2017 - your mercy for graceful operations on workers is 60 seconds
Tue May  9 02:46:31 2017 - mapped 291168 bytes (284 KB) for 3 cores
Tue May  9 02:46:31 2017 - *** Operational MODE: preforking ***
ImportError: Import by filename is not supported.
Tue May  9 02:46:31 2017 - unable to load app 0 (mountpoint='') (callable not found or import error)
Tue May  9 02:46:31 2017 - *** no app loaded. going in full dynamic mode ***
Tue May  9 02:46:31 2017 - *** uWSGI is running in multiple interpreter mode ***
Tue May  9 02:46:31 2017 - spawned uWSGI master process (pid: 12729)
Tue May  9 02:46:31 2017 - spawned uWSGI worker 1 (pid: 12736, cores: 1)
Tue May  9 02:46:31 2017 - spawned uWSGI worker 2 (pid: 12737, cores: 1)
Tue May  9 02:46:31 2017 - spawned uWSGI worker 3 (pid: 12738, cores: 1)

这是mys uWSGI配置文件:

[uwsgi]
project = landingpage
base = /home/ubuntu

chdir = %(base)/%(project)
home = %(base)/%(project)/venv/
module = %(base)/%(project).wsgi:application

logto=/var/log/uwsgi/%(project).log

master = true
processes = 3

socket = /tmp/%(project).sock
chmod-socket = 664
vacuum = true

老实说,我不知道我在这里缺少什么...

1 个答案:

答案 0 :(得分:2)

错误说:

  

ImportError:不支持按文件名导入。

导致行module = %(base)/%(project).wsgi:application,您使用unix文件路径表示法(/)而不是python(.)来定位wsgi应用程序。

尝试module = %(project).wsgi:application

编辑:

另外我遇到了问题,我的模块名称不是我项目的目录名。

我试过了:

module = myrealmodulename.wsgi:application

它有效!