تثبيت مشروع Webman باستخدام لوحة宝塔
0. متطلبات البيئة
- PHP >= 8.1
1. إنشاء المشروع
cd /www/wwwroot
composer create-project workerman/webman:~2.0
2. إعداد الموقع
ملاحظة:
ستقوم宝塔 تلقائيًا بحماية العملية، أمر البدء هو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
ملحوظة
عادةً لا تحتاج هذه الخطوة، من المشتبه أن تكون خطأ في宝塔، إعداد الخدمة بواسطة المستخدمwww
، ولكن فعليًا تم بدء التشغيل بواسطة المستخدم daemon، مما يؤدي إلى عدم القدرة على الكتابة في دليل runtime
7. إعادة تشغيل الخدمة
8. زيارة الموقع
قم بزيارة الموقع http://example.com
لترى صفحة الترحيب الخاصة بwebman
استكشاف الأخطاء وإصلاحها
-
الموقع غير قابل للوصول مع رسالة 502 Bad Gateway
تحقق مما إذا كان webman قيد التشغيل -
فشل بدء تشغيل weman
كما هو موضح في الصورة، تحقق مما إذا كانت هناك سجلات أخطاء