mysql和gunicorn在同一个端口打开连接

时间:2017-01-09 04:06:50

标签: mysql django heroku mod-wsgi gunicorn

一些背景:

我创建了一个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连接,但由于项目无法连接到数据库,我得到一个异常。

- 谢谢

2 个答案:

答案 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配置文件中。