簡介
Heroku 是 Salesforce 旗下雲服務商,提供方便便捷的各種雲服務,如服務器,數據庫,監控,計算等等。並且他提供了免費版本,這使得我們這些平時想搞一些小東西的人提供了莫大的便捷,雖然他有時長和宕機的限制,但是對於個人小程序來說已經足夠了。
快速入門
注冊賬號
進入 Heroku 官網,因為 Heroku 是國外的站點,所以需要提前准備好FQ。點擊 Sign Up,根據要求填寫好信息。這里需要注意的是,國內大部分的郵箱不支持,所以這里提前准備好 gmail 郵箱進行注冊。
創建 App
Heroku 提供了便捷的網頁控制台和終端,登錄成功后我們直接進入 Heroku 的網頁控制台,選擇我們熟悉的語言進行創建,我們這里選擇兩種方式進行介紹,PHP 和 Java。
PHP
准備
點擊按鈕以后進入開始界面,界面提示我們需要提前安裝好 PHP 和 Composer,使用 PHP 的朋友就不需要更多的介紹了,直接點擊 I'm ready to start。
Set up
下載 Heroku CLI,這是 Heroku 的命令行工具,下載以后可以使用命令行直接進行代碼更新和部署等操作,當然下文也會介紹更方便的部署方式。下載成功以后使用 heroku login 命令,輸入郵箱和密碼進行登錄。
准備項目
如果我們沒有項目,可以直接使用如下命令下載項目源碼,然后部署項目。
git clone https://github.com/heroku/php-getting-started.git sesamepaste
后面跟隨的 sesamepaste 是我將來的項目名稱,然后進入項目
cd sesamepaste
創建App
這里說的 App 不再是我們本地的項目,我們目前可以簡單理解為 Heroku 的一個用來存放我們項目的容器,只有先有了這個容器才能部署我們的項目。運行如下命令創建,其中 sesamepaste 是項目的名稱,也是 Heroku 的唯一標識,后面我們運行成功了,也需要使用 sesamepaste.herokuapp.com 來訪問 App。
heroku create sesamepaste
創建成功以后運行如下命令部署,其實就是把代碼push 到 Heroku 的倉庫,它會幫助我們自動化部署。
git push heroku master
最后使用 heroku open 命令就可以打開我們部署好的網站了。
Java
其他步驟和上面一樣,除了項目地址,如下地址不是官方的例子,是筆者添加了一些spring,mybatis,flyway等集成的版本。
https://github.com/codedrinker/heroku-spring-boot-mybatis-mysql-flyway-example.git sesamepaste
其他
如果是其他語言直接訪問 Heroku幫助頁面,https://devcenter.heroku.com
注意事項
主要注意的是,筆者自己寫的這個 JAVA 項目使用的是 MySQL,所以需要使用的人在創建好了 App 之后執行如下命令。刪除默認數據庫,添加MySQL數據庫
heroku addons:destroy heroku-postgresql
heroku addons:create cleardb:ignite
heroku config # 過程中可以使用 config 命令查看數據庫 URL 是否修改成功
查看日志
如果啟動過程中出現問題,可以使用heroku logs查看日志。如果看到發現變量不對可以使用如下命令打印變量
heroku run echo \$JDBC_DATABASE_URL
簡單介紹
日志
每次運行命令需要進入當前項目的目錄,必要的時候需要輸入 heroku login,使用 heroku logs --tail 命令實施查看輸出日志。
Procfile
你會發現拉取下來的代碼里面有名字是 Procfile 的文件,這文件是用來定義運行項目時候的命令,默認如下,表示使用apache 運行 web項目,目錄是web。
web: vendor/bin/heroku-php-apache2 web/
關聯 Github
上文說到需要 push 到 heroku 的倉庫才能部署,heroku 提供了更強帶的功能,直接關聯 Github 的倉庫的分支,等分支有新內容更新的時候直接部署。這個配置就需要去 web控制台配置了。進入項目,點擊 Deploy,勾選 Github,然后完成配置即可。
