การติดตั้งโปรเจกต์ Webman บน Baota Panel
0. ความต้องการของสภาพแวดล้อม
- PHP >= 8.1
1. สร้างโปรเจกต์
cd /www/wwwroot
composer create-project workerman/webman:~2.0
2. ตั้งค่าเว็บไซต์
หมายเหตุ:
Baota จะคอยดูแลการทำงานของโปรเซสโดยอัตโนมัติ คำสั่งเริ่มต้นคือphp /www/wwwroot/webman/start.php start
โดยไม่ต้องใช้พารามิเตอร์-d
มิฉะนั้นจะไม่สามารถเริ่มต้นได้
3. กำหนดค่าเว็บไซต์
4. ตั้งค่าไดเรกทอรีการทำงาน
หมายเหตุ:
เพื่อความปลอดภัยของระบบ ไดเรกทอรีการทำงานจะต้องตั้งค่าเป็น/public
การตั้งค่าที่ไม่ถูกต้องอาจทำให้ไฟล์ที่สำคัญถูกเข้าถึงจากภายนอก
5. ตั้งค่า URL แบบเสมือน
# ส่งต่อคำขอไปยัง webman
location ^~ / {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_http_version 1.1;
proxy_set_header Connection "";
if (!-f $request_filename){
proxy_pass http://127.0.0.1:8787;
}
}
# ห้ามเข้าถึงไฟล์ที่ลงท้ายด้วย .php
location ~ \.php$ {
return 404;
}
# อนุญาตเข้าถึงไดเรกทอรี .well-known
location ~ ^/\.well-known/ {
allow all;
}
# ห้ามเข้าถึงไฟล์หรือไดเรกทอรีที่ขึ้นต้นด้วย .
location ~ /\. {
return 404;
}
6. ตั้งสิทธิ์การเขียนให้กับ runtime
chmod -R 777 /www/wwwroot/webman/runtime
หมายเหตุ
ปกติไม่จำเป็นต้องมีขั้นตอนนี้ อาจจะเป็นข้อบกพร่องของ Baota ซึ่งผู้ใช้ที่ตั้งบริการเป็นwww
เริ่มทำงาน แต่ในความเป็นจริงคือผู้ใช้ daemon ที่เริ่มทำงาน ส่งผลให้ไม่สามารถเขียนในไดเรกทอรี runtime ได้
7. รีสตาร์ทบริการ
8. เข้าถึงเว็บไซต์
เข้าถึงเว็บไซต์ที่ http://example.com
จะเห็นหน้าแรกของ webman
การแก้ไขปัญหา
-
เว็บไซต์ไม่สามารถเข้าถึงได้ แสดงข้อความ 502 Bad Gateway
ตรวจสอบว่า webman ได้เริ่มทำงานหรือไม่ -
webman ไม่สามารถเริ่มทำงานได้
ตามภาพ ตรวจสอบว่ามีบันทึกข้อผิดพลาดหรือไม่