启动upstart脚本

时间:2016-02-17 20:48:15

标签: python nginx flask gunicorn upstart

我正在尝试将使用Flask编写的Web应用程序部署到基于Ubuntu的VPS(托管在Digital Ocean上)上。我在部署的最后步骤中遇到了一个问题。

关注this guide我已经完成了Upstart脚本,项目完全失败了。

sudo start myproject之后查看日志文件,我找到了一行:Failed to find application 'wsgi'

文件夹结构:

myproject
- venv
- templates
- static
- wsgi.py
- main.py

wsgi.py是:

from main import app

if __name__ == "__main__":
    app.run()

最后,Upstart文件目前是:

start on runlevel [2345]
stop on runlevel [!2345]

respawn
setuid myuseraccount
setgid www-data

env PATH=/var/www/myproject/venv/bin
chdir /var/www/myproject

exec gunicorn --workers 2 --bind unix:myproject.sock -m 007 wsgi:app

我已经花了很多时间尝试进行故障排除,但我迷路了。当我在虚拟环境中使用gunicorn --bind 0.0.0.0:8000 wsgi:app启动项目时,一切正常。

只要它是相关的,nginx配置:

server {
    listen 80;
    server_name myproject.com www.myproject.com;

    location / {
        include proxy_params;
        proxy_pass http://unix:/var/www/myproject/myproject.sock;
    }

1 个答案:

答案 0 :(得分:-1)

我刚才遇到了同样的问题。还有另一个问题的答案可以帮助你解决这个问题,因为它确实帮助了我:Gunicorn can't find app when name changed from "application"