12. 트러블슈팅 및 주요 오류 해결 가이드
독립형 LEMP 스택과 외장 SSD 환경에서 넷보드 2(Netboard 2)를 운영하다 보면 예기치 않은 오류나 장애를 마주할 수 있습니다. 시스템을 신속하게 복구하기 위해 자주 발생하는 주요 오류와 해결 방법입니다.
1. 502 Bad Gateway 오류 (PHP 연동 실패)
원인: Nginx 웹 서버가 PHP-FPM 소켓 파일과 정상적으로 통신하지 못할 때 발생합니다.
해결 방법:
PHP-FPM 서비스가 구동 중인지 확인합니다. (sudo systemctl status php*-fpm)
Nginx 설정 파일(/etc/nginx/sites-available/default) 내 fastcgi_pass 경로(예: /var/run/php/php-fpm.sock)가 실제 서버의 소켓 파일 경로와 일치하는지 점검합니다.
2. 403 Forbidden 또는 파일 업로드 권한 오류
원인: 웹 루트 경로(/var/www/html/ssd) 또는 하위 파일의 소유권 권한이 잘못 설정되어 웹 서버 계정(www-data)이 접근하지 못할 때 발생합니다.
해결 방법:
sudo chown -R www-data:www-data /var/www/html/ssd
sudo find /var/www/html/ssd -type d -exec chmod 755 {} \;
sudo find /var/www/html/ssd -type f -exec chmod 644 {} \;
3. 서버 부팅 멈춤 현상 (외장 SSD 마운트 실패)
원인: 외장 USB SSD가 연결되지 않은 상태에서 /etc/fstab에 nofail 옵션이 누락된 경우 부팅 과정이 중단될 수 있습니다.
해결 방법:
/etc/fstab 파일에서 해당 SSD 파티션 설정 뒤에 반드시 ,nofail 옵션이 포함되어 있는지 확인합니다.
UUID=외장SSD아이디 /var/www/html/ssd ext4 defaults,nofail 0 2
4. 데이터베이스 연결 오류 (Database Connection Error)
원인: MariaDB 서비스 중단 또는 config.php에 입력된 DB 계정 정보(비밀번호 등)가 일치하지 않을 때 발생합니다.
해결 방법:
MariaDB 서비스 상태를 확인하고 재시작합니다. (sudo systemctl restart mariadb)
MariaDB 콘솔에 직접 접속하여 계정 권한과 비밀번호를 재확인합니다.
5. SSL 인증서 갱신 실패 (Certbot 오류)
원인: 방화벽(UFW)에서 80번 포트나 443번 포트가 차단되어 Let's Encrypt 인증 서버의 도메인 소유권 검증이 실패할 때 발생합니다.
해결 방법:
UFW 방화벽에서 HTTP(80) 및 HTTPS(443) 포트가 허용되어 있는지 확인하고(sudo ufw status), 인증서 갱신 명령어를 다시 시도합니다. (sudo certbot renew)