前言
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网站的性能优化方法,其中很多是通用的网站性能优化的方法,当然还有很多可以优化的地方。
总结
以上就是这篇文章的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。
原文链接:https://aimpeter.xyz/laravel