2016-07-06 118 views
1

尝试在Amazon AWS上部署gunicorn自动启动(仅供参考,请参阅TDD for Python here)。亚马逊AWS - Gunicorn在启动时启动

../virtualenv/bin/gunicorn --bind \ unix:/tmp/mysite.com.socket.myapp.wsgi:application 

但是当试图实现gunicorn开始与引导,即运行为:运行时,

站点部署罚款gunicorn须藤开始gunicorn-mysite.com,让“502错误网关(nginx的)'。

有几件事情:

  1. 运行关闭EC2亚马逊AWS
  2. gunicorn版本= 1.8

/etc/init/gunicorn-mysite.com.conf

description "Gunicorn server for mysite.com" 

start on net-device-up 

stop on shutdown 

respawn 

setuid ubuntu 

chdir /home/ubuntu/sites/mysite.com/source 

exec ../virtualenv/bin/gunicorn \ 
--bind unix:/tmp/mysite.com.socket \ 
myapp.wsgi:application 

日志显示以下内容:

在/ var /日志/新贵 **

usage: gunicorn [OPTIONS][APP_MODULE] 
gunicorn: error: No application module specified 

**

在/ var /日志/ nginx的

...[error] 6282#0 : * connect() to unix:/tmp/mysite.com.socket failed (111: Connection refused) while connecting to upstream client 10.10.100.100, server: mysite.com, request: "GET/HTTP/1.1", upstream: "http://unix:/tmp/mysite.com.socket:/", host: "mysite.com"

我运行gunicorn与以下c ommands:

(virtualenv)[email protected]/source$ sudo service nginx restart 
(virtualenv)[email protected]/source$ sudo starg gunicorn-mysite.com 

不知道为什么我越来越坏的网关 - 任何帮助非常感谢!

回答

0

在您的代码:

exec ../virtualenv/bin/gunicorn \ 
--bind unix:/tmp/mysite.com.socket \ 
myapp.wsgi:application 

替换myapp.wsgi你进入蟒蛇文件的名称,并在你的Python文件中定义的名称替换application

例如,如果在一个/home/ubuntu/sites/mysite.com/sourcerun.py如下:

from src import app 

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

你可以改变你的配置类似如下:

exec ../virtualenv/bin/gunicorn \ 
--bind unix:/tmp/mysite.com.socket \ 
run:app