【发布时间】:2015-10-17 16:43:24
【问题描述】:
我正在尝试在我的服务器上设置一个 django 项目,但无法让它运行。我将 virtualenv、gunicorn 和 nginx 用于静态文件。我不确定我是不是错了。我目前的设置如下:
myenv
- project(my django project)
- bin(and all it contains)
- lib(and all it contains)
- include(and all it contains)
- gunicorn_config.py
gunicorn_config.py:
command = '/home/me/django/myenv/bin/gunicorn'
pythonpath = '/home/me/django/myenv/project'
bind = '127.0.0.1:80'
workers = 2
nginx 项目.conf:
upstream project_server {
server unix:/tmp/gunicorn_project.sock fail_timeout=0;
}
server {
listen 80;
client_max_body_size 4G;
# set the correct host(s) for your site
server_name project.com www.project.com;
keepalive_timeout 5;
# path for static files
root /home/me/django/myenv/assets;
location / {
# checks for static file, if not found proxy to app
try_files $uri @proxy_to_app;
}
location @proxy_to_app {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://project_server;
}
error_page 500 502 503 504 /500.html;
location = /500.html {
root /home/me/django/myenv/project/project/templates;
}
}
然后我运行以下命令来尝试启动它:
/home/me/django/myenv/bin/gunicorn -c /home/me/django/myenv/gunicorn_config.py project/project/wsgi.py
但它只是说“无法连接到 ('127.0.0.1', 80)”
【问题讨论】:
-
80 上没有 gunicorn 和 nginx 吗?你需要为 gunicorn 使用另一个端口。
-
这看起来与您需要的相当接近注意 gunicorn 在 8000 上。开始忽略很多东西,比如静态。此时您真的很关心 proxy_pass 指令。 goodcode.io/articles/django-nginx-gunicorn
标签: django python-2.7 nginx gunicorn