使用gunicorn和nginx部署django应用程序

时间:2017-01-19 20:22:58

标签: django postgresql nginx gunicorn ubuntu-16.04

好的,所以我现在已经做了一段时间了,我知道很多人都有类似的问题,但我似乎找不到合适的解决方案。

无论如何,我完全按照数字海洋上的布局来阅读教程

https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04

当我用

测试gunicorn时,一切正常
gunicorn --bind 0.0.0.0:8000 myproject.wsgi:application

然而,当我创建一个systemd文件并尝试使用nginx创建代理传递时,我收到502错误的网关错误。

我跑的时候:

sudo tail -f /var/log/nginx/error.log 

我收到错误消息:

15:18:39 [crit] 10558#10558: *1 connect() to unix:/home/bmhinformatics/Desktop/ProvCaRe/ProvCaRe.sock failed (2: No such file or directory) while connecting to upstream

我的gunicorn systemd文件看起来像:

/etc/systemd/system/gunicorn.service

[Unit]
Description=gunicorn daemon
After=network.target

[Service]
User=sammy
Group=www-data
WorkingDirectory=/home/usr/myproject
ExecStart=/home/usr/myproject/myprojectenv/bin/gunicorn --workers 3 --bind    unix:/home/usr/myproject/myproject.sock myproject.wsgi:application

[Install]
WantedBy=multi-user.target

和我的nginx proxypass文件类似:

的/ etc / nginx的/位点可用/ myproject的

server {
  listen 80;
  server_name server_domain_or_IP;

  location = /favicon.ico { access_log off; log_not_found off; }
  location /static/ {
      root /home/usr/myproject;
  }

  location / {
      include proxy_params;
      proxy_pass http://unix:/home/sammy/myproject/myproject.sock;
  }
}

我似乎无法识别错误。任何帮助表示赞赏。谢谢!

0 个答案:

没有答案