簡體   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