首页 > 解决方案 > 在白色 ip 上运行 Django 应用程序

问题描述

我从我的 ISP 那里得到了一个白色 ip,它是195.214.223.143. 我有一个带有微服务的应用程序,我想在这个 IP 上运行它。我有一个主服务器应用程序(我将使用nginxand部署gunicorn)和 6 个微服务(用户服务、会话服务、邮件服务等),我只想部署gunicorn这些服务(只是因为这些服务的端点可以是只通过主服务器调用,所以我并不关心外部攻击)。

现在对于测试,我尝试仅使用gunicorn(为此目的使用专用笔记本电脑)运行服务。我使用这样的命令来运行每个服务:

gunicorn --bind 0.0.0.0:PORT --workers 4 APPNAME.wsgi

(4 个工人,因为我有 2 个核心的 cpu (i3))

所以我在每个项目中都设置了这个:

ALLOWED_HOSTS = ['195.214.223.143', '127.0.0.1', '0.0.0.0'] 

我还使用 TP-Link 路由器,并在设置中使用“端口转发”选项卡来转发端口(8000、5000、5001、5002、5003、5004、5006)。

因此,当我运行所有这些东西时,我可以使用 localhost url 和http://195.214.223.143:5001(这是我的主服务器的 url)访问我的应用程序。

但问题是我无法在其他设备上稳定使用我的 ip。有时我可以从另一台笔记本电脑甚至移动互联网上打开我的应用程序。但大多数时候我得到“连接被拒绝”错误。有趣的是,如果我尝试在两台笔记本电脑上同时键入 F5 几次,我可以正确获取页面,但随后我可能会失去与服务器笔记本电脑上的站点的连接。

奇怪的事情发生了,这是我第一次公开应用程序,所以也许我做错了很多事情。

标签: djangoweb-deploymentgunicornportforwarding

解决方案


推荐阅读