在沒有管理員權限的情況下在 Apache 1.3 上部署 RoR

在沒有管理員權限的情況下在 Apache 1.3 上部署 RoR

在工作中,我有一台運行 Apache 1.3.20 的 SuSE 7.3,但我沒有管理員權限。我想在沒有或沒有的情況下部署 Ruby on Rails很少為管理員工作。

我需要該服務始終保持運行,即使伺服器重新啟動,我需要它比 CGI-Speed 運行得更快,並且我希望有一個沒有連接埠的簡單網域。

我有什麼選擇?

答案1

在另一台伺服器上運行rails(nginx+mod_rails是我最喜歡的,但lighttpd、mongrel或類似的東西也可以),然後要求管理員從apache反向代理它。

答案2

在 Apache 1.3 上運行 Rails 比在 2.x 系統上運行要痛苦得多。

您需要在每個應用程式的特定連接埠號碼上本機執行 mongrels(可能由該伺服器的管理員設定以正確啟動),然後使用一些代理魔法將 Apache 發送到那裡或另一台機器上。如果您選擇在不同的電腦上執行,請安裝 Apache 2.0 並使用 Phusion Passenger。它會讓你的生活更輕鬆。

Apapche 上新站點的乘客設定範例:

<VirtualHost *:80>
  ServerName blog.flame.org
  DocumentRoot /www/blog/flame-blog/current/public
  ExpiresDefault "access plus 10 years"
</VirtualHost>

我將其放入名為 的文件中/local/httpd/sites/blog.flame.org.conf,然後在我的文件中使用它httpd.conf

Include /local/httpd/sites/*.conf

恕我直言,如果您想維護命令列驅動的設定管理,那麼新增網站沒有比這更容易的了。

至於使用 Capistrano 部署新版本的 RoR 應用程序,實際上就像輸入 cap deploy:migrations 來推送新版本一樣簡單,如果搞砸了,可以使用 cap deploy:rollback 來撤消它。呼。

無論您選擇如何為應用程式提供服務,我都會使用 Capistrano 來部署您的應用程式。

相關內容