nginx是反向代理和Web服务器

bad*_*aam 1 caching reverse-proxy ruby-on-rails passenger nginx

我目前使用nginx和乘客来为我的rails应用程序提供服务.考虑在等式中包含缓存反向代理.我可以使用相同的nginx实例作为反向代理(在端口80上运行,提供静态和电子标记的操作),还是需要不同的nginx实例或完全不同类型的反向代理?

谢谢!

小智 6

我认为您可以使用相同的NGINx实例来执行这两项操作,但您必须将应用程序配置为侦听其他端口.您可以在端口8080上运行应用程序,仅在本地主机上侦听,在端口80上运行反向代理.

您的nginx配置的服务器部分可能如下所示

server {
  listen 127.0.0.1:8080;
  server_name localhost;
  root /webapps/foo.com/public;
  passenger_enabled on;
}

server {
  listen 80;
  server_name www.foo.com;
  location / {
    proxy_pass http://127.0.0.1:8080;
  }
}
Run Code Online (Sandbox Code Playgroud)

请不要指出我的确切语法,这只是为了表明想法.

希望这可以帮助.