laradock安装swoole不成功怎么办

广告:宝塔Linux面板高效运维的服务器管理软件 点击【 https://www.bt.cn/p/uNLv1L 】立即购买

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-swoolephp artisan vendor:publish --tag=laravel-swoole
登录后复制

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

SWOOLE_HTTP_HOST=workspaceSWOOLE_HTTP_DAEMONIZE=trueSWOOLE_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不成功怎么办的详细内容,更多请关注9543建站博客其它相关文章!

广告:SSL证书一年128.66元起,点击购买~~~

9543建站博客
一个专注于网站开发、微信开发的技术类纯净博客。

作者头像
admin创始人

肥猫,知名SEO博客站长,14年SEO经验。

上一篇:php数组可以重复吗
下一篇:ThinkPHP6中如何实现数据库迁移?

发表评论

关闭广告
关闭广告