1
我與乘客在運行Debian服務器(IP 192.168.1.193)一個Rails應用程序作爲一個獨立的的Nginx +客運服務Rails應用在不同的子URI的
$ cd /home/hector/webapps/first
$ passenger start -a 127.0.0.1 -p 3000
我想爲這個應用程序在不同的子文件夾反向代理Nginx的扔如:
http://192.168.1.193/first
我的nginx.conf服務器:
...
server {
listen 80;
server_name 127.0.0.1;
root /home/hector/webapps/first/public;
passenger_base_uri /first/;
location /first/ {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
}
}
...
的ñ我運行Nginx服務器
$ /opt/nginx/sbin/nginx
隨着一個軌道應用程序與此配置運行一切似乎工作正常。
但是當我嘗試添加我的第二個應用程序
$ cd /home/hector/webapps/second
$ passenger start -a 127.0.0.1 -p 3001
與此nginx.conf文件:
...
server {
listen 80;
server_name 127.0.0.1;
root /home/hector/webapps/first/public;
passenger_base_uri /first/;
location /first/ {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
}
}
server {
listen 80;
server_name 127.0.0.1;
root /home/hector/webapps/second/public;
passenger_base_uri /second/;
location /second/ {
proxy_pass http://127.0.0.1:3001;
proxy_set_header Host $host;
}
}
…
和我重新加載的Nginx服務器的配置
$ /opt/nginx/sbin/nginx -s reload
nginx: [warn] conflicting server name "127.0.0.1" on 0.0.0.0:80, ignored
我得到一個警告,我不能從
0123訪問第二應用http://192.168.1.193/second/
服務器用於所述第二應用程序返回404和第一應用仍在運行。
是的,這個配置中的兩個應用程序工作正常!感謝薩沙。 – hector
很高興我能幫助 –
我剛剛意識到proxy_pass指令有一個斜線結束:'proxy_pass HTTP://127.0.0.1:3000 /,'如果沒有你會得到一個路由錯誤。 – hector