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 相关文章推荐
10个可以简化php开发过程的MySQL工具
Apr 11 PHP
php 各种应用乱码问题的解决方法
May 09 PHP
PHP缩略图等比例无损压缩,可填充空白区域补充色
Jun 10 PHP
解析thinkphp的左右值无限分类
Jun 20 PHP
PHP中使用foreach()遍历二维数组的简单实例
Jun 13 PHP
php版微信公众平台入门教程之开发者认证的方法
Sep 26 PHP
php微信公众平台示例代码分析(二)
Dec 06 PHP
php对xml文件的增删改查操作实现方法分析
May 19 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
Jun 19 PHP
php 中phar包的使用教程详解
Oct 26 PHP
Swoole4.4协程抢占式调度器详解
May 23 PHP
PHP Cli 模式设置进程名称的方法
Jun 12 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
php中3des加密代码(完全与.net中的兼容)
2012/08/02 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
2015/01/13 PHP
PHP基于MySQL数据库实现对象持久层的方法
2015/06/17 PHP
php快速排序原理与实现方法分析
2016/05/26 PHP
PHP获取当前URL路径的处理方法(适用于多条件筛选列表)
2017/02/10 PHP
实例解析php的数据类型
2018/10/24 PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
2019/01/17 PHP
类似CSDN图片切换效果脚本
2009/09/17 Javascript
javascript showModalDialog,open取得父窗口的方法
2010/03/10 Javascript
JS替换字符串中字符即替换全部而不是第一个
2014/06/04 Javascript
Bootstrap选项卡与Masonry插件的完美结合
2016/07/06 Javascript
jQuery实现上传图片前预览效果功能
2017/08/03 jQuery
js 图片转base64的方式(两种)
2018/04/24 Javascript
微信二次分享报错invalid signature问题及解决方法
2019/04/01 Javascript
JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单示例
2019/05/14 jQuery
如何在微信小程序中实现Mixins方案
2019/06/20 Javascript
Vue实现渲染数据后控制滚动条位置(推荐)
2019/12/09 Javascript
微信小程序如何实现radio单选框单击打勾和取消
2020/01/21 Javascript
JavaScript常用工具函数库汇总
2020/09/17 Javascript
JavaScript读取本地文件常用方法流程解析
2020/10/12 Javascript
[15:57]教你分分钟做大人:斧王
2014/10/30 DOTA
[05:49]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS 选手采访
2021/03/11 DOTA
python使用rabbitmq实现网络爬虫示例
2014/02/20 Python
Python实现基于PIL和tesseract的验证码识别功能示例
2018/07/11 Python
python 基于DDT实现数据驱动测试
2021/02/18 Python
HTML5中Canvas与SVG的画图原理比较
2013/01/16 HTML / CSS
Gerry Weber德国官网:优质女性时装,德国最大的时装公司之一
2019/11/02 全球购物
Ooni英国官网:披萨烤箱
2020/05/31 全球购物
在使用非全零作为空指针内部表达的机器上, NULL是如何定义
2014/11/09 面试题
党员学习中共十八大报告思想汇报
2014/09/15 职场文书
2014年教育培训工作总结
2014/12/08 职场文书
创卫工作总结2015
2015/04/22 职场文书
我的兄弟姐妹观后感
2015/06/15 职场文书
2015大学迎新晚会主持词
2015/07/16 职场文书
python编程学习使用管道Pipe编写优化代码
2021/11/20 Python
你真的会用Mysql的explain吗
2022/03/31 MySQL