Python:supervisor配置文件来执行gunicorn

时间:2016-03-24 09:18:47

标签: python flask gunicorn supervisor

新手到python,我使用Flask + gunicorn + supervisor + ngnix来运行服务器。每个都很好,我的问题是我不能使用主管制作枪炮来执行一些执行 下面是文件的层次结构:

.  
├── logs  
│   ├── access.log  
│   └── gunicorn_supervisor.log  
└── tserver  
    ├── bin  
    ├── build  
    ├── flasky   
    │   ├── @   
    │   ├── app  
    │   ├── hello.py  
    │   ├── LICENSE   
    │   └── README.md    
    ├── gunicorn.conf  
    ├── include  
    ├── lib  
    ├── local  
    └── pip-selfcheck.json   

tserver由virtualenv创建。

/etc/supervisor/conf.d/tserver.conf:

[program:tserver]
command=/home/jason/tserver/bin/gunicorn hello:app -c /home/jason/tserver/gunicorn.conf
directory=/home/jason/tserver/
user=jason
autostart=true
autorestart=true
stdout_logfile=/home/jason/logs/gunicorn_supervisor.log

我的目的是让主管制作枪炮hello.py,但它不起作用。我使用sudo supervisor status查看状态并找到:

tserver      FATAL      Exited too quickly (process log may have details) 

我强烈认为问题必须来自tserver.conf,尤其是command

查看文件,hello.py位于名为“flasky”的文件中,所以command=/home/jason/tserver/bin/gunicorn hello:app -c /home/jason/tserver/gunicorn.conf我觉得路径有问题。但是command=/home/jason/tserver/bin/gunicorn ./hello:app -c /home/jason/tserver/gunicorn.conf仍然不起作用。

我认为对于有经验的人来说这是一个非常愚蠢的问题,但作为一个新手,我被卡住了,所以请给我一个详细的解决方案,因为我已经阅读了相关文件而没有得到它。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

最后我发现了我的错误,我将自己的环境scp到服务器上,这使得gunicorn无法工作。我不知道原因,但是当我重新安装env和gunicorn时,它可以工作。

还有hello.py位于flasky,因此directory中的tserver.conf应为:

directory=/home/jason/tserver/flasky/