>백엔드 개발 >PHP 튜토리얼 >프로덕션 환경의 Laravel Reverb

프로덕션 환경의 Laravel Reverb

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-30 14:32:151036검색

Laravel Reverb in Production Environment

안녕하세요. 이 튜토리얼을 시작하기 전에 Laravel Reverb 최종 가이드: 실시간 알림을 읽어 보시기 바랍니다. 이 튜토리얼에서는 사용자가 이미 Laravel Reverb를 설정하고 로컬에서 작업하고 있다고 가정합니다.

기본 개념

먼저 포트 연결이 어떻게 작동하는지 이해하는 것이 중요합니다. Laravel Reverb는 두 개의 포트를 사용합니다. 하나는 WebSocket 연결용이고 다른 하나는 서버 통신용입니다.

이 경우 공개 액세스를 위해 포트 443을 사용합니다. 이 포트는 보안 HTTPS 트래픽을 처리하므로 웹페이지에 액세스하는 사용자에게 매우 중요합니다.

WebSocket 통신에는 포트 6001을 사용합니다. 이 포트는 실시간 통신을 위해 서버 내부에서만 사용되므로 공개적으로 액세스할 필요가 없습니다.

구성

이제 .env를 수정해 보겠습니다

REVERB_HOST="your.domain.com" # your domain name here
REVERB_PORT=443 # The public port used by all clients on your website
REVERB_SCHEME=https # Required for prod environment

nginx 구성에 다음 코드를 입력하세요.

server {
  listen 443 ssl;
  listen [::]:443 ssl;
  server_name your.server.name;
  {{ssl_certificate_key}}
  {{ssl_certificate}}

 location /app/ {
    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 "Upgrade";
    proxy_pass http://0.0.0.0:6001;
}
location /apps {
    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 "Upgrade";
    proxy_pass http://0.0.0.0:6001;
}
}

여기서 우리는 무엇을 하나요? 이 설정은 모든 WebSocket 트래픽을 공용 포트 443에서 포트 6001의 내부 WebSocket 서버로 안전하게 리디렉션하여 클라이언트와 서버 간의 안전하고 효율적인 실시간 통신을 가능하게 합니다.

Apache 구성의 경우 이 게시물을 읽을 수 있습니다.

  • https://github.com/laravel/framework/discussions/50675
  • https://github.com/laravel/reverb/issues/107#issuecomment-2019340122

구성을 완료한 후 다음 단계는 서비스를 시작하는 것입니다. 실제 시나리오에서는 감독자와 같은 프로세스 관리자를 사용하여 서비스가 지속적으로 실행되고 필요한 경우 자동으로 다시 시작되도록 해야 합니다.

그러나 테스트 목적으로 명령줄에서 수동으로 명령을 실행할 수 있습니다.

php artisan reverb:start --port=6001 --debug

이제 프로덕션 환경에서 WebSocket을 사용할 준비가 되었습니다. 모든 것이 원활하게 실행되는지 확인하려면 테스트하기 전에 서비스를 다시 시작하고 캐시를 지우는 것을 잊지 마세요.

이 주제에 대해 더 깊이 이해하는 데 도움이 되는 게시물입니다.

  • https://laravel.com/docs/11.x/reverb#production
  • https://medium.com/@saddanfah/how-to-use-laravel-reverb-in-production-server-d89e9670b76a

이 정보가 시작하는 데 도움이 되기를 바랍니다! 다음 포스팅에서 만나요

위 내용은 프로덕션 환경의 Laravel Reverb의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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