Laravel-S居然能提升这么高性能!

释放双眼,带上耳机,听听看~!

Laravel-S居然能提升这么高性能!插图

最近公司接了一个基于laravel二开项目,客户对于高并发要求比较高,传统的部署laravel项目测试发现已经达到瓶颈,后来发现 Laravel-S 可以快速集成 Swoole 到 Laravel 或 Lumen,然后赋予它们更好的性能于是就试了下,没想到结果大大出乎我的意料,性能大幅度提升,客户也很满意。

下面说下具体流程:

1.引入依赖

composer require hhxsv5/laravel-s

2.配置好 .env 文件

APP_NAME=test

APP_ENV=local

APP_KEY=base64:QXu20Ct+XlvGEnSmVzrUPXjwGARbb9R6kNo4bj5Ibps=

APP_DEBUG=false

APP_URL=https://xxx.com/

 

LOG_CHANNEL=stack

 

DB_CONNECTION=mysql

DB_HOST=127.0.0.1

DB_PORT=3306

DB_DATABASE=database

DB_USERNAME=root

DB_PASSWORD=root

 

BROADCAST_DRIVER=log

CACHE_DRIVER=file

QUEUE_CONNECTION=sync

SESSION_DRIVER=file

SESSION_LIFETIME=120

 

REDIS_HOST=127.0.0.1

REDIS_PASSWORD=null

REDIS_PORT=6379

 

MAIL_DRIVER=smtp

MAIL_HOST=smtp.mailtrap.io

MAIL_PORT=2525

MAIL_USERNAME=null

MAIL_PASSWORD=null

MAIL_ENCRYPTION=null

 

AWS_ACCESS_KEY_ID=

AWS_SECRET_ACCESS_KEY=

AWS_DEFAULT_REGION=us-east-1

AWS_BUCKET=

 

PUSHER_APP_ID=

PUSHER_APP_KEY=

PUSHER_APP_SECRET=

PUSHER_APP_CLUSTER=mt1

 

MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"

MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

 

JWT_SECRET=Muw2TYybFUCKxxQLcfwJB6qFMrGbUmP1uYqTCa9g9ziceE3bYz9ePM7eJOw1Reyu

3.发布配置和二进制文件。这里有几点要注意,如果修改了路由或者其他配置文件需要清理缓存,重新生成配置缓存

php artisan cache:clear

php artisan config:cache

发布配置和二进制文件

php artisan laravels publish

4.运行

php bin/laravels start

5.与nginx配合使用

gzip on;

gzip_min_length ;

gzip_comp_level ;

gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml application/x-httpd-php image/jpeg image/gif image/png font/ttf font/otf image/svg+xml;

gzip_vary on;

gzip_disable "msie6";

upstream swoole {

    # 通过 IP:Port 连接

    server  weight= max_fails= fail_timeout=30s;

    # 通过 UnixSocket Stream 连接,小诀窍:将socket文件放在/dev/shm目录下,可获得更好的性能

    #server unix:/xxxpath/laravel-s-test/storage/laravels.sock weight= max_fails= fail_timeout=30s;

    #server  weight= max_fails= fail_timeout=30s;

    #server  backup;

    keepalive ;

}

server {

    listen ;

    # 别忘了绑Host哟

    server_name laravels.com;

    root /xxxpath/laravel-s-test/public;

    access_log /yyypath/log/nginx/$server_name.access.log  main;

    autoindex off;

    index index.html index.htm;

    # Nginx处理静态资源(建议开启gzip),LaravelS处理动态资源。

    location / {

        try_files $uri @laravels;

    }

    # 当请求PHP文件时直接响应404,防止暴露public/*.php

    #location ~* .php$ {

    #    return 404;

    #}

    location @laravels {

        # proxy_connect_timeout 60s;

        # proxy_send_timeout 60s;

        # proxy_read_timeout 120s;

        proxy_http_version 1.1;

        proxy_set_header Connection "";

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header X-Real-PORT $remote_port;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_set_header Host $http_host;

        proxy_set_header Scheme $scheme;

        proxy_set_header Server-Protocol $server_protocol;

        proxy_set_header Server-Name $server_name;

        proxy_set_header Server-Addr $server_addr;

        proxy_set_header Server-Port $server_port;

        proxy_pass http://swoole;

    }

}

文章来源于互联网: Laravel-S居然能提升这么高性能!

人已赞赏
杂七杂八

查询自己名下有几个支付宝号方法 可以清除多余的

2020-10-22 19:07:10

杂七杂八

最新QQ假红包恶搞卡片未和谐,支持任意网址跳转

2020-10-22 19:07:12

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索