【问题标题】:How to listen multiple domain names with same port?同一个端口如何监听多个域名?
【发布时间】:2013-12-26 19:40:21
【问题描述】:

我的服务器中的每个域都有多个域名和多个 Django 应用程序。我将所有域都指向我服务器的 IP。我想为每个域运行 Django 服务器,并将这些服务器和域名映射到 Nginx。

问题是当我想在我的 Django 设置文件中将 example.com:80 绑定为主机:端口对设置时,如果有一个实例在 127.0.0.1:80 上运行,则它无法绑定该地址。因此我不得不为每个域使用不同的端口,并在 Nginx 中将 example.com:80 映射到 127.0.0.1:XXXX。

我想自动化这个过程,但由于我必须为每个域使用不同的端口,所以当我托管新站点时,我必须找到空闲端口。有没有办法将服务器直接绑定到 domain.com:80 并将 domain.com 映射到内部 Django 服务器,该服务器使用 Nginx 为每个域监听 domain.com:80?

【问题讨论】:

  • 您可以使用单个 nginx 轻松处理所有域。在 uwsgi 或 gunicorn 中运行您的 django 应用程序并配置 nginx 以提供静态内容。我不确定你真正想要完成什么?你想要一个 Django 部署工具吗?我猜对了,你想在生产环境中运行内置的 Django 服务器吗?我不认为这是个好主意。
  • @kelvan 实际上我使用 nginx & gunicorn & django 但我没有在问题中提到 gunicorn 因为我认为它没有任何区别。我想要做的是在服务器中运行多个 Django 应用程序并将 nginx 配置为代理域到 django 服务器。问题是我想自动化这个过程,我不知道我应该与 gunicorn 绑定哪个地址。如果我绑定的 ip 地址是 127.0.0.1,那么当我想托管一个新网站时,我必须找到一个空闲端口,但这对我来说似乎不是一个好主意。

标签: django networking nginx webserver port


【解决方案1】:

如果您在一台服务器上,您可以使用不同的 unix 套接字而不是地址。通过这种方式,您可以控制在自动化工具中生成的名称,而不依赖于可用端口。 如果您使用多个服务器,那么我认为没有比使用端口池并连接到该池中的下一个可用端口更多的选择

【讨论】:

  • 我不知道 unix 套接字可以这样使用。感谢您的建议!
猜你喜欢
  • 2013-06-17
  • 2020-11-28
  • 1970-01-01
  • 1970-01-01
  • 2012-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-13
相关资源
最近更新 更多