- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Laravel网站打开速度优化的方法汇总由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
前言 。
laravel是一个功能强大的框架,组件很多,代码也很庞大,它的易用方便是牺牲了性能的,即便如此它仍然是一个优秀的框架,但在正式环境下要做好优化提升网站的打开速度。下面这篇文章主要给大家介绍了关于laravel网站打开速度优化的一些方法技巧,下面话不多说,来一起看看详细的介绍:
1、关闭debug 。
打开.env文件,把debug设置为false. 。
1
2
3
|
app_env=local
app_debug=false
app_key=base64:st/atfeae13eyao1raee6jc9ff+yle1se+wtyk0h6b4=
|
2、缓存路由和配置 。
1
2
3
|
php artisan route:cache
php artisan config:cache
|
3、laravel优化命令 。
1
|
php artisan optimize
|
4、composer优化 。
1
|
sudo composer dump-autoload --optimize
|
5、使用laravel缓存 。
使用laravel的cache方法缓存内容,有文件缓存,数据库缓存,redis缓存,使用redis也可以用predis组件,也可以多种缓存方式结合.
1
2
3
|
$lists
= cache::remember(
'travel.destination.lists'
, 20,
function
() {
return
$this
->destination->getlist();
});
|
6、使用cdn 。
如七牛cdn,每月送你20g流量和20g存储空间,对于小站来说完全足够了.
7、使用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再加一个翅膀! 。
8、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网站的性能优化方法,其中很多是通用的网站性能优化的方法,当然还有很多可以优化的地方.
总结 。
以上就是这篇文章的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我的支持.
原文链接:https://aimpeter.xyz/laravel 。
最后此篇关于Laravel网站打开速度优化的方法汇总的文章就讲到这里了,如果你想了解更多关于Laravel网站打开速度优化的方法汇总的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我在想出一个算法时遇到了麻烦... 我有一系列 GPS 数据,以 1 秒为间隔记录时间、速度、距离。假设距离是米,速度是米/秒。可能有超过 2 小时的数据,或 7200 个点。这里的“时间”字段主要是
使用java排序器,即: Collections.sort(myArrayList, new Comparator() { @Override public int c
有什么区别吗 SELECT * FROM my_table 和 SELECT my_column_id FROM my_table 地点: my_table 有百万行 网站上有大量并发用户进行sql查
有2个样本。 在第一个示例中,使用 orderby 可以更快地获得结果。 (根据 phpmyadmin 速度报告) 在另一个例子中,我没有使用 order by,它给出的结果较慢。 (根据 phpmy
我注意到,如果我将训练数据加载到内存中并将其作为 numpy 数组提供到图中,与使用相同大小的 shuffle 批次相比,速度会有很大差异,我的数据有大约 1000 个实例。 使用内存 1000 次迭
我在 python 中使用破折号。我正在绘制记录到 SQLite 数据库中的实时数据,目前,我正在绘制单个值与时间线图。我计划再添加 20 个图表,但目前,随着时间的增加, plotly 变慢,我认为
我试图调用 hasNext Velocity 模板中的方法,以便根据 foreach 循环中的位置影响行为 - 仅 hasNext没有按照文档工作。 这是 Velocity 用户指南的片段,关于 ha
在我正在制作的游戏中,我有两个点,pt1 和 pt2,我想计算出它们之间的角度。我已经在较早的计算中计算出距离。显而易见的方法是对垂直距离上的水平距离进行反正切 (tan(theta) = opp/a
我经常遇到字符串值不存在和/或为空的情况。这是测试这种情况的最佳方法吗? #if( $incentive.disclaimer && $!incentive.disclaimer != '' )
我想将一个模板nested包含在其他模板cont1,cont2和cont3中。 并且嵌套模板应仅对cont1隐藏一个特定控件。 在包含在cont1中之前,我想为一些标志变量$hideMyControl
是否可以更改从“Windows Azure Media Encoder”输出的音频的播放速度? 我正在使用配置为“WMA High Quality Audio”的“Windows Azure Medi
我使用速度将String(template)与字段合并 hi there I'am ${name}, And I'am ${age} old. velocity将字段${name}和${age}与一种
我使用的是 LockedBitmap 类,它简化了 C# 中位图数据的处理。目前它正在将数据复制到本地 byte[] 数组中,然后通过其类方法访问该数组以获取/设置像素颜色值。 这比直接通过指针访问锁
我尝试在 VM_global_library.vm 文件中添加一堆 #set($x=abc) 语句,但这些变量在我的 VM 模板中不可用。 我想为图像的基本路径等设置一个全局变量。这可能吗? 最佳答案
我的项目结构: -src --main ---java ----makers -----SomeClass ---resources ----htmlPattern.vm 如何告诉 SomeClass
我正在尝试从 Velocity 中的字符串中删除不需要的字符(换行符可以,但不能像 EM 和 CAN ASCII 控制字符那样)。 #set($cleanScreen = $cleanScreen.r
我想在日.月.年之间的点处分割日期。例如:2015 年 1 月 14 日至 {14, 01, 2015}这是我使用的代码:dates3.get(0) 包含我从页面的文本字段获取的字符串“14.01.2
之后,从 1.5 升级到速度引擎 1.7 出现了 1.5 没有的问题。为了解释这个问题,我必须展示一个代码片段: #foreach($someVariable in $someCollection)
我想知道从表中选择所有字段是否更快: SELECT * 或只选择您真正需要的: SELECT field1, field2, field3, field4, field5... 假设表有大约 10 个
我正在尝试模仿照片应用程序的行为,在该应用程序中,用户用手指平移照片并且照片具有一定的速度。由于我不会深入的原因,我不能将 UIScrollView 与它的缩放 UIImageView 一起使用,而是
我是一名优秀的程序员,十分优秀!