Ruby on rails Nginx+;乘客:多个域需要指向不同的根
一直在与Nginx和乘客合作。我已成功使一个应用程序/域正常工作。但在我的服务器上,我有两个以上的域,我计划将它们从nginx发送到各自的根目录,每个rails应用程序都将在那里生存 我尝试过很多技巧,但都不管用。所有域都采用第一个根目录设置,而不是它们应该采用的根目录 这是我的nginx.conf文件:Ruby on rails Nginx+;乘客:多个域需要指向不同的根,ruby-on-rails,ruby,nginx,passenger,Ruby On Rails,Ruby,Nginx,Passenger,一直在与Nginx和乘客合作。我已成功使一个应用程序/域正常工作。但在我的服务器上,我有两个以上的域,我计划将它们从nginx发送到各自的根目录,每个rails应用程序都将在那里生存 我尝试过很多技巧,但都不管用。所有域都采用第一个根目录设置,而不是它们应该采用的根目录 这是我的nginx.conf文件: server { listen 80; server_name www.danielcw.info; root /root/public/danielcw.inf
server {
listen 80;
server_name www.danielcw.info;
root /root/public/danielcw.info/public; # <--- be sure to point to 'public'!
access_log /root/public/danielcw.info/log/access.log;
error_log /root/public/danielcw.info/log/error.log;
passenger_enabled on;
rails_env development;
}
server {
listen 80;
server_name www.ericoppi.com;
root /root/public/ericcoppi.com/public; # <--- be sure to point to 'public'!
access_log /root/public/ericcoppi.com/log/access.log;
error_log /root/public/ericcoppi.com/log/error.log;
passenger_enabled on;
rails_env development;
}
服务器{
听80;
服务器名称www.danielcw.info;
root/root/public/danielcw.info/public;#配置应该正常工作-我唯一要做的更改是通过nginx为www和no-www提供服务:
server {
listen 80;
server_name danielcw.info www.danielcw.info;
root /root/public/danielcw.info/public;
access_log /root/public/danielcw.info/log/access.log;
error_log /root/public/danielcw.info/log/error.log;
passenger_enabled on;
rails_env development;
}
server {
listen 80;
server_name ericoppi.com www.ericoppi.com;
root /root/public/ericcoppi.com/public;
access_log /root/public/ericcoppi.com/log/access.log;
error_log /root/public/ericcoppi.com/log/error.log;
passenger_enabled on;
rails_env development;
}
确保在编辑配置文件后重新启动了nginx。该配置应正常工作-我唯一要做的更改是通过nginx为www和no www提供服务:
server {
listen 80;
server_name danielcw.info www.danielcw.info;
root /root/public/danielcw.info/public;
access_log /root/public/danielcw.info/log/access.log;
error_log /root/public/danielcw.info/log/error.log;
passenger_enabled on;
rails_env development;
}
server {
listen 80;
server_name ericoppi.com www.ericoppi.com;
root /root/public/ericcoppi.com/public;
access_log /root/public/ericcoppi.com/log/access.log;
error_log /root/public/ericcoppi.com/log/error.log;
passenger_enabled on;
rails_env development;
}
请确保在编辑配置文件后重新启动了nginx。在进行配置更改后是否尝试重新启动服务器?在进行配置更改后是否尝试重新启动服务器?谢谢,我想添加最后一点可以让它正常工作。如果您使用上一次确认访问了无www版本g、 它将不匹配任何一个服务器块。然后,nginx将选择它认为是“默认”的服务器,从而使它看起来像你在两个域上看到的是同一个站点。谢谢,我猜添加最后一点使它工作起来。如果你使用以前的配置访问了无www版本,它将与两个服务器块都不匹配。然后nginx将选择它认为是“默认”的服务器,从而使它看起来像您在两个域上看到相同的站点。