Swoole ialah perpustakaan komunikasi rangkaian berprestasi tinggi yang ringan untuk bahasa PHP Kemunculannya telah meningkatkan prestasi dan kebolehskalaan aplikasi PHP. Nginx ialah pelayan web yang popular dan juga digunakan secara meluas untuk proksi terbalik dan pengimbangan beban. Menggunakan proksi terbalik Nginx dan pengimbangan beban dalam Swoole boleh memanfaatkan Swoole dengan lebih baik. Berikut ialah tutorial menggunakan Nginx untuk melaksanakan proksi terbalik dan pengimbangan beban Swoole.
Mula-mula anda perlu memasang Nginx, yang boleh dipasang melalui arahan berikut:
sudo apt-get update sudo apt-get install nginx
Selepas pemasangan selesai, Nginx perlu dikonfigurasikan. Fail konfigurasi terletak di /etc/nginx/sites-available/default. Buka fail untuk diedit dan ubah suainya kepada kandungan berikut:
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; } }
Dalam fail konfigurasi di atas, kami menentukan huluan bernama swoole, yang mengandungi dua alamat dan pemberat yang dipantau oleh perkhidmatan Swoole. Kami juga menyediakan hos maya untuk mendengar port 80 dan mengedarkan permintaan kepada gugusan swoole melalui proksi terbalik.
Seterusnya, anda perlu menulis perkhidmatan Swoole yang ringkas untuk menerima permintaan yang dikemukakan oleh Nginx. Berikut ialah kod contoh mudah:
<?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();
Dalam kod di atas, kami mencipta perkhidmatan Swoole Http mendengar pada port 9501 dan mengembalikan rentetan Hello World dalam fungsi panggil balik permintaan.
Jalankan arahan berikut untuk memulakan perkhidmatan Swoole:
php server.php
Pada ketika ini, perkhidmatan Swoole telah berjaya dimulakan dan sedang mendengar pada port 9501.
Akhir sekali, jalankan arahan berikut untuk memulakan Nginx:
sudo service nginx start
Pada ketika ini, Nginx telah berjaya dimulakan dan boleh diakses dengan melawati http:// example.com/ untuk menguji respons perkhidmatan Swoole.
Untuk menguji fungsi pengimbangan beban Nginx, kami boleh memulakan perkhidmatan Swoole Http lain untuk mensimulasikan pelayan lain dan menjalankan arahan berikut untuk memulakan :
php server.php --port=9502
Pada masa ini, dalam fail konfigurasi Nginx, kami mentakrifkan berat satu port dalam kelompok swoole sebagai 10 dan berat port lain sebagai 5. Dengan kata lain, Nginx akan memajukan kira-kira 2/3 daripada permintaan ke port 9501, dan 1/3 daripada permintaan ke port 9502. Kami boleh menguji kefungsian pengimbangan beban dengan memuat semula http://example.com/ beberapa kali dalam penyemak imbas.
Ringkasan
Melalui operasi di atas, kami telah berjaya melaksanakan proksi terbalik dan fungsi imbangan beban Nginx dalam Swoole. Fungsi proksi terbalik dan pengimbangan beban Nginx boleh membantu kami mengedarkan permintaan dengan lebih baik dalam aplikasi Swoole dan meningkatkan keselarasan dan kestabilan tapak web dinamik.
Atas ialah kandungan terperinci Tutorial menggunakan proksi terbalik Nginx dan pengimbangan beban dalam Swoole. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!