因為新工作開始接觸PHP
學新東西已經是現在年紀的衝擊
繼續記錄一下。
為了免費的SSL domain 佈署在heroku 是常見的作法之一
也不用受各大雲端平台的「免費方案」限制,是一個可以長期建置的需端網站伺服器
然而這回要將Laravel 網站建在heroku上
建議在做Laravel開發的時候,先建一個「標準」的Laravel 在heroku 上再做開發
以免延申太多看不到底洞的問題!!
首先在此不透過Github上推heroku而是透過heroku 的 git 進行
也許可以先在github做一個標準乾淨的Laravel專案在推上heroku
但因為自已試的時候環境設定可能有點問題,而無法順利
只要從heroku git 下手最快!!
1.下載heroku CLI 軟體,並直接下cmd(一定要先建立環境變數給heroku路徑,安裝CLI時會有這個選項,預設是勾選)
確認heroku CLI是否安裝成功
2.登入已註冊好的heroku
>heroku login
3.移動(cd)到程式碼要安裝的路徑(接下來都在這個路徑下,下指令)
4.這時需要先安裝好composer並且可以執行,建立一個標準乾淨的laravel 專案
$composer create-project laravel/laravel --prefer-dist yourProjectName
4.1 安裝一些開發上需要用的套件
$ composer require youNeedToUsePackageName
5.取得專案的base64 key,這個之後設定heroku 檔案要用,但不知道為何
$ php artisan key:generate --show
6.下載heroku-php-apache2檔案,等下要用
7.就是這裡要用,在heroku機器上需要.Procfile檔案(檔名一個字不差)放在專案根目錄上
$ echo web: heroku-php-apache2的路徑 放置index.php的資料夾名稱 > Procfile
sample:
$ echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
8.建立heroku pipelines 與app
這邊筆者習慣一個專案會有多個pipelines,以切開 開發/正式,所以以下開始建立pipelines
建立一個pipelines在指定的app上(如果還沒建立app也沒關係的)
$ heroku pipelines:create -a appname
引導提供pipeline name、上下選擇版本(dev/product...)
8.1 建立app
$ heroku apps:create yourAppName
8.2 把剛建的pipelines指向app
$ heroku pipelines:add 已存在的pipelinesName -a 已存在appName
9.將第5點的Base64 key 設定到config上
$ heroku config:set APP_KEY=yourBase64Key -a=yourAppName
10.開始將此laravel專案給一個git
git init
10.1 commit project
git commit -m "new laravel project"
10.2 push上傳到支線上
$ push heroku master
以上所有的作法在heroku的後台都可以完成,但唯建立一個「標準乾淨」的Project的部分下指令比較快