저는 최근 Laravel 프레임워크를 배우고 Laravel 웹사이트의 성능을 향상시키는 몇 가지 방법을 요약하여 직접 프로젝트를 만들었습니다. 이 글은 주로 라라벨 웹사이트의 오픈 속도를 최적화하는 몇 가지 방법을 소개합니다. 글의 소개는 매우 상세합니다. 도움이 필요한 친구들이 함께 살펴보겠습니다. 그것이 모두에게 도움이 되기를 바랍니다.
머리말
Laravel은 많은 구성 요소와 거대한 코드를 갖춘 강력한 프레임워크입니다. 그럼에도 불구하고 여전히 뛰어난 프레임워크이지만 형식적인 환경에서는 다음 단계입니다. 웹사이트의 개방 속도를 최적화하고 개선하는 것입니다. 다음 글에서는 주로 Laravel 웹사이트의 열기 속도를 최적화하기 위한 몇 가지 방법과 기술을 소개합니다. 자세한 소개를 살펴보겠습니다.
1. 디버그 끄기
.env를 엽니다.
APP_ENV=local APP_DEBUG=false APP_KEY=base64:sT/aTFeaE13eyao1Raee6jC9Ff+Yle1SE+wtyk0H6B4=
2. 캐시 라우팅 및 구성
php artisan route:cache php artisan config:cache
3. Laravel 최적화 명령
php artisan optimize
4. 5. Laravel Cache 사용하기
파일 캐시, 데이터베이스 캐시, Redis 캐시 등의 콘텐츠를 캐시하려면 Laravel의 Cache 메소드를 사용하세요. Redis를 사용할 때 predis 구성 요소를 사용할 수도 있고 여러 캐싱 방법을 결합할 수도 있습니다. sudo composer dump-autoload --optimize
6. CDN 사용
Qiniu CDN은 매달 20G 트래픽과 20G 저장 공간을 제공하며 이는 소규모 사이트에 완전히 충분합니다.
7. PHP 7을 사용하고 OPcache를 활성화하세요
PHP 7의 성능을 향상시키는 몇 가지 팁. 첫 번째는 opache를 활성화하는 것입니다. Zend Opcache를 활성화하는 것을 기억하세요. Opcache를 활성화하지 않아도 PHP7은 더 빠릅니다. Opcache가 활성화된 PHP-5.6보다 빠르기 때문에 이전 테스트 기간 동안 누군가 Opcache를 활성화하지 않았습니다.
내 Alibaba Cloud 서버는 Centos 소스를 통해 제공되는 PHP 7입니다. remi라고 불리며 opcache는 기본적으로 설치되지 않습니다.yum list yum70*
명령을 사용하여 검색하면 거기에 있으므로 설치하십시오. $lists = Cache::remember('travel.destination.lists', 20, function () { return $this->destination->getList(); });
service php70-php-fpm restart
명령. (다른 시스템과 환경은 각자의 조건에 따라 opache를 설치하고 활성화합니다) 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;
8. nginx에서 gzip 압축 켜기
서버에서 gzip 압축 켜기 Nginx는 웹 사이트 성능을 최적화하는 방법 중 하나입니다. 단점은 서버 대역폭 소비를 효과적으로 줄일 수 있다는 것입니다. CPU 점유율을 높이지만 대부분의 경우 CPU가 가장 유휴 상태인 경우가 많습니다.nginx 공식 웹사이트 인용:
ngx_http_gzip_module 모듈은 "gzip" 방법을 사용하여 응답을 압축하는 필터입니다. 이는 종종 전송되는 데이터의 크기를 절반 이상 줄이는 데 도움이 됩니다.
gzip을 활성화하세요. Nginx Compression
nginx.conf 파일을 열고 다음을 추가하세요:rrreeegzip 매개변수 소개
GZIP ON|OFF
🎜🎜gzip 모듈 켜기 또는 끄기🎜🎜GZIP_MIN_LENGTH 1000
code>🎜🎜압축이 허용되는 페이지의 최소 바이트 수를 설정합니다. 페이지 바이트 수는 헤더의 Content-Length에서 가져옵니다. 기본값은 0이며, 크기에 관계없이 페이지를 압축합니다. 바이트 수는 1k보다 크게 설정하는 것이 좋습니다. 1k보다 작으면 점점 더 압축될 수 있습니다. 즉: gzip_min_length 1024🎜🎜GZIP_PROXIED EXPIRED NO-CACHE NO-STORE PRIVATE AUTH;
🎜🎜Nginx를 역방향 프록시로 활성화하고 백엔드 서버에서 반환된 결과를 켜거나 끄십시오. 일치하는 항목은 최종 서버가 "Via"를 포함하는 헤더를 반환해야 합니다. 🎜🎜GZIP_TYPES TEXT/PLAIN APPLICATION/XML;
🎜🎜 압축을 위한 MIME 유형과 일치합니다. (지정 여부에 관계없이) "text/html" 유형은 항상 압축됩니다. 🎜🎜🎜브라우저를 통해 gzip 압축이 켜져 있는지 확인하세요🎜🎜🎜예를 들어 Firefox에서 그림과 같이 웹 페이지를 열고 디버그 제어 표시줄을 엽니다. 🎜🎜🎜🎜🎜Content-Encoding 필드는 gzip입니다. , 이는 웹페이지가 gzip으로 압축되었음을 의미합니다. 🎜🎜이것은 단지 라라벨 웹사이트의 성능 최적화 방법이 아니고, 대부분은 일반적인 웹사이트 성능 최적화 방법이며, 물론 최적화할 수 있는 곳도 많습니다. 🎜🎜🎜관련 권장 사항: 🎜🎜🎜🎜🎜Laravel이 비동기 프로세스를 실행하기 위해 감독자를 구현하는 방법에 대한 자세한 설명🎜🎜🎜Laravel을 사용하여 간단한 양식 제출을 구현하는 방법에 대한 자세한 설명
위 내용은 Laravel 프로젝트 속도 최적화에 대한 간략한 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!