Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
同一URL下的多个Django项目_Django_Nginx_Amazon Ec2_Port - Fatal编程技术网

同一URL下的多个Django项目

同一URL下的多个Django项目,django,nginx,amazon-ec2,port,Django,Nginx,Amazon Ec2,Port,我有两个独立的Django项目在AmazonEC2上运行,它们有不同的数据库,使用不同的设置文件 为此,我使用Nginx,对于project1在端口80(url www.domain.com)侦听,对于project2在端口81(url www.domain.com:81)侦听 在某些地方使用我的网站时,我注意到project2速度过慢,可能是因为某些网络阻止了对特定端口的请求 因此,我只想使用port80的两个项目。有可能吗?可能在“.com”后面有一个不同的URL?当然有可能 看看Nginx

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

为此,我使用Nginx,对于
project1
在端口
80
(url www.domain.com)侦听,对于
project2
在端口
81
(url www.domain.com:81)侦听

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

因此,我只想使用port
80
的两个项目。有可能吗?可能在“.com”后面有一个不同的URL?

当然有可能

看看Nginx“服务器块”就可以实现这一点。。。

需要注意的是,我不认为有可能根据“在.com之后的不同URL”创建“服务器块”和路由“?”技术上正确,它应该是在.com之后的URL路径

但是,如果您有不同的“服务器名称”(server names)),则可以设置不同的“服务器块”来处理对同一机器上运行的不同Django应用程序的请求

例如,假设您的应用程序1使用域“foo.com”,而应用程序2使用域“bar.com”。典型的设置如下所示:

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。。。两者都是有效的服务器名称值