Swoole은 PHP 언어용 경량 고성능 네트워크 통신 라이브러리로, PHP 애플리케이션의 성능과 확장성을 크게 향상시켰습니다. Nginx는 널리 사용되는 웹 서버이며 역방향 프록시 및 로드 밸런싱에도 널리 사용됩니다. Swoole에서 Nginx의 역방향 프록시와 로드 밸런싱을 사용하면 Swoole을 더 잘 활용할 수 있습니다. 다음은 Nginx를 사용하여 Swoole 리버스 프록시 및 로드 밸런싱을 구현하는 방법에 대한 튜토리얼입니다.
- Install Nginx
먼저 Nginx를 설치해야 하며 다음 명령을 통해 설치할 수 있습니다.
sudo apt-get update sudo apt-get install nginx
- Configure Nginx
설치가 완료된 후 Nginx를 구성해야 합니다. 구성 파일은 /etc/nginx/sites-available/default.conf에 있습니다. 편집할 파일을 열고 다음 내용으로 수정합니다.
upstream swoole { server 127.0.0.1:9501 weight=10 max_fails=3 fail_timeout=30s; server 127.0.0.1:9502 weight=5 max_fails=3 fail_timeout=30s; } server { listen 80; server_name example.com; location / { proxy_pass http://swoole; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
위 구성 파일에서 Swoole 서비스에서 모니터링하는 두 개의 주소와 가중치를 포함하는 swoole이라는 업스트림을 정의했습니다. 또한 포트 80을 수신하고 역방향 프록시를 통해 Swoole 클러스터에 요청을 배포하도록 가상 호스트를 설정했습니다.
- Writing Swoole Service
다음으로 Nginx에서 전달한 요청을 받기 위한 간단한 Swoole 서비스를 작성해야 합니다. 다음은 간단한 샘플 코드입니다.
<?php $http = new SwooleHttpServer("0.0.0.0", 9501); $http->on('request', function ($request, $response) { $response->header("Content-Type", "text/plain"); $response->end("Hello World "); }); $http->start();
위 코드에서는 포트 9501에서 수신 대기하는 Swoole Http 서비스를 생성하고 요청 콜백 함수에 Hello World 문자열을 반환했습니다.
- Swoole 서비스 시작
다음 명령을 실행하여 Swoole 서비스를 시작하세요.
php server.php
이 시점에서 Swoole 서비스는 성공적으로 시작되었으며 포트 9501에서 수신 대기 중입니다.
- Start Nginx
마지막으로 다음 명령을 실행하여 Nginx를 시작합니다.
sudo service nginx start
이 시점에서 Nginx는 성공적으로 시작되었으며 http://example.com/을 방문하면 Swoole 서비스의 응답을 테스트할 수 있습니다. .
- 로드 밸런싱 테스트
Nginx의 로드 밸런싱 기능을 테스트하기 위해 다른 Swoole Http 서비스를 시작하여 다른 서버를 시뮬레이션하고 다음 명령을 실행하여 시작할 수 있습니다.
php server.php --port=9502
이번에는 Nginx 구성에서 파일에서 Swoole 클러스터의 한 포트 가중치를 10으로 정의하고 다른 포트의 가중치를 5로 정의합니다. 즉, Nginx는 요청의 약 2/3를 포트 9501로 전달하고 요청의 1/3을 포트 9502로 전달합니다. 브라우저에서 http://example.com/을 여러 번 새로 고치면 로드 밸런싱 기능을 테스트할 수 있습니다.
Summary
위 작업을 통해 Swoole에서 Nginx의 역방향 프록시 및 로드 밸런싱 기능을 성공적으로 구현했습니다. Nginx의 역방향 프록시 및 로드 밸런싱 기능은 Swoole 애플리케이션에서 요청을 더 잘 분산하고 동적 웹사이트의 동시성과 안정성을 향상시키는 데 도움이 될 수 있습니다.
위 내용은 Swoole에서 Nginx 역방향 프록시 및 로드 밸런싱 사용에 대한 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전
