Laravel网站打开速度优化的方法汇总


Posted in PHP onJuly 16, 2017

前言

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)

Laravel网站打开速度优化的方法汇总

新建一个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控制栏,如图:

Laravel网站打开速度优化的方法汇总

Content-Encoding字段是gzip,表示该网页是经过gzip压缩的。

这不仅仅是针对Laravel网站的性能优化方法,其中很多是通用的网站性能优化的方法,当然还有很多可以优化的地方。

总结

以上就是这篇文章的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
phpfans留言版用到的install.php
Jan 04 PHP
php db类库进行数据库操作
Mar 19 PHP
PHP 字符串 小常识
Jun 05 PHP
php内核解析:PHP中的哈希表
Jan 30 PHP
destoon安装出现Internal Server Error的解决方法
Jun 21 PHP
php中rename函数用法分析
Nov 15 PHP
PHP中error_reporting()用法详解
Aug 31 PHP
Yii框架使用魔术方法实现跨文件调用功能示例
May 20 PHP
PHP的mysqli_ssl_set()函数讲解
Jan 23 PHP
详解PHP队列的实现
Mar 14 PHP
Laravel框架Blade模板简介及模板继承用法分析
Dec 03 PHP
如何重写Laravel异常处理类详解
Dec 20 PHP
PHP实现创建微信自定义菜单的方法示例
Jul 14 #PHP
PHP微信公众号开发之微信红包实现方法分析
Jul 14 #PHP
PHP机器学习库php-ml的简单测试和使用方法
Jul 14 #PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
Jul 13 #PHP
PHP微信PC二维码登陆的实现思路
Jul 13 #PHP
PHP基于socket实现客户端和服务端通讯功能
Jul 13 #PHP
php中请求url的五种方法总结
Jul 13 #PHP
You might like
dede3.1分页文字采集过滤规则详说(图文教程)续二
2007/04/03 PHP
ubuntu10.04配置 nginx+php-fpm模式的详解
2013/06/03 PHP
php检索或者复制远程文件的方法
2015/03/13 PHP
PHP中SQL查询语句的id=%d解释(推荐)
2016/12/10 PHP
php用xpath解析html的代码实例讲解
2019/02/14 PHP
How to Auto Include a Javascript File
2007/02/02 Javascript
最近项目写了一些js,水平有待提高
2009/01/31 Javascript
javascript setAttribute, getAttribute 在不同浏览器上的不同表现
2010/08/05 Javascript
阻止子元素继承父元素事件具体思路及实现
2013/05/02 Javascript
JavaScript原型链示例分享
2014/01/26 Javascript
JavaScript动态改变HTML页面元素例如添加或删除
2014/08/10 Javascript
js实现鼠标移到链接文字弹出一个提示层的方法
2015/05/11 Javascript
简单了解JavaScript操作XPath的一些基本方法
2016/06/03 Javascript
js中遍历Map对象的方法
2016/07/27 Javascript
基于JavaScript实现购物网站商品放大镜效果
2016/09/06 Javascript
JavaScript使用正则表达式获取全部分组内容的方法示例
2017/01/17 Javascript
详解angularjs 关于ui-router分层使用
2017/06/12 Javascript
JavaScript截屏功能的实现代码
2017/07/28 Javascript
vue自定义一个v-model的实现代码
2018/06/21 Javascript
分享5个好用的javascript文件上传插件
2018/09/16 Javascript
Element-UI踩坑之Pagination组件的使用
2018/10/29 Javascript
微信小程序实现的3d轮播图效果示例【基于swiper组件】
2018/12/11 Javascript
layer.confirm()右边按钮实现href的例子
2019/09/27 Javascript
Python实现分割文件及合并文件的方法
2015/07/10 Python
Python3实现的简单工资管理系统示例
2019/03/12 Python
简单了解python关系(比较)运算符
2019/07/08 Python
对Django 中request.get和request.post的区别详解
2019/08/12 Python
python调用接口的4种方式代码实例
2019/11/19 Python
html5 canvas手势解锁源码分享
2020/01/07 HTML / CSS
印尼穆斯林时尚购物网站:Hijabenka
2016/12/10 全球购物
经营理念标语
2014/06/21 职场文书
租车协议书
2015/01/27 职场文书
中秋节主题班会
2015/08/14 职场文书
给校长的建议书作文400字
2015/09/14 职场文书
《合作意向书》怎么写?
2019/08/20 职场文书
Spark SQL 2.4.8 操作 Dataframe的两种方式
2021/10/16 SQL Server