我需要將我的Rails應用程序從Heroku切換到Linode上的新主機。 我需要解決以下問題,並希望得到一些建議如何將Heroku rails應用程序遷移到新主機上的同一應用程序?
1)如何將數據從Heroku遷移到我的新Linode主機?
2)如何將heroku域名從myapp.herokuapp.com重定向到my_new_host.com?
我需要儘可能同時達到以上,使新的數據不會丟失
我需要將我的Rails應用程序從Heroku切換到Linode上的新主機。 我需要解決以下問題,並希望得到一些建議如何將Heroku rails應用程序遷移到新主機上的同一應用程序?
1)如何將數據從Heroku遷移到我的新Linode主機?
2)如何將heroku域名從myapp.herokuapp.com重定向到my_new_host.com?
我需要儘可能同時達到以上,使新的數據不會丟失
假設你正在你的Linode主機上運行的Postgres,那麼你只需要簡單地備份你在Heroku上,然後將其恢復到Heroku(pgbackups)。還有其他的選擇 - 你可以使用heroku db:pull
從Heroku下拉到你的本地數據庫,然後轉移到Linode。另一種選擇是使用你的linode服務器上的Heroku gem將數據直接從heroku應用程序拖入linode數據庫。
您只能使用代碼在Heroku上重定向,因此您必須將應用程序重新定向(rack_rewrite)到新主機。
你會希望把你的應用程序在Heroku上進入Heroku的維護模式。通過您選擇的任何機制執行數據傳輸。然後將「重定向」代碼部署到Heroku應用程序,然後在Heroku上關閉維護模式。訪問herokuapp.com地址的訪問者將被重定向到在新URL上運行的應用程序,無論哪裏都可能。
謝謝你,這聽起來像一個計劃,你有什麼建議如何rack_rewrite可能工作? – jamesc 2012-03-04 17:20:13
查看https://github.com/jtrupiano/rack-rewrite - 如果它是一個現有的rails應用程序,但是在您的application_controller.rb中執行一個redirect_to您的新URL的before_filter,則更簡單。 – 2012-03-04 17:29:03
我想過之前的過濾器選項,但不知道重定向是否可以工作到不同的域。我認爲使用之前的過濾器可能是最好的選擇:) – jamesc 2012-03-04 17:31:26