情境
在GCP Compute Engine /Ubuntu/Nginx環境下,
透過 git pull 遠端同步已存在的 Laravel專案。
本篇採用個人已上傳github的專案,可透過 https git url 進行後續操作,步驟如下:
git init
git remote -v
正常會顯示 fetch跟push的git網址
如果沒有要先設定 git remote add origin git網址
後,再做一次確認。
git pull origin master
或是 git pull git網址 master
用途:可避免遠端同步機密、非必較檔案、故意忽略的檔案
作法: 在目錄裡放一個 .gitignore 檔,並設定想忽略的規則即可
composer install --no-scripts
php artisan key:generate
確認 MySQL有無 .env 指定的database , username, password
沒有就mysql -u root -p
進入MsySQL後逐步建立。
確認MySQL連線的port 3306 有無在防火牆內。
沒有就用ufw防火牆的設定指令去新增
同上一篇的 Laravel/storage log 寫入權限調整
vim etc/nginx/sites-enabled/default
root /var/www/html/專案所屬資料夾/public;
systemctl restart nginx
php artisan migrate
建立資料庫遷移,讓GCE上的database符合開發時的設定。
php artisan serve
各個專案頁面、RESTful API也可以透過GCE給的外部ip進行測試。
參考資料
https://backlog.com/git-tutorial/tw/reference/remote.html
https://gitbook.tw/chapters/github/pull-from-github.html
https://stackoverflow.com/questions/23411520/how-to-fix-error-laravel-log-could-not-be-opened
https://learnku.com/laravel/wikis/25560
https://git-scm.com/docs/gitignore
https://gitbook.tw/chapters/using-git/ignore.html
https://zlargon.gitbooks.io/git-tutorial/content/file/ignore.html
https://ithelp.ithome.com.tw/articles/10228765
https://dev.to/shuv1824/deploy-laravel-application-with-nginx-on-ubuntu-18-04-on-digitalocean-1egl