找不到nginx django uwsgi页错误

时间:2017-02-27 09:14:19

标签: python django nginx uwsgi

我正在尝试在Nginx上设置uwsgi和Django,但显示找不到页面错误,错误日志为空。 我无法识别错误,因为错误日志为空。

错误日志/var/log/nginx/error.log

  

-rw-r - r-- 1 www-data root 0 Feb 26 12:31 error.log

uswgi运行正常,因为我通过以下方法对其进行了测试:

  

uwsgi --http:8080 --home / home / flybegins / python / django / venv / --chdir   / home / flybegins / python / django / sample -w sample.wsgi

virtual host 

    server {
        listen 80;
        server_name test.aaaaaaa.com;
        error_log  /var/log/nginx/error.log
        location /static/ {
            root /home/flybegins/python/django/sample/
        }

        location / {
            include         uwsgi_params;
            uwsgi_pass      unix:/home/flybegins/python/django/sample/sample.sock;
        } }

虚拟主机权限:

-rw-r--r-- 1 root root 333 Feb 27 08:54 test.aaaa.com

提前致谢!

3 个答案:

答案 0 :(得分:0)

您需要为uwsgi安装python插件

sudo apt-get install uwsgi-plugin-python

或用于python 3

sudo apt-get install uwsgi-plugin-python3

答案 1 :(得分:0)

您正在使用以下代码使用端口8080运行项目:

location / {
            include         uwsgi_params;
            uwsgi_pass      unix:/home/flybegins/python/django/sample/sample.sock;
        }

您正在尝试将NGINX绑定到使用此配置不存在的套接字文件:

CREATE TABLE #Table(id INT,tutor_id INT, login_time DATETIME, logout_time  
DATETIME)

INSERT INTO #Table(id ,tutor_id ,login_time,logout_time)
SELECT 1  ,12,'2017-02-20 11:20:20' ,'2017-02-20 12:10:00' UNION ALL
SELECT 2  ,13,'2017-02-20 11:25:20' ,'2017-02-20 12:20:00' UNION ALL
SELECT 3  ,12,'2017-02-20 13:20:20' ,'2017-02-20 13:50:00' UNION ALL
SELECT 4  ,13,'2017-02-20 12:30:20' ,'2017-02-20 12:50:00'UNION ALL 
SELECT 5  ,13,'2017-02-20 13:10:20' ,'2017-02-20 14:20:00'

SELECT tutor_id , EXTRACT(HOUR, login_time) ,     
DATEDIFF(MINUTE,login_time,logout_time)
FROM #Table

这就是为什么它不起作用。

答案 2 :(得分:0)

我犯了两个错误一个是nginx虚拟主机配置,另一个是套接字权限错误

uWSGI配置

[uwsgi]
project = prd
base = /home/flybegins/python/django

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

master = true
processes = 5

gid = www-data
uid = www-data

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

要创建套接字存在的空间,您只需选择一个持久目录(例如,不是/ run或/ tmp)并使www-data(用户nginx运行为)所有者,如下所示:

$ sudo mkdir /var/uwsgi
$ sudo chown www-data:www-data /var/uwsgi

我的nginx虚拟主机配置

server {
    listen 80;
    server_name testserver1.com;
    access_log /home/flybegins/log/python/testserver1.com/access.log;
    error_log /home/flybegins/log/python/testserver1.com/error.log error;

 location  /static {
      alias  /home/flybegins/python/django/prd/static_files/;
    }

  location / {
        include         uwsgi_params;
        uwsgi_pass      unix:/var/uwsgi/prd.sock;
    }


}