我将rails应用程序部署到具有IP的虚拟主机,例如10.10.10.10。默认情况下,Phusion Passenger在生产环境中运行应用程序。 nginx配置是:
server {
listen 80;
server_name 10.10.10.10;
rails_env production;
root /root/www/production/public;
passenger_enabled on;
}
现在我想在同一主机的测试环境中部署应用程序。不知道我能做点什么吗
server {
listen 80;
server_name TEST_SERVER_NAME;
rails_env test;
root /root/www/test/public;
passenger_enabled on;
}
TEST_SERVER_NAME应该是什么?我的主机实例只有一个IP。
其实我对server_name很困惑。是否有必要与主机实例匹配?但是在文档中看到的例子可以同时是bar.com和far.com。如果它可以是一个随机名称,我可以使用google.com然后每个人去google.com将由我的网站提供服务吗?我当然不能。那么server_name如何工作?
答案 0 :(得分:0)
nginx使用server_name
指令来决定哪个服务器应该处理传入的请求。因此,它不仅仅是任何随机名称,nginx会尝试将每个传入请求与配置中定义的服务器进行匹配。
如果您需要更多信息,请点击official doc。