繁体   English   中英

Nginx在子uri上托管单个Rails应用程序

[英]Nginx hosting a single Rails app on sub uri

背景:

  • 我在反向代理后面运行debian 7服务器。
  • 我有一个运行ruby 2.0.0-p247的rails 4应用程序
  • 我正在使用nginx
  • 通过导航到:server-name.foo.dev来访问服务器,其中foo.dev是内部反向代理域。
  • 我无法使用乘客来部署应用程序。
  • 这将是服务器上运行的唯一应用程序。

问题:

我需要在反向代理后面的服务器上的子uri或上下文根路径上托管rails app,这样当用户导航到网站时,根路径的url如下所示:

  • server-name.foo.dev/rails_app,其中rails_app将成为rails应用程序的根目录。

我如何在启用了nginx站点的配置文件中进行设置,并且我需要在rails应用程序上修改任何内容以允许它切断到静态内容的正确路径。

我强烈建议使用Unicorn而不是Passenger。 您可以将它们(Unicorn和Nginx)设置为反向代理。 这个链接对你来说是相当不错的论文..

再次,你'重写'(Nginx路由功能)/ rails_app到rails应用程序的Unicorn套接字文件(通常使用上游)。

另请参见下面的代码段。

部分nginx.conf

location ~* ^/(rails_app)/ {
  root   /your/rails/home;
  index  index.html index.htm;
  proxy_pass http://socket_proxy_name;
}

proxy_pass的部分代码段

upstream socket_proxy_name{
  server unix:/your/socket/paht.sock fail_timeout=0;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM