我在Amazon EC2上运行了两个单独的Django项目,它们具有不同的数据库并使用不同的设置文件。
为此,我使用Nginx,project1
侦听端口80
(网址为www.domain.com),project2
侦听端口{{1} (url www.domain.com:81)。
在某些地方使用我的网站时,我注意到81
速度过慢,原因可能是某些网络阻止了对特定端口的请求。
所以,我只想使用端口project2
的两个项目。是否有可能,可能在" .com"?
答案 0 :(得分:3)
当然可以。
看看Nginx的“服务器块”来完成这个...... 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值。