【问题标题】:Multiple Django projects under the same URL同一个 URL 下的多个 Django 项目
【发布时间】:2015-01-25 00:26:05
【问题描述】:

我有两个独立的 Django 项目在 Amazon EC2 上运行,它们有不同的数据库并使用不同的设置文件。

为此,我使用 Nginx,project1 侦听端口 80(网址 www.domain.com),project2 侦听端口 81(网址 www.domain.com :81)。

在某些地方使用我的网站时,我注意到project2 速度过慢,可能是因为某些网络阻止了对特定端口的请求。

所以,我只想使用端口80 的两个项目。是否有可能,也许在“.com”之后使用不同的 URL?

【问题讨论】:

    标签: django nginx amazon-ec2 port


    【解决方案1】:

    当然可以。

    看看 Nginx 'Server Blocks' 来完成这个... http://wiki.nginx.org/ServerBlockExample

    需要注意的是,我不相信可以根据“.com”之后的不同 URL 创建“服务器块”和路由?从技术上讲,它应该是 .com 之后的 URL 路径。

    但是,如果您有不同的“服务器名称”(http://nginx.org/en/docs/http/server_names.html),那么您可以设置不同的“服务器块”来处理对同一机器上运行的不同 Django 应用程序的请求。

    假设您有使用域“foo.com”的 Application1 和使用域“bar.com”的 Application2。典型的设置如下所示,

    http {
      index index.html;
    
      server {
        server_name foo.com;
        access_log logs/application1.access.log main;
    
        root /var/www/application1.com/htdocs;
      }
    
      server {
        server_name bar.com;
        access_log  logs/application2.access.log main;
    
        root /var/www/application2.com/htdocs;
      }
    }
    

    只需确保 foo.com 和 bar.com 都指向运行 Django 应用程序的服务器。

    如果您愿意,也可以使用子域...app1.foo.com、app2.foo.com...都是有效的 server_name 值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-05
      • 2015-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-23
      相关资源
      最近更新 更多