Установка проекта Webman на панели Baota
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. Настройка псевдостатических адресов
# Перенаправление запросов на 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
Как показано на рисунке, проверьте, есть ли ошибки в логах