一些背景:
我创建了一个django应用程序,我正处于我要部署它的位置。我已经查看了多个选项,包括wsgi,但是由于新的mac os更新出现了,我无法安装mod_wsgi,因为我的计算机上没有apxs或apxs2,(关于在文件中写入权限的网上讨论,如果你知道的话更多,并想解释,请做。)
但是,我调查了其他选项以尝试部署应用程序,我想使用Heroku。我已经遵循Django部署的开发指南,直到我到达我使用" heroku本地网络"。测试的部分。 问题
问题源于此处,因为本地mysql服务器使用了gunicorn也尝试使用的相同端口。我在stackoverflow上发现了类似的关于使用中'连接的帖子。但是没有人展示过如何更换gunicorn的端口。我在我的localhost上找到了一些可用的开放端口,但每当我尝试将mysql端口更改为那些时,连接就会超时。因此,我想知道如何更改Gunicorn连接的端口,因此它不会尝试连接到与3306的mysql相同的默认端口。
我使用它附带的服务器为django项目服务,我使用的数据库是用于本地生产的mysql。我正试图在本地连接gunicorn和Heroku,因为我觉得如果这在当地正确,我可能会在我试图将项目上线时正确。
ERROR GIVEN
10:38:52 PM web.1 | [2017-01-08 22:38:52 -0500] [83200] [ERROR] Connection in use: ('0.0.0.0', 3306)
10:38:52 PM web.1 | [2017-01-08 22:38:52 -0500] [83200] [ERROR] Retrying in 1 second.
10:38:53 PM web.1 | [2017-01-08 22:38:53 -0500] [83200] [ERROR] Connection in use: ('0.0.0.0', 3306)
10:38:53 PM web.1 | [2017-01-08 22:38:53 -0500] [83200] [ERROR] Retrying in 1 second.
10:38:54 PM web.1 | [2017-01-08 22:38:54 -0500] [83200] [ERROR] Connection in use: ('0.0.0.0', 3306)
10:38:54 PM web.1 | [2017-01-08 22:38:54 -0500] [83200] [ERROR] Retrying
1秒钟。
我的个人资料
web: gunicorn project_name.wsgi.application --log-file -
当我停止mysql服务器时,gunicorn连接,但由于项目无法连接到数据库,我得到一个异常。
- 谢谢
答案 0 :(得分:0)
您可以按如下方式为Gunicorn指定端口 -
gunicorn --bind 127.0.0.1:8000
所以基本上完整的命令是
gunicorn --bind 127.0.0.1:8000 myproject.wsgi:application
您可以将8000
更改为您想要的任何端口号。
答案 1 :(得分:0)
要在MacOS X上安装mod_wsgi,请参阅:
您需要做的就是pip install mod_wsgi
。
然后,您可以在命令行上使用mod_wsgi-express
在非特权端口上运行它,并为您完成所有配置。
或者,您可以将其与现有Apache安装集成,并通过运行mod_wsgi-express module-config
并将其输出并将其添加到系统的主Apache配置中来自行手动配置。然后将特定的WSGI应用程序配置添加到Apache配置文件中。