>  기사  >  PHP 프레임워크  >  laradock이 swoole을 설치하지 못하면 어떻게 해야 합니까?

laradock이 swoole을 설치하지 못하면 어떻게 해야 합니까?

藏色散人
藏色散人원래의
2020-04-09 09:42:523040검색

laradock이 swoole을 설치하지 못하면 어떻게 해야 합니까?

laradock이 swoole을 설치하지 못하면 어떻게 해야 하나요?

Laradock에서 swoole을 사용하는 방법

먼저 laradock의 .env 파일에서 WORKSPACE_INSTALL_SWOOLE=true를 수정해야 합니다

가상 머신을 다시 빌드하세요

docker-compose build workspace`

다시 빌드하세요. 그런 다음

docker-compose restart workspace

Enter를 시작하세요. 확인해보세요

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;
         }
     }

이 구성 파일은 공식 문서를 참조하며, 여기에는 매우 중요한 위치가 있는데, 이는 업스트림 서버 작업 공간:1215를 수정하는 것입니다. Nginx는 laravel 환경과 다른 시스템에서 실행되므로 여기서 upsteam을 수정해야 합니다. 그렇지 않으면 502가 발생합니다.

다음으로 laravel 프로젝트에 들어가서 laravel-swoole을 설치합니다.

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

그런 다음 laravel-swoole이 데몬 시작이 되고 swoole 에이전트를 지정하도록 laravel의 .env 파일을 수정할 수 있습니다. 호스트는 수정하지 않았습니다.

SWOOLE_HTTP_HOST=workspace
SWOOLE_HTTP_DAEMONIZE=true
SWOOLE_HOT_RELOAD_ENABLE=true

port 기본값은 1215입니다. 필요한 경우 nginx를 수정하는 것을 잊지 마세요.

Start swoole

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

웹페이지 오픈시 호스트를 변경해서 맞춤 도메인 이름을 사용했습니다. 오픈 후 웰컴페이지가 보이신다면

축하드립니다. 또한 swoole을 시작한 후 성능이 느려지는 경우 일부 매개변수 조정을 수행해야 합니다. 자세한 내용은 공식 문서 swoole을 참조하세요. 이에 대해서는 여기서 논의하지 않습니다.

개발 환경 핫 업데이트

swoole_http

san swoole:http start | stop | restart | resload
에서 max_request = 1로 조정하세요.

위 내용은 laradock이 swoole을 설치하지 못하면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.