Laravel網站開啟速度優化的方法彙總

Laravel網站開啟速度優化的方法彙總

前言

Laravel是一個功能強大的框架,元件很多,程式碼也很龐大,它的易用方便是犧牲了效能的,即便如此它仍然是一個優秀的框架,但在正式環境下要做好優化提升網站的開啟速度。下面這篇文章主要給大家介紹了關於Laravel網站開啟速度優化的一些方法技巧,下面話不多說,來一起看看詳細的介紹:

一、關閉debug

開啟.env檔案,把debug設定為false.


APP_ENV=local
APP_DEBUG=false
APP_KEY=base64:sT/aTFeaE13eyao1Raee6jC9Ff Yle1SE wtyk0H6B4=

二、快取路由和配置


php artisan route:cache
php artisan config:cache

三、Laravel優化命令


php artisan optimize

四、composer優化


sudo composer dump-autoload --optimize

五、使用Laravel快取

使用Laravel的Cache方法快取內容,有檔案快取,資料庫快取,redis快取,使用redis也可以用predis元件,也可以多種快取方式結合。


$lists = Cache::remember('travel.destination.lists', 20, function () {
return $this->destination->getList();
});

六、使用CDN

如七牛CDN,每月送你20G流量和20G儲存空間,對於小站來說完全足夠了。

七、使用PHP 7並開啟OPcache

提高PHP 7效能的幾個tips,第一條就是開啟opache,引用下原文:

記得啟用Zend Opcache, 因為PHP7即使不啟用Opcache速度也比PHP-5.6啟用了Opcache快, 所以之前測試時期就發生了有人一直沒有啟用Opcache的事情

我的阿里雲伺服器是通過一個叫remi的centos源提供的PHP 7,預設沒裝opcache,用yum list yum70*命令搜尋一下,果然有,於是install下來:


yum install php70-php-opcache.x86_64

然後重啟php-fpm,使用service php70-php-fpm restart命令。(不同的系統和環境根據自己的情況安裝和開啟opache)

新建一個php檔案,用phpinfo()函式顯示php.ini資訊,如果可以找到OPcache項,說明成功啟用了。安裝和啟用PHP 7,就是給PHP 7再加一個翅膀!

八、nginx開啟gzip壓縮

在伺服器Nginx開啟gzip壓縮是優化網站效能的方法之一,可以有效減少伺服器頻寬的消耗,缺點是會增大CPU的佔用率,但是很多時候CPU往往是空閒最多的。

引用nginx官網的介紹:

The ngx_http_gzip_module module is a filter that compresses responses using the “gzip” method. This often helps to reduce the size of transmitted data by half or even more.

在Nginx開啟gzip壓縮

開啟nginx.conf檔案,新增如下:


gzip on;
gzip_min_length 1k;
gzip_buffers 16 64k;
gzip_http_version 1.1;
gzip_comp_level 9;
gzip_types text/plain application/x-javascript application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary on;

gzip引數介紹

GZIP ON|OFF

開啟或者關閉gzip模組

GZIP_MIN_LENGTH 1000

設定允許壓縮的頁面最小位元組數,頁面位元組數從header頭中的Content-Length中進行獲取。預設值是0,不管頁面多大都壓縮。建議設定成大於1k的位元組數,小於1k可能會越壓越大。 即: gzip_min_length 1024

GZIP_PROXIED EXPIRED NO-CACHE NO-STORE PRIVATE AUTH;

Nginx作為反向代理的時候啟用,開啟或者關閉後端伺服器返回的結果,匹配的前提是後端伺服器必須要返回包含”Via”的 header頭。

GZIP_TYPES TEXT/PLAIN APPLICATION/XML;

匹配MIME型別進行壓縮,(無論是否指定)”text/html”型別總是會被壓縮的。

通過瀏覽器判斷是否開啟gzip壓縮

如firefox,開啟一個網頁,開啟debug控制欄,如圖:

Content-Encoding欄位是gzip,表示該網頁是經過gzip壓縮的。

這不僅僅是針對Laravel網站的效能優化方法,其中很多是通用的網站效能優化的方法,當然還有很多可以優化的地方。

總結

以上就是這篇文章的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對指令碼之家的支援。

您可能感興趣的文章:

詳談PHP程式Laravel 5框架的優化技巧Laravel使用memcached快取對文章增刪改查進行優化的方法