laradock安装swoole不成功怎么办
时间:2020-04-09 09:42
laradock安装swoole不成功怎么办? Laradock中使用swoole的方法 首先我们需要在 laradock 的.env文件下面修改WORKSPACE_INSTALL_SWOOLE=true 重新 build 一下虚拟机 重新 build 好了之后,启动 进入虚拟机检查一下是否安装成功了 如果打印出了swoole,就证明安装成功了 接下来,我们要修改一下 nginx 的配置文件 这份配置文件,是参照官方文档的,这里面有个很关键的地方,就是修改 upsteam 那里,server workspace:1215。因为我们 Nginx 的运行是跟 laravel 的环境在不同一台机子的,所以你必须修改这里的upsteam,不然就会造成502。 接下来,我们进入我们的 laravel 项目,安装一下laravel-swoole, 然后接下来,我们可以修改一下 laravel的.env 文件,让laravel-swoole变成守护进程启动还有指定 swoole 代理的host, 端口我没有修改,默认是1215,如果有需要可以自行修改,记得修改nginx。 启动swoole 打开我们的网页我修改了host,所以我用的是自定义的域名,打开之后如果你看到欢迎页面 恭喜你,成功了。另外,假设你发现启动了swoole 之后,性能反而变慢了,那就要进行一些参数调优了,具体可以参照官方的文档swoole,这里就不展开讲了。 开发环境热更新 调整 swoole_http 中 max_request = 1 以上就是laradock安装swoole不成功怎么办的详细内容,更多请关注gxlsystem.com其它相关文章!docker-compose build workspace`
docker-compose restart workspace
docker-compose exec workspace bash
php -m | grep swoole,
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;
}
}
composer require swooletw/laravel-swoole
php artisan vendor:publish --tag=laravel-swoole
SWOOLE_HTTP_HOST=workspace
SWOOLE_HTTP_DAEMONIZE=true
SWOOLE_HOT_RELOAD_ENABLE=true
php artisan swoole:http start | stop | restart | resload
san swoole:http start | stop | restart | resload