• 技术文章 >后端开发 >php教程

    Laravel项目速度优化的浅析

    *文*文2018-01-03 14:42:13原创957
    最近在学习 Laravel 框架,自己做了个项目,总结了一些 Laravel 网站性能提升的方法。本文主要给大家汇总介绍了关于Laravel网站打开速度优化的一些方法,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。希望对大家有所帮助。

    前言

    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)

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

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

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

    相关推荐:

    详解Laravel实现supervisor执行异步进程的方法

    详解如何使用Laravel实现简单的表单提交

    Laravel优化之分割路由文件

    以上就是Laravel项目速度优化的浅析的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Laravel 浅析 优化
    上一篇:详解YII2多表关联的使用 下一篇:简述Yii2队列shmilyzxt/yii2-queue
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• PHP如何使用xlswriter进行大数据的导入导出?(详解)• function.inc.php超越php_php实例• Drupal, Html, PHP and CSS从来没用过,初学,一周以后可以胜任工作吗?该如何解决 • ie 下无法登录有关问题,清除cookie 后正 • PHP的substr函数怎么完全模拟ASP的right函数
    1/1

    PHP中文网