【Laravel】部屬Laravel前的筆記-總匯篇:伺服器、資料庫、優化、注意事項(未完待更新)

前言:

部屬Laravel其實有很多細節,包括你要部屬在甚麼伺服器、資料庫,還有優化、注意事項等等,這篇不是萬用的,是給自己的筆記,也希望能幫助到一些人。


主題:

伺服器:

通常會分成有沒有錢,
有錢可以選擇有專門為Laravel部屬的,
官網提供了VaporForge,小弟沒錢所以沒試過,
還有萬用的AWS和GCP就不多說了。

若很不幸你的團隊沒有經費、個人使用的話,
Heroku是可以考量的,不過資料庫會是一個癥結點(我看免費的好像只有postgresql),Heroku可以連接Github以達到自動部屬。

另外可以考慮免費的V-host(用FTP上傳檔案的那種),有資料庫,但除了網址很醜之外,部屬會需要更多的功力,我在這篇有提供一些小撇步,另外我是用byethost。





題外話:php 在 MacOs vs Win10的表現

資料庫:


優化:

優化的問題也很多,SQL優化、PHP優化、Laravel優化、前端優化、程式碼優化...太多了,優化又會考量到空間換時間(時間複雜度和空間複雜度),這邊我找了一些資料放,詳細可以請專業的考量優化的CP值挑選,雖然本人不是專業的優化工程師,要我來優化的話也是把網路上寫的攻略試試看,前後測試比對一下執行速率(苦笑,簡單來說,優化是一件很吃經驗的。

SQL優化:

20條Tips:高性能SQL查詢,優化取數速度方案

高手詳解SQL效能優化十條經驗


PHP優化:

Improving PHP Performance for Web Applications

裡面提到比較個人常會使用到的

  1. 使用mecache暫存減少伺服器負擔(有機會再介紹mecache)
  2. 使用isset()取代count(), strlen(), 和 sizeof()
  3. 減少對資料庫的存取次數(簡單來說能用一段sql語法取得,就不要使用for、foreach來存取資料)
  4. 使用 單引號 取代 雙引號,特殊情況以外再使用雙引號
  5. 使用 === 會快於 ==,猜測是因為===是強型別的判斷

Laravel優化:

https://learnku.com/laravel/t/24559


前端優化:

這裡的優化代表執行速度上的優化,而不是介面上的優化。

Google有提供網站優化的評估和建議的網站(繞口令XD

這裡有一些介紹。

--

個人的小建議是,laravel的blade有提供方便的extend和include

但要注意的是你在子網頁面(content)裡面會通用只有特定子頁面會用到的js、css等的不要都放在母頁面。

譬如說,今天新增了一個需要用到chart.js的頁面,只要在content的頁面內引用chart.js即可,

然而今天每個頁面都會用到bootstrap或自己的main.css(舉例:就是每個頁面都會用到的形況下)的時候,就可以在layout.blade內新增。

此舉是為避免在不需要的時候還載入一堆沒用到的函示庫,拖慢載入時間、耗損流量..

這應該算是前端工程師的小常識(?


程式碼上的優化:

考驗工程師的功力XD,平常LeetCode要多看多寫,要記住除了埋頭苦幹之外,多看看別人寫的,計算空間時間複雜度,相信不久就可以成為大魔法師了!(X:是工程師

平常養成寫註解、取變數名稱的習慣



注意事項:

env裡面的debug記得關(False):

這個不用多解釋了吧,不過真的有可能會忘記,我就看過有Laravel的網站跑出錯誤的資訊,為了不要把敏感資訊暴露,上架前確認一下吧。

資安問題:

Laravel這個框架應該已經具備許多資安的防備(ex:在blade的{{}},如果不用(應該是)!{{}}!,就會安全許多)

重導向的網頁(看是否要重製)



留言

其他人都在看...

【Host】利用Render搭配Dockerfile部署Laravel專案吧!(類似Heroku的服務商推薦!)

【Host】十分鐘內五個步驟,將你的React免費部署在Render上吧(附範例)