Heroku 教程:使用 Heroku 快速搭建站點


簡介

Heroku 是 Salesforce 旗下雲服務商,提供方便便捷的各種雲服務,如服務器,數據庫,監控,計算等等。並且他提供了免費版本,這使得我們這些平時想搞一些小東西的人提供了莫大的便捷,雖然他有時長和宕機的限制,但是對於個人小程序來說已經足夠了。

快速入門

注冊賬號

進入 Heroku 官網,因為 Heroku 是國外的站點,所以需要提前准備好FQ。點擊 Sign Up,根據要求填寫好信息。這里需要注意的是,國內大部分的郵箱不支持,所以這里提前准備好 gmail 郵箱進行注冊。

創建 App

Heroku 提供了便捷的網頁控制台和終端,登錄成功后我們直接進入 Heroku 的網頁控制台,選擇我們熟悉的語言進行創建,我們這里選擇兩種方式進行介紹,PHP 和 Java。

PHP

准備

點擊按鈕以后進入開始界面,界面提示我們需要提前安裝好 PHPComposer,使用 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,然后完成配置即可。

作者


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM