【发布时间】:2012-04-14 14:03:18
【问题描述】:
我有一个看起来像这样的服务器部分:
server {
listen 80;
server_name arch;
root /data/apps/production/fentonGem2/current/public;
passenger_enabled on;
}
效果很好。但是,我想将两个或多个应用程序部署到同一个 server_name 和 listen 端口。所以大概我会使用以下内容:
server {
listen 80;
server_name arch;
location /app1 {
root /data/apps/production/fentonGem2/current/public;
passenger_enabled on;
}
location /app2 {
root /data/apps/production/fentonGem3/current/public;
passenger_enabled on
}
}
但这不起作用。有谁知道我如何部署两个单独的应用程序,并通过以下方式联系它们:
http://domain.com/app1/
和:
http://domain.com/app2/
该设置使用 Nginx、Phusion Passenger、Rack 和 Sinatra。
更新:
感谢您的回复,但我发现它们和方法没有帮助,尽管我可能不太了解它。似乎我必须在另一个应用程序中部署一个应用程序,这似乎很不干净。我最终采用的是单独的server 部分,然后更新我的/etc/hosts 文件以具有相同IP 地址的服务器别名。所以现在我有:
http://app1/
和:
http://app2/
和看起来像这样的服务器部分:
server {
listen 80;
server_name app1;
root /data/apps/production/app1/current/public;
passenger_enabled on;
}
server {
listen 80;
server_name app2;
root /data/apps/production/app2/current/public;
passenger_enabled on;
}
在 /etc/hosts 中:
192.168.1.30 app1 app2
【问题讨论】:
标签: ruby nginx sinatra passenger rack