nginx是反向代理和Web服务器

时间:2010-10-12 07:09:27

标签: ruby-on-rails caching nginx passenger reverse-proxy

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

谢谢!

1 个答案:

答案 0 :(得分: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;
  }
}

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

希望这有帮助。