使用AWS和Gunicorn,如果我启动Django的内置服务器,我的Django站点可以访问并且功能齐全,但我无法通过Gunicorn访问它。
如果我尝试:
gunicorn MyApp.wsgi
似乎开始了:
[2015-11-18 17:53:30 +0000] [18752] [INFO] Starting gunicorn 19.3.0
[2015-11-18 17:53:30 +0000] [18752] [INFO] Listening at: http://0.0.0.0:8001 (18752)
[2015-11-18 17:53:30 +0000] [18752] [INFO] Using worker: sync
[2015-11-18 17:53:30 +0000] [18755] [INFO] Booting worker with pid: 18755
但浏览器只返回基本网址/ IP地址的Nginx启动页面,并在尝试访问<url>:8001
或<ip_address>:8001
时超时。
如果我跑的话,我会得到相同的结果:
gunicorn MyApp.wsgi:application --bind 0.0.0.0:8001
编辑:如果我使用特定网址代替0.0.0.0
尝试相同的命令,则会输出以下内容:
[2015-11-18 18:24:17 +0000] [18902] [INFO] Starting gunicorn 19.3.0
[2015-11-18 18:24:17 +0000] [18902] [ERROR] Retrying in 1 second.
[2015-11-18 18:24:18 +0000] [18902] [ERROR] Retrying in 1 second.
[2015-11-18 18:24:19 +0000] [18902] [ERROR] Retrying in 1 second.
[2015-11-18 18:24:20 +0000] [18902] [ERROR] Retrying in 1 second.
[2015-11-18 18:24:21 +0000] [18902] [ERROR] Retrying in 1 second.
[2015-11-18 18:24:22 +0000] [18902] [ERROR] Can't connect to ('myurl.xyz', 8001)
如果我使用服务器的IP地址,我会看到:
[2015-11-18 18:26:22 +0000] [18911] [INFO] Starting gunicorn 19.3.0
[2015-11-18 18:26:22 +0000] [18911] [ERROR] Invalid address: ('<my_ip>', 8001)
我花了3天试图让uWSGI工作失败,而且我在第2天和Gunicorn一起工作,我似乎无法超越这一点。没有文档或教程指定如果第一步不起作用该怎么做。我对此非常陌生,也许有一些简单的东西我忽略了其他人只是假设会被照顾的?
在Django的设置模块的ALLOWED_HOSTS
部分中正确设置了所有相关的IP地址和网址。
答案 0 :(得分:1)
正如Daniel Roseman所示,亚马逊似乎不允许我在没有其他配置的情况下做我想做的事情。
我接受了建议并配置了Nginx,现在我可以使用
了 gunicorn MyApp.wsgi:application --bind=172.31.21.65:8000
把它旋转起来。