用 Heroku 架設 WordPress 網站
算是陰錯陽差下學到怎麼用 Heroku 架設網站。Heroku 是一個提供雲端 APP 管理的公司,看了半天還是沒看懂他們的賣點在哪(掩面),不過他們自己創了一個叫做 dyno 的單位,來計算使用者 APP 的流量。網站設計真心漂亮,有日式和風又有科技感,愛死了都(重點錯)。
於是繼續每篇的內容摘要:
- Heroku 簡介與帳號申請
- 安裝與設定 Ruby 和 Git
- WordPress(以下簡稱 WP)config 問題
- Git push 上載 WP 資料夾到 Heroku
另外在 GitHub 上有一個 WP 架設專用的 file,可以直接 clone 到 Heroku 上。有興趣的人可以直接參考 GitHub 上的安裝步驟,在那之前還是得先完成這篇所提到的第一、二步。另外中文版可以參考本站另一篇文章。
點開可以看大圖。 1. 按 login 可以申請帳號。只有英文介面就是了。 2. 這就是他們用的單位,用這個計算你會使用多少計算資源和流量。 3. 可以移動滑桿來看你大概需要付多少錢來支援你的 app。 |
修改站名的介面。 |
第二部分:安裝與設定 Ruby 和 Git
接下來是安裝 Git 。下載以後很容易安裝,另外也有給 Mac OS 和 Linux 使用的版本。安裝了Git 之後,需要安裝 heroku gem。指令如下:
根據官網,heroku gem 常常更新,所以建議大家要用之前記得先檢查更新一下:
之後請記得要把 heroku 的 credential 儲存在自己的電腦上,指令如下:
這樣以後要登入會簡單許多。輸入上述指令以後,會出現以下的確認訊息(紅字是需要輸入的部分):
Email: 你註冊的 email 帳號
Password: Heroku 上的密碼,不會顯示出來
Uploading ssh public key /Users/電腦上的帳戶名稱/.ssh/id_rsa.pub
Git 本身又是另一個軟體,他有自己的 commend line,這裡是 tutorial,因為我也只用了上傳檔案需要用的 Git commend,所以這邊就不多介紹,能用就好。
Email: 你註冊的 email 帳號
Password: Heroku 上的密碼,不會顯示出來
Uploading ssh public key /Users/電腦上的帳戶名稱/.ssh/id_rsa.pub
1. 檢查你 Heroku 帳戶下已經建立的 APP:在 commend window 裡要先開啟你放 wordpress 的那個資料夾,然後在那個資料夾下輸入以下指令。
$ git init
Initialized empty Git repository in .git/
$ git add .
$ git commit -m “new app”
Created initial commit 5df2d09: new app
44 files changed, 8393 insertions(+), 0 deletions(-)
2. 建立 SSH key:開啟你的 Git Bash(開始→Git→Git Bash),輸入以下指令。
檢查有沒有 SSH keys。如果出現 “No such file or directory“ 的提示,就需要建立一個新的 key。請回到上面 Heroku 設定的地方儲存下你的 SSH key 序號,或是用以下的指令新建一個。
之後它會請你輸入密碼(passphrase),然後就建立完成了。
如果你已經將 Heroku 專用的 SSH key 存在電腦裡,就可以直接選用。如果你不確定這個 key 是不是你要的,那就用以下指令將舊的 key 存起來,然後建立一個新的:
config id_rsa id_rsa.pub known_hosts
$ mkdir key_backupmakes a subdirectory called “key_backup” in the current directory
$ cp id_rsa* key_backupCopies the id_rsa and id_rsa.pub files into key_backup
$ rm id_rsa*
3. 申請一個 GitHub 帳號,把這個 key 存在 GitHub 上,以供往後登入使用。在 GitHub 網站上點選 “Account Settings” > “SSH Public Keys” > “Add another public key”,然後把 /Users/電腦上的帳戶名稱/.ssh/id_rsa.pub 這個檔案用記事本或是其他編成軟體打開,將內容複製貼上,然後點 Add Key 。
4. 測試一下,用以下指令試試看可不可以連到 GitHub。
中間會需要你確認,輸入 yes 就可以了。成功的話會出現以下資訊:
5. 設定 GitHub token。回到 GitHub 的網站,選擇 “Account Settings” > “Account Admin.” 裡面有一欄叫做 API token 的字串,複製以後在以下指令中貼上(或是手動輸入)。
$ git config –global github.token 你的 API token 字串
以上步驟對等等要直接複製 GitHub 的 WP 檔案到自己的 Heroku 帳戶下很重要,沒有這些設定是不能用 cloning 的方式安裝 WP 的。
接下來終於可以開始安裝了!
在 Ruby 的 command window 或是 Git Bash 依序輸入以下指令來新增一個新的 Heroku App。
Enter your Heroku credentials.
Email: Heroku email 帳號
Password: 密碼
Uploading ssh public key /Users/電腦使用者名稱/.ssh/id_rsa.pub
Created http://HEROKU伺服器和編碼.heroku.com/ | git@heroku.com:HEROKU伺服器和編碼.git
Git remote heroku added
如果你之前已經把 API Token 存好,就不需要再認證一次,可以繼續下面的步驟。HEROKU伺服器和編碼這一項就是先前提到需要再 APP list 裡面修改的部分。預先修改可以省下之後修改 WP 內部連結的時間。
這個指令會自動在瀏覽器裡打開你新建的 Heroku APP 主頁。
到這邊,Heroku 上已經有一個空間準備好可以放你的 WP 程式了。
第三部分:Wordpress Config 問題
在上傳 WP 到 Heroku 上之前,需要修改 wp-config.php 這個檔案,檔案應該是在 WP 打開的第一層資料夾內,有一個是 wp-config-sample.php。需要把這個檔案裡面一些參數做調整。這些參數可以用下面的指令取得:
> DATABASE_URL => postgres://共享資料庫的使用者名稱:資料庫密碼@伺服器名稱/資料庫名稱
> SHARED_DATABASE_URL => postgres://username:password@host/database_name
heroku config 會傳回資料庫的位址,並且以上面的格式呈現,也就是,在冒號前是你的共享資料庫內的使用者名稱,冒號到@符號前是密碼,“host/”之後是資料庫的名稱。這些參數都是亂碼,所以抄的時候要抄對。接著把這些資訊貼到 wp-config.php 相對應的參數裡。
define(‘DB_NAME’, ‘資料庫名稱’);
/** Database username */
define(‘DB_USER’, ‘共享資料庫的使用者名稱’);
/** Database password */
define(‘DB_PASSWORD’, ‘資料庫密碼’);
/** Database hostname */
define(‘DB_HOST’, ‘伺服器名稱’);
這些步驟在一般 ftp 安裝 WP 中是可以自動執行的,但是因為 Heroku 用的 database 不是 WP 預設的 MySQL,而是 PostgreSQL,所以需要手動重設。此外,也需要預先安裝可以讀取 PostgreSQL 的 plug-in(PG4WP)在 wp-content 資料夾下。
除了這個,如果有其他 plug-in 或 theme 想要安裝,也建議一次把所有組件都放到 wordpress 的資料夾裡,因為 Git push 不比 FTP,每次要上傳都要 commit 一次,而且連線也滿麻煩,如果先把所有要上傳的東西都放到資料夾裡一次上傳,就會方便許多。
第四部分:Git push 上載 WP 資料夾到 Heroku
剩下的步驟就簡單多了,只有一兩行指令就完成了。
這一步是將其中一個版本的 WP 檔案標示為正式版本,並且標注它為要上傳使用的版本。在 Git 的 Repository 裡面,程式會自動儲存每次修改的版本,也就是每次用 Git 修改 APP 時,程式都會自動複製一次你的原始碼,供你修改。但是只有 commit 過的才會被保存下來,下次你開啟檔案時就是開啟 commit 過的版本。這邊必須要 commit 過你的整個 WP 資料夾,才能接著下面 push 的動作。
最後一行指令!如果成功會出現下面的訊息:
Compressing objects: 100% (58/58), done.
Writing objects: 100% (65/65), 80.54 KiB, done.
Total 65 (delta 14), reused 0 (delta 0)
—–> Heroku receiving push
—–> Rails app detected
Compiled slug size is 0.1MB
—–> Launching……. done
App deployed to Heroku
To git@heroku.com:你的伺服器名稱.git
* [new branch] master -> master
這樣就大功告成了!
步驟很繁雜,但是除了第一、二步設定上需要花多一點時間,WP 的設定其實有已經設定好的模板可以從 GitHub 上複製到 Heroku 上。中文版可參考本站另一篇文章。英文版則在這裡。
来源:yapeshu.invenio.us/2011/10/web-heroku-wordpress.html
===========
如何使用heroku绑定独立域名而不被墙
0.准备
具备独立域名:例如rubytoy.info
搭好heroku应用:如ruby-toy.heroku.com
1.在Heroku绑定域名
到https://addons.heroku.com/custom_domains
选择免费版本,跳转到选择应用界面,选择你要安装的应用,点select就装上了.
到https://addons.heroku.com/zerigo_dns,同Custom domains的操作
2.使用DNSPod做域名解析
到DNSPod注册一个账号. 它有一个很傻瓜化的导航操作,一步一步安装操作就ok了:
1.填写域名(这里随便举一个)
2.添加记录,可以继续添加子域名
3.选择单IP,主线填proxy.heroku.com,这步很重要.
4.邮件系统选择,这里略过
5.点确定生成
6.提示到godaddy修改配置
3.Godaddy配置
Godday.com->My Account -> 域名列表 -> Nameservers -> Set Nameserver 填上DNSPod提供的地址
回DNSPod检查,还没生效就会提示:
生效会是这样子的:
等个把小时应该就OK了.然后独立域名就能绕过GFW了,因为DNSPod把rubytoy.info和www.rubytoy.info往proxy.heroku.com这条线走,而目前这个地址没被墙.
来源:http://rubytoy.info/blog/2011/12/05/how-to-set-up-heroku-with-domain-without-being-gfwed
博主有在试过在 Heroku 上架設 WordPress blog吗?我不明白文中的“commend window ”在哪里有?
没有试过啊