2011-07-09 49 views
0

如何配置Passenger在這些需求下運行兩個不同的項目? 第一個項目是Redmine(Rails 2.3.11和Ruby 1.8.6),第二個項目就像迷你博客(Rails 3.1.0rc4和Ruby 1.9.2)。使用Ruby配置Passenger 1.9.2 + Rails 3.1.0rc4和Ruby 1.8.6 + Rails 2.3.11

操作系統:Ubuntu服務器

+0

爲何乘客?在您的服務器上安裝rvm,並在每個項目的根目錄下創建一個指定ruby版本的'.rvmrc'文件 – apneadiving

+0

我正在使用rvm,我正在使用.rvmrc,但在httpd.conf中配置了哪些配置? – AndrewShmig

回答

1

就個人而言,我更喜歡Nginx的到Apache,但你可以用兩種做到這一點。

首先,壞消息 - 你不能使用Apache或nginx的單一安裝來完成此操作 - 乘客是針對您正在使用的單個特定的ruby解釋器編譯的。現在,好消息是,既然你已經安裝了rvm,管理多個ruby解釋器是微不足道的。

您需要安裝兩個單獨的http服務器(Apache或nginx) - 一個是默認端口80,另一個需要在另一個端口上回答(這不會公開使用)。你需要爲一個ruby和http服務器(Apache或nginx)編譯乘客,另一個乘客爲另一個ruby和http服務器(這兩個http服務器都可以是Apache,都可以是nginx,或者如果你想讓事情變得「有趣」 ,你可以有其中一個)。由於您在服務器上運行的任何新應用程序都將使用ruby 1.9 +/rails 3+,所以我強烈建議您使用默認(端口80)乘客的ruby 1.9。一旦你有每個http服務器+ ruby​​ +乘客設置,你將需要配置你的輔助站點(運行在非端口80的Web服務器上)作爲代理+反向代理從端口80 http服務器到輔助http服務器(例如端口5000)。

我有這個配置運行幾個不同的客戶端(不同的生產服務器上),並沒有任何麻煩。在一種情況下,我們使用乘客獨立服務器作爲二級ruby /乘客組合,而不是完全安裝nginx - 這已證明是相當穩定的,但創建按我們想要的方式工作的函數init腳本有點有趣。

相關問題