---
# System prepended metadata

title: 使用Heroku協助開發的奇技淫巧(X)實用功能(O)
tags: [Heroku, 部署, 後端, 筆記, 雲端服務]

---

# 使用Heroku協助開發的奇技淫巧(X)實用功能(O)

###### tags: `Heroku` `部署` `雲端服務` `後端` `筆記`

## [Heroku簡介：提供免費架設網站/網路應用程式方案的PaaS雲端服務(細節詳見連結文章)](https://tw.alphacamp.co/blog/delpoy-an-app-to-paas-heroku)

## Heroku基本用法：
辦個帳號將專案部署上去，再以URL檢視網頁或API
- 常見的語言、框架基本皆支援，如同架設Ubuntu伺服器
    - 但系統有權限限制，如不能使用sudo
- 全端Web、後端API、前端SSR皆適用
    - 補充1：靜態網頁、使用框架的前端SPA，免費部署方案推薦用[GitHub Pages](https://pages.github.com/)，需後端資料再串架在Heroku的API(**免費仔前後端分離套餐組合**的概念！)
    - 補充2：[Vercel](https://vercel.com/)也是免費架設靜態網頁/SPA的方案，比GitHub Pages多些客製化與模板選項，如[搭配hexo寫部落格](https://www.796t.com/article.php?id=219530)(文章資料以markdown形式寫在靜態網頁內儲存)
- [範例：之前寫的PHP+MySQL操作步驟](https://hackmd.io/EyQl0ikjSBGNzGOnuGwQjQ)

## Heroku進階功能：
### dashboard設定調整
- 可查看調整的細部設定資訊
- 如協作權限、外掛選項、活動紀錄、部署設定、環境變數......

### CLI操作指令
- [需額外安裝](https://devcenter.heroku.com/articles/heroku-cli)，以`heroku`開頭，如用於帳號登入驗證(`login`操作APP的權限)、專案建立部署(整合`git push`版控)、遠端紀錄操作(取得即時`logs`或如本機`run`bash指令)......
- [指令列表](https://devcenter.heroku.com/articles/heroku-cli)
- 也可參考在[各支援語言的常用指令](https://devcenter.heroku.com/start)

### add-ons外掛使用
- 常見需求：如資料庫、郵件寄送等第三方服務
    - 應用程式首頁會有使用外掛的連結，連結可查看該外掛的細部設定
    - 資料庫若須遠端存取，[推薦安裝圖形化介面遠端連線，所需登入資訊](https://hackmd.io/OKoBOIwzRzamCIJZKcrGYQ#%E5%B8%B8%E7%94%A8%E7%9A%84%E6%93%8D%E4%BD%9C%E4%BB%8B%E9%9D%A2)可從環境變數或外掛設定取得
