Instalación del proyecto Webman en el panel de Baota

0. Requisitos del entorno

  • PHP >= 8.1

1. Crear el proyecto

cd /www/wwwroot
composer create-project workerman/webman:~2.0

2. Configurar el sitio web

Nota:
Baota protegerá automáticamente el proceso, el comando de inicio es php /www/wwwroot/webman/start.php start, no agregue el parámetro -d, de lo contrario, no podrá iniciar

3. Configurar el sitio

4. Establecer el directorio de ejecución

Nota:
Por motivos de seguridad del sistema, el directorio de ejecución debe establecerse en /public, una configuración incorrecta podría permitir el acceso a archivos sensibles desde Internet.

5. Configurar la reescritura URL

  # Redirigir las solicitudes a 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;
      }
  }

  # Denegar el acceso a todos los archivos que terminan en .php
  location ~ \.php$ {
      return 404;
  }

  # Permitir el acceso al directorio .well-known
  location ~ ^/\.well-known/ {
    allow all;
  }

  # Denegar el acceso a todos los archivos o directorios que comienzan con .
  location ~ /\. {
      return 404;
  }

6. Dar permisos de escritura a runtime

chmod -R 777 /www/wwwroot/webman/runtime

Nota:
Normalmente no se necesita este paso, se sospecha un bug de Baota, el usuario www establecido para el servicio se inicia en realidad como el usuario daemon, lo que impide escribir en el directorio runtime.

7. Reiniciar el servicio

8. Acceder al sitio

Visite el sitio http://example.com para ver la página de bienvenida de webman.

Solución de problemas

  • Error 502 Bad Gateway al intentar acceder al sitio
    Verifique si webman está en funcionamiento.

  • Fallo en el inicio de weman
    Como se muestra en la imagen, verifique si hay registros de errores.