바오타 패널에 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. 퍼머닐 설정

  # 요청을 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이 시작되었는지 확인하십시오.

  • webman 시작 실패
    아래 그림과 같이 오류 로그가 있는지 확인하십시오.