uWSGI上的端口上的django应用

时间:2019-05-13 09:19:14

标签: django nginx uwsgi

如果直接在端口上运行,我的django应用程序之一运行正常

# uwsgi --http :8000 --home /home/hsn/Env/site --chdir /home/hsn/djangy/site -w Blog.wsgi

但是,当我通过带有套接字的反向代理设置在网络服务器上运行它时,会出现内部服务器错误

套接字配置有什么问题吗?需要我改用port方法吗?

这是我的应用程序的树形结构。

# tree -L 2 djangy/site/
djangy/site/
├── account
│   ├── admin.py
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   ├── models.py
│   ├── templates
│   ├── tests.py
│   ├── urls.py
│   └── views.py
├── apps
│   ├── blog
│   ├── blogs
│   ├── gallery
│   ├── __init__.py
│   ├── myapp
│   ├── mysensing
│   ├── __pycache__
│   └── qrcreate
├── Blog
│   ├── __init__.py
│   ├── __pycache__
│   ├── settings.py
│   ├── static
│   ├── urls.py
│   ├── views.py
│   └── wsgi.py
├── db.sqlite3
├── images
│   ├── preview2.2.png
│   └── preview.png
├── LICENSE.md
├── manage.py

uWSGI站点配置

# cat site.ini
[uwsgi]
project = site
uid = hsn
base = /home/%(uid)

chdir = %(base)/djangy/%(project)
home = %(base)/Env/%(project)
module = %(project).Blog.wsgi:application

master = true
processes = 5

socket = /run/uwsgi/%(project).sock
chown-socket = %(uid):www-data
chmod-socket = 660
vacuum = true
req-logger = file:/tmp/reqlog
logger = file:/tmp/errlog

nginx网站配置

# cat site.conf
server {
    listen 80;
    server_name site.vm www.site.vm;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/hsn/djangy/site;
    }

    location / {
        include         uwsgi_params;
        uwsgi_pass      127.0.0.1:8000;
    }
}

如果我长时间列出套接字文件,它在文件名旁边也显示=符号

# ls -l /run/uwsgi/site.sock 
srw-rw---- 1 hsn www-data 0 May 13 09:15 /run/uwsgi/site.sock=

这意味着什么吗?

现在的问题是,如果套接字不起作用,我应该通过uwgsi转到port方法吗?以及怎么做呢?

读取/tmp/errlog文件时出现此错误

--- no python application found, check your startup logs for errors ---

1 个答案:

答案 0 :(得分:0)

好吧,我尝试使用不同的参数,看来问题出在site.ini文件

我替换的指令需求是

module = %(project).Blog.wsgi:applicationmodule = Blog.wsgi