วิธี deploy swoole php บน ubuntu 20 โดยรันเว็บผ่าน cyberpanel
Moderator: mindphp, ผู้ดูแลกระดาน
- mindphp
- ผู้ดูแลระบบ MindPHP
- โพสต์: 47760
- ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
- ติดต่อ:
วิธี deploy swoole php บน ubuntu 20 โดยรันเว็บผ่าน cyberpanel
วิธี deploy swoole php บน ubuntu 20 โดยรันเว็บผ่าน cyberpanel
หลักการ
1. เช็ค path เวอร์ชั่นที่จะใช้เพราะ cyberpanel จะมี php หลายเวอร์ชั่นให้เลือกใช้
2. ติดตั้ง Swoole ใช้ PECL ในการติดตั้ง ต้องเลือกเวอร์ชั่น php ที่จะเพิ่ม swoole เพิ่มลงไป
3. ตั้งค่า Virtual Host ใน OpenLiteSpeed
เพิ่ม External App เพื่อรัน PHP CLI ด้วย Swoole (ในส่วนของ Virtual Host หรือ Global):
4. ตั้งค่ารันแอปพลิเคชัน Swoole
5. ติดตั้งและตั้งค่า Supervisor เพื่อให้ Swoole รันตลอดเวลา
6. ตั้งค่า Firewall
เดี๋ยวจะรวบรวมทำเป็นบทความ แบบเป็นทางการมาลงเพิ่มให้
หลักการ
1. เช็ค path เวอร์ชั่นที่จะใช้เพราะ cyberpanel จะมี php หลายเวอร์ชั่นให้เลือกใช้
2. ติดตั้ง Swoole ใช้ PECL ในการติดตั้ง ต้องเลือกเวอร์ชั่น php ที่จะเพิ่ม swoole เพิ่มลงไป
3. ตั้งค่า Virtual Host ใน OpenLiteSpeed
เพิ่ม External App เพื่อรัน PHP CLI ด้วย Swoole (ในส่วนของ Virtual Host หรือ Global):
4. ตั้งค่ารันแอปพลิเคชัน Swoole
5. ติดตั้งและตั้งค่า Supervisor เพื่อให้ Swoole รันตลอดเวลา
6. ตั้งค่า Firewall
เดี๋ยวจะรวบรวมทำเป็นบทความ แบบเป็นทางการมาลงเพิ่มให้
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
- mindphp
- ผู้ดูแลระบบ MindPHP
- โพสต์: 47760
- ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
- ติดต่อ:
Re: วิธี deploy swoole php บน ubuntu 20 โดยรันเว็บผ่าน cyberpanel
วิธี Deploy Swoole PHP บน Ubuntu 20 โดยรันเว็บผ่าน CyberPanel
การใช้ Swoole PHP บนเซิร์ฟเวอร์ที่รันผ่าน CyberPanel และ OpenLiteSpeed นั้นจำเป็นต้องตั้งค่าหลายส่วนให้ทำงานร่วมกันได้อย่างถูกต้อง โดยมีขั้นตอนหลักดังต่อไปนี้
1. เช็ค Path และเวอร์ชันของ PHP ที่ใช้
เนื่องจาก CyberPanel รองรับ PHP หลายเวอร์ชัน การติดตั้งและตั้งค่าจะต้องเลือกเวอร์ชัน PHP ที่เหมาะสมก่อน โดยสามารถตรวจสอบเวอร์ชันที่ใช้งานได้ด้วยคำสั่ง:
หรือใช้คำสั่ง:
2. ติดตั้ง Swoole ด้วย PECL
เมื่อตรวจสอบเวอร์ชัน PHP ที่จะใช้ได้แล้ว สามารถติดตั้ง Swoole ผ่าน PECL ได้โดยใช้คำสั่ง:
หลังจากติดตั้งเสร็จแล้ว ให้เพิ่มส่วนขยายลงในไฟล์ php.ini ของ PHP เวอร์ชันที่เลือก:
3. ตั้งค่า Virtual Host ใน OpenLiteSpeed
เพื่อให้สามารถรัน Swoole ผ่าน OpenLiteSpeed ได้ จำเป็นต้องกำหนด External App ให้รองรับการรัน PHP CLI ผ่าน Swoole
สร้างไฟล์ server.php สำหรับ Swoole ตัวอย่างเช่น:
รันคำสั่งเพื่อทดสอบ:
หากไม่มีข้อผิดพลาด แสดงว่า Swoole ทำงานได้ถูกต้อง
5. ติดตั้งและตั้งค่า Supervisor ให้ Swoole รันตลอดเวลา
เพื่อให้ Swoole รันอยู่ตลอดเวลาและรีสตาร์ทอัตโนมัติในกรณีที่เซิร์ฟเวอร์รีบูต จำเป็นต้องติดตั้ง Supervisor:
สร้างไฟล์คอนฟิกสำหรับ Supervisor:
เพิ่มเนื้อหาต่อไปนี้:
บันทึกไฟล์และรีโหลด Supervisor:
6. ตั้งค่า Firewall
เปิดพอร์ตที่ใช้สำหรับ Swoole โดยปกติคือพอร์ต 9501:
สรุป
หลังจากทำตามขั้นตอนข้างต้น คุณจะสามารถรัน Swoole PHP บน CyberPanel และ OpenLiteSpeed ได้เรียบร้อย โดย Swoole จะรันอยู่ตลอดเวลาและสามารถเข้าถึงผ่านเบราว์เซอร์ที่พอร์ต 9501 (หรือพอร์ตที่กำหนดไว้) ได้ทันที
การใช้ Swoole PHP บนเซิร์ฟเวอร์ที่รันผ่าน CyberPanel และ OpenLiteSpeed นั้นจำเป็นต้องตั้งค่าหลายส่วนให้ทำงานร่วมกันได้อย่างถูกต้อง โดยมีขั้นตอนหลักดังต่อไปนี้
1. เช็ค Path และเวอร์ชันของ PHP ที่ใช้
เนื่องจาก CyberPanel รองรับ PHP หลายเวอร์ชัน การติดตั้งและตั้งค่าจะต้องเลือกเวอร์ชัน PHP ที่เหมาะสมก่อน โดยสามารถตรวจสอบเวอร์ชันที่ใช้งานได้ด้วยคำสั่ง:
โค้ด: เลือกทั้งหมด
ls -la /usr/local/lsws/lsphp*
โค้ด: เลือกทั้งหมด
/usr/local/lsws/fcgi-bin/lsphpX.X -v # แทน X.X ด้วยเวอร์ชันที่ต้องการตรวจสอบ
เมื่อตรวจสอบเวอร์ชัน PHP ที่จะใช้ได้แล้ว สามารถติดตั้ง Swoole ผ่าน PECL ได้โดยใช้คำสั่ง:
โค้ด: เลือกทั้งหมด
/usr/local/lsws/lsphpX.X/bin/pecl install swoole
โค้ด: เลือกทั้งหมด
echo "extension=swoole.so" >> /usr/local/lsws/lsphpX.X/etc/php.ini
เพื่อให้สามารถรัน Swoole ผ่าน OpenLiteSpeed ได้ จำเป็นต้องกำหนด External App ให้รองรับการรัน PHP CLI ผ่าน Swoole
- เข้าไปที่ CyberPanel > Websites > เลือกโดเมนที่ต้องการ
- เลือก Manage > Rewrite Rules และเพิ่มกฎที่เกี่ยวข้อง
- เข้าไปที่ OpenLiteSpeed WebAdmin (ปกติคือ https://IP_SERVER:7080)
- ไปที่ Virtual Hosts > เลือกเว็บไซต์ที่ต้องการ
- เข้าไปที่ External App และเพิ่ม External App ใหม่เป็นประเภท Web Server
- ตั้งค่าตามนี้:
- Address: uds://tmp/lsphp.sock
- Command: /usr/local/lsws/lsphpX.X/bin/lsphp
- Max Connections: 10
สร้างไฟล์ server.php สำหรับ Swoole ตัวอย่างเช่น:
โค้ด: เลือกทั้งหมด
<?php
$server = new Swoole\Http\Server("0.0.0.0", 9501);
$server->on("request", function ($request, $response) {
$response->end("Hello, Swoole!");
});
$server->start();
โค้ด: เลือกทั้งหมด
php server.php
5. ติดตั้งและตั้งค่า Supervisor ให้ Swoole รันตลอดเวลา
เพื่อให้ Swoole รันอยู่ตลอดเวลาและรีสตาร์ทอัตโนมัติในกรณีที่เซิร์ฟเวอร์รีบูต จำเป็นต้องติดตั้ง Supervisor:
โค้ด: เลือกทั้งหมด
sudo apt update && sudo apt install supervisor -y
โค้ด: เลือกทั้งหมด
sudo nano /etc/supervisor/conf.d/swoole.conf
โค้ด: เลือกทั้งหมด
[program:swoole]
command=/usr/local/lsws/lsphpX.X/bin/php /path/to/server.php
autostart=true
autorestart=true
stderr_logfile=/var/log/swoole.err.log
stdout_logfile=/var/log/swoole.out.log
โค้ด: เลือกทั้งหมด
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start swoole
เปิดพอร์ตที่ใช้สำหรับ Swoole โดยปกติคือพอร์ต 9501:
โค้ด: เลือกทั้งหมด
sudo ufw allow 9501/tcp
sudo ufw reload
หลังจากทำตามขั้นตอนข้างต้น คุณจะสามารถรัน Swoole PHP บน CyberPanel และ OpenLiteSpeed ได้เรียบร้อย โดย Swoole จะรันอยู่ตลอดเวลาและสามารถเข้าถึงผ่านเบราว์เซอร์ที่พอร์ต 9501 (หรือพอร์ตที่กำหนดไว้) ได้ทันที
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
-
- Similar Topics
- ตอบกลับ
- แสดง
- โพสต์ล่าสุด
-
-
โพสต์ใหม่ วิธี Deploy Django โดยใช้ python3 ด้วย Cyberpanel บน Ubuntu
โดย mindphp » 19/09/2024 3:02 am » ใน Linux - Web Server - 0 ตอบกลับ
- 1197 แสดง
-
โพสต์ล่าสุด โดย mindphp
19/09/2024 3:02 am
-
-
-
โพสต์ใหม่ ติดตั้ง PHP Swoole บน PHP 7.4 ที่ติดตั้ง Cyberpanel 2.1 Ubuntu 20 ไม่ง่ายแต่ไม่อยากเกิน
โดย mindphp » 17/05/2024 2:45 am » ใน Linux - Web Server - 5 ตอบกลับ
- 2056 แสดง
-
โพสต์ล่าสุด โดย mindphp
09/02/2025 7:59 pm
-
-
-
โพสต์ใหม่ วิธีติดตั้ง Node.JS 12.x บน Ubuntu 20 และ Deploy App บน Server
โดย mindphp » 08/11/2022 4:39 am » ใน Linux - Web Server - 0 ตอบกลับ
- 1619 แสดง
-
โพสต์ล่าสุด โดย mindphp
08/11/2022 4:39 am
-
-
-
โพสต์ใหม่ Deploy Node.js 12 บน Ubuntu 22 บน Google Cloud พร้อมการตั้งค่าความปลอดภัย
โดย mindphp » 19/03/2025 2:35 pm » ใน Linux - Web Server - 2 ตอบกลับ
- 4808 แสดง
-
โพสต์ล่าสุด โดย mindphp
19/03/2025 2:46 pm
-
-
-
โพสต์ใหม่ สรุปแนวทางอัพเกรด cyberpanel 2.1 เป็น 2.3 บน Ubuntu 20
โดย mindphp » 11/10/2024 6:45 am » ใน Linux - Web Server - 0 ตอบกลับ
- 1238 แสดง
-
โพสต์ล่าสุด โดย mindphp
11/10/2024 6:45 am
-
-
-
โพสต์ใหม่ สรุปขั้นตอน ติดตั้ง php 8.2 เพิ่มใน Cyberpanel บน Ubuntu 20
โดย mindphp » 11/10/2024 6:31 am » ใน Linux - Web Server - 1 ตอบกลับ
- 1340 แสดง
-
โพสต์ล่าสุด โดย mindphp
02/12/2024 10:08 am
-
-
-
โพสต์ใหม่ แก้ปัญหา deploy Node.JS บน Ubuntu ผ่าน Cyber Panel แล้วระบบไม่เก็บ Error Log
โดย mindphp » 08/04/2022 6:17 am » ใน Linux - Web Server - 3 ตอบกลับ
- 2829 แสดง
-
โพสต์ล่าสุด โดย mindphp
07/02/2024 10:13 am
-
ผู้ใช้งานขณะนี้
สมาชิกกำลังดูบอร์ดนี้: facebook.com [Crawler] และบุคลทั่วไป 3