Laravel網站打開速度優化的方法匯總


原文:https://www.jb51.net/article/118782.htm

最近在學習 Laravel 框架,自己做了個小站,總結了一些 Laravel 網站性能提升的方法。所以下面這篇文章主要給大家匯總介紹了關於Laravel網站打開速度優化的一些方法,文中介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
 

前言

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

一、關閉debug

打開.env文件,把debug設置為false.

?
1
2
3
APP_ENV=local
APP_DEBUG=false
APP_KEY=base64:sT/aTFeaE13eyao1Raee6jC9Ff+Yle1SE+wtyk0H6B4=
 

二、緩存路由和配置

?
1
2
3
php artisan route:cache
 
php artisan config:cache
 

三、Laravel優化命令

?
1
php artisan optimize
 

四、composer優化

?
1
sudo composer dump-autoload --optimize
 

五、使用Laravel緩存

使用Laravel的Cache方法緩存內容,有文件緩存,數據庫緩存,redis緩存,使用redis也可以用predis組件,也可以多種緩存方式結合。

?
1
2
3
$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下來:

?
1
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文件,添加如下:

?
1
2
3
4
5
6
7
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網站的性能優化方法,其中很多是通用的網站性能優化的方法,當然還有很多可以優化的地方。

總結

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM