在AWS EC2上部署django应用程序时,无法在端口80上运行gunicorn
发布时间:2020-12-20 13:52:43 所属栏目:Python 来源:网络整理
导读:我在我的EC2 AWS中运行Ubuntu 14.04实例. 我可以运行gunicorn -b 0.0.0.0:8000 myapp.wsgi 但它无法在80端口运行 gunicorn -b 0.0.0.0:80 myapp.wsgi – 失败 我试着按照这个答案(我无法理解它,但部署脚本是什么?)Getting Gunicorn to run on port 80 但它
我在我的EC2 AWS中运行Ubuntu 14.04实例.
我可以运行gunicorn -b 0.0.0.0:8000 myapp.wsgi 但它无法在80端口运行 gunicorn -b 0.0.0.0:80 myapp.wsgi – >失败 我试着按照这个答案(我无法理解它,但部署脚本是什么?)Getting Gunicorn to run on port 80 但它没有用. 我也尝试用提升权限sudo运行它是徒劳的. ubuntu@ip-172-31-39-159:~/jeequery$gunicorn -b 0.0.0.0:80 rubiks.wsgi [2015-08-30 15:58:10 +0000] [6772] [INFO] Starting gunicorn 19.3.0 [2015-08-30 15:58:10 +0000] [6772] [ERROR] Retrying in 1 second. [2015-08-30 15:58:11 +0000] [6772] [ERROR] Retrying in 1 second. [2015-08-30 15:58:12 +0000] [6772] [ERROR] Retrying in 1 second. [2015-08-30 15:58:13 +0000] [6772] [ERROR] Retrying in 1 second. [2015-08-30 15:58:14 +0000] [6772] [ERROR] Retrying in 1 second. [2015-08-30 15:58:15 +0000] [6772] [ERROR] Can't connect to ('0.0.0.0',80) 在使用sudo运行时出现此错误: ubuntu@ip-172-31-39-159:~$gunicorn -b 0.0.0.0:80 rubiks.wsgi [2015-08-30 16:48:09 +0000] [6943] [INFO] Starting gunicorn 19.3.0 [2015-08-30 16:48:09 +0000] [6943] [ERROR] Retrying in 1 second. [2015-08-30 16:48:10 +0000] [6943] [ERROR] Retrying in 1 second. [2015-08-30 16:48:11 +0000] [6943] [ERROR] Retrying in 1 second. ^C[2015-08-30 16:48:12 +0000] [6943] [ERROR] Retrying in 1 second. [2015-08-30 16:48:13 +0000] [6943] [ERROR] Retrying in 1 second. [2015-08-30 16:48:14 +0000] [6943] [ERROR] Can't connect to ('0.0.0.0',80) ubuntu@ip-172-31-39-159:~$^C ubuntu@ip-172-31-39-159:~$sudo gunicorn -b 0.0.0.0:80 rubiks.wsgi [2015-08-30 16:48:21 +0000] [6947] [INFO] Starting gunicorn 19.3.0 [2015-08-30 16:48:21 +0000] [6947] [INFO] Listening at: http://0.0.0.0:80 (6947) [2015-08-30 16:48:21 +0000] [6947] [INFO] Using worker: sync [2015-08-30 16:48:21 +0000] [6950] [INFO] Booting worker with pid: 6950 [2015-08-30 16:48:21 +0000] [6950] [ERROR] Exception in worker process: Traceback (most recent call last): File "/usr/local/lib/python3.4/dist-packages/gunicorn/arbiter.py",line 507,in spawn_worker worker.init_process() File "/usr/local/lib/python3.4/dist-packages/gunicorn/workers/base.py",line 118,in init_process self.wsgi = self.app.wsgi() File "/usr/local/lib/python3.4/dist-packages/gunicorn/app/base.py",line 67,in wsgi self.callable = self.load() File "/usr/local/lib/python3.4/dist-packages/gunicorn/app/wsgiapp.py",line 65,in load return self.load_wsgiapp() File "/usr/local/lib/python3.4/dist-packages/gunicorn/app/wsgiapp.py",line 52,in load_wsgiapp return util.import_app(self.app_uri) File "/usr/local/lib/python3.4/dist-packages/gunicorn/util.py",line 355,in import_app __import__(module) ImportError: No module named 'rubiks' Traceback (most recent call last): File "/usr/local/lib/python3.4/dist-packages/gunicorn/arbiter.py",in import_app __import__(module) ImportError: No module named 'rubiks' [2015-08-30 16:48:21 +0000] [6950] [INFO] Worker exiting (pid: 6950) [2015-08-30 16:48:21 +0000] [6947] [INFO] Shutting down: Master [2015-08-30 16:48:21 +0000] [6947] [INFO] Reason: Worker failed to boot. 解决方法
正如评论中所建议的那样,不建议在80端口运行gunicorn.
我们改为在大于1024(非特权端口)的端口上运行它,并通过反向poxy请求在gunicorn上运行大于1014的端口. 这可以通过编辑nginx配置文件来完成. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |