Linux

我應該將 Rails 應用程序部署到哪個目錄?

  • January 17, 2017

在 Linux 系統上部署生產 Rails 應用程序的合理且合乎邏輯的目錄是什麼?

一些候選人…

/var/rails  <= There's a /var/www so this would be consistent with that 
              pattern. But I.T. guys have complained about stuff in /var 
              before.

/home/my_home_dir/rails  <= OK, not /var, but I'm not the only developer. 
                           Seems like it really ought to be a systemwide
                           location.

/home/rails  <= I don't know. That just seems weird.

/rails  <= Seems even weirder.

在這裡做的最不令人驚訝、最正常的事情是什麼?

(背景資訊——Rails 應用程序是一堆用 Ruby 編寫的伺服器端程式碼以及一個public包含 JavaScript、CSS 和可能還有一些 HTML 的目錄。該public目錄映射到一個 Apache 虛擬主機。Apache 通過一個模組處理 Ruby 程式碼稱為乘客或mod_rails。)


謝謝大家的幫助。我想我會去/opt/deployed_rails_apps。(我喜歡長的、說明性的目錄名稱和製表符補全。)/var/...也是一個好地方,但是當我試圖在那裡部署東西時,我收到了來自 IT 的嚴厲抱怨。如果是我自己的機器,我可能會選擇/varor /srv

我認為**/opt將是這樣的應用程序**的地方。我同意按照 chmeee 的建議遵循 FHS,但我不同意 Rails 應用程序本身就是一項服務。

您可能希望遵循文件系統層次標準 (FHS)並將其放置在

/srv : Data for services provided by this system

編輯:

我不會把它放在/opt

/opt : Add-on application software packages

它的目的說:

/opt 保留用於安裝附加應用程序軟體包。

要安裝在 /opt 中的軟體包必須將其靜態文件定位在單獨的 /opt/ 或 /opt/ 目錄樹中,其中 是描述軟體包的名稱,並且是提供者的 LANANA 註冊名稱。

我不認為開發的應用程序是“軟體包”。

理由/srv

指定它的主要目的是讓使用者可以找到特定服務的數據文件的位置,並且可以合理地放置需要單個樹用於只讀數據、可寫數據和腳本(例如 cgi 腳本)的服務。

我知道 rails 應用程序是一個 cgi 腳本,應該放在/srv.

引用自:https://serverfault.com/questions/37892