同一URL下的多个Django项目
我有两个独立的Django项目在AmazonEC2上运行,它们有不同的数据库,使用不同的设置文件 为此,我使用Nginx,对于同一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
project1
在端口80
(url www.domain.com)侦听,对于project2
在端口81
(url www.domain.com:81)侦听
在某些地方使用我的网站时,我注意到project2
速度过慢,可能是因为某些网络阻止了对特定端口的请求
因此,我只想使用port80
的两个项目。有可能吗?可能在“.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。。。两者都是有效的服务器名称值