來源: https://strapi.io/documentation/3.0.0-beta.x/guides/deployment.html
路徑 - ./config/environments/production/server.json
{
"host": "${process.env.APP_HOST || '127.0.0.1'}"
"port": "${process.env.NODE_PORT || 1337}",
}
不使用上傳檔案的功能可以跳過此步驟
AWS在註冊過後大約一天的時間,才能使用S3的功能
透過AWS > 服務 搜尋S3,進入到S3的頁面,會像是以下頁面(此為已建立儲存貯體的畫面)
接著開始新增一個儲存貯體吧!
從畫面中的按鈕 +建立儲存貯體
點擊下一頁
基本上不用特別勾選,依照你的專案而定
點擊下一頁
不要勾選
封鎖透過新的存取控制清單 (ACL) 授與的對儲存貯體和物件的公開存取權不要勾選
封鎖透過任何存取控制清單 (ACL) 授與的儲存貯體和物件的公開存取權點擊下一頁
儲存貯體已建立完成,接著需要在strapi中安裝aws s3的插件以及設定相關密鑰才能在strapi中使用AWS S3的服務,可以在完成後試著上傳一個檔案來測試AWS S3的功能
npm install strapi-provider-upload-aws-s3@beta
完成後在strapi admin,選擇擴充功能中的FILES UPLOAD的設定(齒輪)
在儲存空間的選單中,會多了Amazon Web Service S3的選項就表示成功了!
而我們等一下部署到heroku再來設定Token
如下圖
僅介紹Heroku平台方式,原文中還有其他像是AWS, Degital Ocean…的方式
(Heroku使用的資料庫add-on為Postgres)
mac: brew tap heroku/brew && brew install heroku
windows: 直接使用安裝檔 64bit / 32bit
ubuntu: sudo snap install --classic heroku
heroku login
來登入(或是使用heroku網站的登入也可以)
新建專案: strapi new my-project --quickstart
新建專案如要使用AWS請依照AWS S3的步驟設定
.gitignore
將package-lock.json
這行 加入.gitignore
以免出錯
package-lock.json
路徑 - ./你的專案/
//CLI
cd my-project //移動到專案目錄
git init //git 初始化
git add . //git 增加所有檔案
git commit -m "Initial Commit" //git 上傳並附上訊息"Initial Commit"
路徑 - ./你的專案/
heroku create
或是自訂專案名稱 heroku create custom-project[自訂專案名稱]
路徑 - ./你的專案/
在heroku專案新增postgresQL的插件
heroku addons:create heroku-postgresql:hobby-dev
取得資料庫相關設定
heroku config
會取得像是以下資料格式
ostgres://ebitxebvixeeqd:dc59b16dedb3a1eef84d4999sb4baf@ec2-50-37-231-192.compute-2.amazonaws.com: 5432/d516fp1u21ph7b
資料分別為 postgres:// USERNAME : PASSWORD @ HOST : PORT : DATABASE_NAME
將要依此做以下資料庫的設定,相關參數請填入你在heroku config拿到的設定
//CLI
heroku config:set DATABASE_USERNAME=ebitxebvixeeqd
heroku config:set DATABASE_PASSWORD=dc59b16dedb3a1eef84d4999a0be041bd419c474cd4a0973efc7c9339afb4baf
heroku config:set DATABASE_HOST=ec2-50-37-231-192.compute-2.amazonaws.com
heroku config:set DATABASE_PORT=5432
heroku config:set DATABASE_NAME=d516fp1u21ph7b
路徑 - ./你的專案/config/environments/production/database.json
{
"defaultConnection": "default",
"connections": {
"default": {
"connector": "strapi-hook-bookshelf",
"settings": {
"client": "postgres",
"host": "${process.env.DATABASE_HOST}",
"port": "${process.env.DATABASE_PORT}",
"database": "${process.env.DATABASE_NAME}",
"username": "${process.env.DATABASE_USERNAME}",
"password": "${process.env.DATABASE_PASSWORD}",
"ssl": true
},
"options": {}
}
}
}
pg
(postgres套件)路徑 - ./你的專案/
npm install pg --save
//CLI
git add .
git commit -m "Update database config"
git push heroku master //推到master分支並發布到heroku
heroku open //開啟此專案的網站!
使用方法與localhost方法一樣,只是網址改為heroku專案的網址
如果403 forbidden,admin 頁面中的身份與權限,有相關API使用的設定,詳見前篇(快速入門)
如需無法使用graphQL,請安裝graphQL插件並修改其設定檔,詳見前篇(快速入門)
步驟圖示說明
點擊我的安全登入資料
點擊存取金鑰,並建立新的存取金鑰
填入金鑰和其他東西(要選擇production的tab)
上傳成功!
備註: 更新strapi專案
一樣也是將檔案上傳到heroku並發布
路徑 - ./你的專案/
//CLI
git add .
git commit -m "strapi project changed..."
git push heroku master //發布到heroku
heroku open //開啟此專案的網站!