Laravel網(wǎng)站打開速度優(yōu)化的方法匯總
前言
Laravel是一個(gè)功能強(qiáng)大的框架,組件很多,代碼也很龐大,它的易用方便是犧牲了性能的,即便如此它仍然是一個(gè)優(yōu)秀的框架,但在正式環(huán)境下要做好優(yōu)化提升網(wǎng)站的打開速度。下面這篇文章主要給大家介紹了關(guān)于Laravel網(wǎng)站打開速度優(yōu)化的一些方法技巧,下面話不多說,來一起看看詳細(xì)的介紹:
一、關(guān)閉debug
打開.env文件,把debug設(shè)置為false.
APP_ENV=local APP_DEBUG=false APP_KEY=base64:sT/aTFeaE13eyao1Raee6jC9Ff+Yle1SE+wtyk0H6B4=
二、緩存路由和配置
php artisan route:cache php artisan config:cache
三、Laravel優(yōu)化命令
php artisan optimize
四、composer優(yōu)化
sudo composer dump-autoload --optimize
五、使用Laravel緩存
使用Laravel的Cache方法緩存內(nèi)容,有文件緩存,數(shù)據(jù)庫緩存,redis緩存,使用redis也可以用predis組件,也可以多種緩存方式結(jié)合。
$lists = Cache::remember('travel.destination.lists', 20, function () { return $this->destination->getList(); });
六、使用CDN
如七牛CDN,每月送你20G流量和20G存儲(chǔ)空間,對于小站來說完全足夠了。
七、使用PHP 7并開啟OPcache
提高PHP 7性能的幾個(gè)tips,第一條就是開啟opache,引用下原文:
記得啟用Zend Opcache, 因?yàn)镻HP7即使不啟用Opcache速度也比PHP-5.6啟用了Opcache快, 所以之前測試時(shí)期就發(fā)生了有人一直沒有啟用Opcache的事情
我的阿里云服務(wù)器是通過一個(gè)叫remi的centos源提供的PHP 7,默認(rèn)沒裝opcache,用yum list yum70*
命令搜索一下,果然有,于是install下來:
yum install php70-php-opcache.x86_64
然后重啟php-fpm,使用service php70-php-fpm restart
命令。(不同的系統(tǒng)和環(huán)境根據(jù)自己的情況安裝和開啟opache)
新建一個(gè)php文件,用phpinfo()函數(shù)顯示php.ini信息,如果可以找到OPcache項(xiàng),說明成功啟用了。安裝和啟用PHP 7,就是給PHP 7再加一個(gè)翅膀!
八、nginx開啟gzip壓縮
在服務(wù)器Nginx開啟gzip壓縮是優(yōu)化網(wǎng)站性能的方法之一,可以有效減少服務(wù)器帶寬的消耗,缺點(diǎn)是會(huì)增大CPU的占用率,但是很多時(shí)候CPU往往是空閑最多的。
引用nginx官網(wǎng)的介紹:
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參數(shù)介紹
GZIP ON|OFF
開啟或者關(guān)閉gzip模塊
GZIP_MIN_LENGTH 1000
設(shè)置允許壓縮的頁面最小字節(jié)數(shù),頁面字節(jié)數(shù)從header頭中的Content-Length中進(jìn)行獲取。默認(rèn)值是0,不管頁面多大都壓縮。建議設(shè)置成大于1k的字節(jié)數(shù),小于1k可能會(huì)越壓越大。 即: gzip_min_length 1024
GZIP_PROXIED EXPIRED NO-CACHE NO-STORE PRIVATE AUTH;
Nginx作為反向代理的時(shí)候啟用,開啟或者關(guān)閉后端服務(wù)器返回的結(jié)果,匹配的前提是后端服務(wù)器必須要返回包含”Via”的 header頭。
GZIP_TYPES TEXT/PLAIN APPLICATION/XML;
匹配MIME類型進(jìn)行壓縮,(無論是否指定)”text/html”類型總是會(huì)被壓縮的。
通過瀏覽器判斷是否開啟gzip壓縮
如firefox,打開一個(gè)網(wǎng)頁,打開debug控制欄,如圖:
Content-Encoding字段是gzip,表示該網(wǎng)頁是經(jīng)過gzip壓縮的。
這不僅僅是針對Laravel網(wǎng)站的性能優(yōu)化方法,其中很多是通用的網(wǎng)站性能優(yōu)化的方法,當(dāng)然還有很多可以優(yōu)化的地方。
總結(jié)
以上就是這篇文章的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
PHP+Ajax實(shí)現(xiàn)無刷新分頁實(shí)例詳解(附demo源碼下載)
這篇文章主要介紹了PHP+Ajax實(shí)現(xiàn)無刷新分頁的方法,以完整實(shí)例形式詳細(xì)分析了PHP結(jié)合ajax實(shí)現(xiàn)無刷新分頁的具體步驟與相關(guān)技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2016-04-04PHP多維數(shù)組轉(zhuǎn)一維數(shù)組的簡單實(shí)現(xiàn)方法
這篇文章主要介紹了PHP多維數(shù)組轉(zhuǎn)一維數(shù)組的簡單實(shí)現(xiàn)方法,涉及PHP遞歸操作技巧,簡單實(shí)用,需要的朋友可以參考下2015-12-12解析php addslashes()與addclashes()函數(shù)的區(qū)別和比較
本篇文章是對php中的addslashes()與addclashes()函數(shù)的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06php如何調(diào)用webservice應(yīng)用介紹
Web Service也叫XML Web Service WebService是一種可以接收從Internet或者Intranet上的其它系統(tǒng)中傳遞過來的請求,輕量級通訊技術(shù),接下來將詳細(xì)介紹php如何調(diào)用webservice,需要的朋友可以了解下2012-11-11解析php做推送服務(wù)端實(shí)現(xiàn)ios消息推送
本篇文章是對php做推送服務(wù)端實(shí)現(xiàn)ios消息推送的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-07-07解析Win7 XAMPP apache無法啟動(dòng)的問題
本篇文章是對Win7 XAMPP apache無法啟動(dòng)的問題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06PHP PDO數(shù)據(jù)庫操作預(yù)處理與注意事項(xiàng)
今天小編就為大家分享一篇關(guān)于PHP PDO數(shù)據(jù)庫操作預(yù)處理與注意事項(xiàng),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03