优化 Laravel 网站打开速度

1.关闭debug

打开.env文件,把debug设置为false.

APP_ENV=local
APP_DEBUG=false
APP_KEY=base64:6ouIfKdFXfaIGZrH9qBCKAWupg4kVwuRsRGpeQnCRh4=

2.缓存路由和配置

php artisan route:cache

php artisan config:cache

3.composer优化

sudo composer dump-autoload --optimize

4.Laravel优化命令

php artisan optimize

5.使用Laravel缓存

使用Laravel的Cache方法缓存内容,有文件缓存,数据库缓存,redis缓存。

$lists = Cache::remember('travel.destination.lists', 20, function () {
    return $this->destination->getList();
});

6.使用CDN

如七牛、网易、百度、阿里等CDN,不过收费。

7.使用PHP7并开启OPcache

apt-get install php70-php-opcache.x86_64

然后使用service php70-php-fpm restart命令重启php-fpm。

注:不同的系统和环境根据自己的情况安装和开启opache

新建一个php文件,用phpinfo()函数显示php.ini信息,如果可以找到OPcache项,说明成功启用了。

8.nginx开启gzip压缩

在服务器Nginx开启gzip压缩是优化网站性能的方法之一,可以有效减少服务器带宽的消耗,缺点是会增大CPU的占用率,但是很多时候CPU往往是空闲最多的。

在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 font/ttf font/otf image/svg+xml;
    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压缩的。

博客文章地址:https://aimpeter.xyz/laravel

本作品采用《CC 协议》,转载必须注明作者和本文链接
©虞城工作室 微信订阅号
本帖由 Summer 于 6年前 加精
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 2

点赞  顺便说下,用户名我喜欢

6年前 评论
Summer

也顺道推荐下之前写过的一篇文字 十个 Laravel 5 程序优化技巧

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!