温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

laradock安装swoole不成功的解决方法

发布时间:2020-12-30 12:39:16 来源:亿速云 阅读:341 作者:小新 栏目:编程语言

这篇文章主要介绍了laradock安装swoole不成功的解决方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

laradock安装swoole不成功怎么办?

Laradock中使用swoole的方法

首先我们需要在 laradock 的.env文件下面修改WORKSPACE_INSTALL_SWOOLE=true

重新 build 一下虚拟机

docker-compose build workspace`

重新 build 好了之后,启动

docker-compose restart workspace

进入虚拟机检查一下是否安装成功了

docker-compose exec workspace bash
 
php -m | grep swoole,

如果打印出了swoole,就证明安装成功了

接下来,我们要修改一下 nginx 的配置文件

     map $http_upgrade $connection_upgrade {
         default upgrade;
         ''      close;
     }
     upstream laravels {
         # Connect IP:Port
         server workspace:1215 weight=5 max_fails=3 fail_timeout=30s;
         keepalive 16;
     }
     server {
         listen 80;
     #    listen [::]:80 ipv6only=on;
         server_name yourdomain.com;
         root /var/www/swoole/public;
         index index.php index.html index.htm;
         error_log /var/www/swoole_error.log;
         location = /index.php {
             # Ensure that there is no such file named "not_exists"
             # in your "public" directory.
             try_files /not_exists @swoole;
         }
         location / {
              try_files $uri $uri/ @swoole;
         }
         location @swoole {
             set $suffix "";
             if ($uri = /index.php) {
                 set $suffix ?$query_string;
             }
             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;
             # IF https
             # proxy_set_header HTTPS "on";
             proxy_pass http://laravels$suffix;
         }
         location ~ /\.ht {
             deny all;
         }
         location /.well-known/acme-challenge/ {
             root /var/www/letsencrypt/;
             log_not_found off;
         }
     }

这份配置文件,是参照官方文档的,这里面有个很关键的地方,就是修改 upsteam 那里,server workspace:1215。因为我们 Nginx 的运行是跟 laravel 的环境在不同一台机子的,所以你必须修改这里的upsteam,不然就会造成502。

接下来,我们进入我们的 laravel 项目,安装一下laravel-swoole,

composer require swooletw/laravel-swoole
php artisan vendor:publish --tag=laravel-swoole

然后接下来,我们可以修改一下 laravel的.env 文件,让laravel-swoole变成守护进程启动还有指定 swoole 代理的host,

SWOOLE_HTTP_HOST=workspace
SWOOLE_HTTP_DAEMONIZE=true
SWOOLE_HOT_RELOAD_ENABLE=true

端口我没有修改,默认是1215,如果有需要可以自行修改,记得修改nginx。

启动swoole

php artisan swoole:http start | stop | restart | resload

打开我们的网页我修改了host,所以我用的是自定义的域名,打开之后如果你看到欢迎页面

恭喜你,成功了。另外,假设你发现启动了swoole 之后,性能反而变慢了,那就要进行一些参数调优了,具体可以参照官方的文档swoole,这里就不展开讲了。

开发环境热更新

调整 swoole_http 中 max_request = 1

san swoole:http start | stop | restart | resload

感谢你能够认真阅读完这篇文章,希望小编分享的“laradock安装swoole不成功的解决方法”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI