2010-01-29 158 views
1

我一直在玩rails應用程序,並通過在heroku上部署它來向客戶顯示更新。現在,客戶希望將其設置在服務器上......作爲現場網站。將rails應用程序部署到生產環境

Heroku使部署rails應用程序變得如此簡單,以至於我無法在服務器上從頭開始包裝頭部。

對於有經驗的鐵軌開發人員來說,需要做什麼?我的應用程序使用postgresql,服務器是一個Linux服務器。客戶聲稱他們已經在服務器上安裝了導軌。

我只需要安裝postgresql ...創建數據庫...運行遷移和瞧?或者還有其他的東西參與。到目前爲止,我正在與database.yml的開發部分一起工作......現在它將會生產產品?

請給出解釋過程的一些指針和/或鏈接。

回答

0

你有沒有理由不能使用Heroku作爲你的生產環境?

編輯:

如果他們正在運行一個PHP Web服務器的機會是他們已經有一個正常運作的Apache服務器。如果是這種情況,你應該着眼於安裝passenger並建立一個新的數據庫。

此時,您可以自己複製應用程序,運行您的耙子任務以獲取所有設置,然後放鬆休息,或者花時間學習如何使用capistrano,以便可以重複部署應用程序。

我建議後者...... capistrano確實不那麼棘手,並假設你的應用程序設置相對理智,默認值應該爲你提供90%的方法。

+0

他們將它託管在「他們的」服務器上。 pshsh。我很樂意使用heroku .. – Omnipresent 2010-01-29 16:00:31

+0

他們有什麼樣的環境?它是Windows還是Linux? – jonnii 2010-01-29 16:10:02

+0

linux。他們已經運行了一個PHP網站 – Omnipresent 2010-01-29 19:26:54

1

我認爲capistrano網頁有一個體面的教程從哪裏開始。

1

那麼,想想這個:rails應用程序需要什麼?

  1. 紅寶石
  2. 滑軌(用於您的應用程序的版本!)
  3. 插件使用
  4. 數據庫與正確登錄/密碼訪問您使用
  5. Rails的Ruby的寶石

如果您使用RAILS_ENV環境變量並將其設置爲生產,您將不必擔心後續步驟,否則請記住爲此產品離子環境!
你可以使用rake db:schema:load來設置數據庫,然後..確保它在啓動時自動加載,確保你有任何需要預加載的數據,確保它可以從外部訪問,或者來自任何需要訪問的地方。
我不知道是否有其他任何你需要的Rails應用程序 - 但當然,Capistrano的是一個好主意,以幫助您保持應用程序:)

1

你可能需要決定哪些服務器軟件你會首先使用,因爲這不是Heroku給你的決定。無論如何,這很容易,因爲Phusion Passenger現在是Rails世界的默認選擇。乘客很容易設置—它可能是我見過的最好的命令行安裝程序—和文檔非常好。

Slicehost有一系列文章,包括設置各種風格的Linux所需的各種位。他們真的是優秀:

http://articles.slicehost.com/search?q=rails

你還需要學習如何使用Capistrano,這是大多數人使用部署Rails應用。

相關問題