Instalação do Projeto Webman no Painel Baota

0. Requisitos do Ambiente

  • PHP >= 8.1

1. Criar Projeto

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

2. Configurar Site

Atenção:
O Baota irá manter o processo automaticamente, o comando de início é php /www/wwwroot/webman/start.php start, não adicione o parâmetro -d, caso contrário não será possível iniciar

3. Configurar o Site

4. Definir o Diretório de Execução

Atenção:
Para a segurança do sistema, o diretório de execução deve ser definido como /public, uma configuração incorreta pode permitir o acesso a arquivos sensíveis pela internet

5. Configurar Reescrita de URL

  # Encaminhar solicitações para o 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;
      }
  }

  # Recusar acesso a todos os arquivos que terminam com .php
  location ~ \.php$ {
      return 404;
  }

  # Permitir acesso ao diretório .well-known
  location ~ ^/\.well-known/ {
    allow all;
  }

  # Recusar acesso a todos os arquivos ou diretórios que começam com .
  location ~ /\. {
      return 404;
  }

6. Dar Permissão de Escrita ao Diretório runtime

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

Nota
Normalmente, este passo não é necessário, suspeita-se de um bug do Baota, o serviço configurado para o usuário www é iniciado, mas na verdade é iniciado pelo usuário daemon, resultando na impossibilidade de escrever no diretório runtime

7. Reiniciar Serviço

8. Acessar o Site

Acesse o site http://example.com e você verá a página de boas-vindas do webman

Solução de Problemas

  • Site não acessível com a mensagem 502 Bad Gateway
    Verifique se o webman está iniciado

  • Falha ao iniciar o webman
    Como mostrado na imagem, verifique se há logs de erro