Laravel Octane + swoole使用加速引擎加速你的应用

2023-06-01 00:00:00 laravel 引擎 加速

1.安装swoole

2.安装加速引擎

composer require laravel/octane
php artisan octane:install
#选择swoole服务


3.nginx配置,让octane来处理php

#处理nginx报错 Unknown "connection_upgrade" Variable 
map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}
server {
    listen 80;
    server_name domain.com;
    root /home/forge/domain.com/public;\
    index index.php;
    ########### 区别与fast-cgi的主要配置 ###########################
    location /index.php {
        try_files /not_exists @octane;
    }
    location / {
        try_files $uri $uri/ @octane;
    }
    location @octane {
        set $suffix "";
        if ($uri = /index.php) {
            set $suffix ?$query_string;
        }
        proxy_http_version 1.1;
        proxy_set_header Host $http_host;
        proxy_set_header Scheme $scheme;
        proxy_set_header SERVER_PORT $server_port;
        proxy_set_header REMOTE_ADDR $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_pass http://127.0.0.1:8000$suffix;
    }
    #####################################################
}


4.开启octane服务

php artisan octane:start --workers=8 --task-workers=10

5.测试 可以直接用ab命令


ps:

使用这种方式的话,需要你对该扩展包及源码要有一定程度的理解,不然出了问题就事故了


建议

使用加速方案的话,必须做个备用方案,比如:

做个负载均衡 fpm/octane各自部署一套,出问题一时解决不了的时候可以切换一下

相关文章