安裝 Composer:

Windows 版:到 https://getcomposer.org/download/ 下載進行安裝
CentOS 版:

$ wget https://getcomposer.org/installer -O composer-installer.php
$ sudo php composer-installer.php --filename=composer --install-dir=/usr/local/bin

安裝 Laravel:

$ composer create-project laravel/laravel --prefer-dist
安裝指定版本:
$ composer create-project laravel/laravel=5.7.* --prefer-dist blog

運行專案:

專案目錄下
$ php artisan serve

編譯CSS/JS:

專案目錄下
$ npm run watch

上線環境優化:

  1. 在專案目錄下執行
$ php artisan config:cache
$ php artisan route:cache
$ php artisan optimize

2. 官方建議:Laravel 預設採用的快取驅動是 file ,這個驅動儲存了序列化的快取物件在檔案系統中,對於大型應用程式而言,Laravel 比較建議你使用一個在記憶體內的快取,例如 Memcached 或 APC, 你可能也會想為同一個驅動設定多個快取設定檔。

修改.env 檔,前提要先有 redis
CACHE_DRIVER=redis
SESSION_DRIVER=redis

3. 官方建議:在本機開發的時候,你應該將 APP_DEBUG 環境變數設定為 true。在你的「上線環境」中,這個值應該永遠為 false

修改.env 檔
APP_DEBUG=false

以上實測結果有差。

另有下優化方法,測試併發小有較好,但併發大易 timeout,後來發現 timeout 可能其他因素造成,需重測才能確認

$ sudo apt install composer
在專案目錄下
$ composer dumpautoload -o

其他優化:使用OPcache

zend_extension=opcache
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=64
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000 ;視有多少檔案為主
// 線上環境不太會異動 PHP 就設0,freq 那項就沒作用
opcache.validate_timestamps=1 
// 多久檢查檔案時間戳
opcache.revalidate_freq=1800
// drop 掉註解
opcache.save_comments=0
// 二級快取路徑,應該是SHM memory 不夠時才會用到
opcache.file_cache=/tmp
// 轉載:PHP会把自身的text段,以及内存分配中的huge都采用大内存页来保存,减少TLB miss,从而提高性能。
// 要搭配sysctl.conf的設定
opcache.huge_code_pages=1

$ sudo vim /etc/sysctl.conf
vm.nr_hugepages = 512
$ sudo sysctl -p

錯誤處理:

  1. 移動專案位置碰到與session storage 相關的錯誤(忘記截圖)
嘗試先執行
$ php artisan cache:clear
得到
Failed to clear cache. Make sure you have the appropriate permissions.
改先執行
$ php artisan config:cache
再執行一次
$ php artisan cache:clear
解決

之前有碰到更多,但沒紀錄,下次碰到再補上來

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料