자동 기동 기준 (php-fpm + Supervisor + Scheduler)¶
운영 서버 재부팅 후 Laravel 서비스가 자동으로 복구되도록 구성하는 startup 기준을 정의함.
Laravel은 구성 요소가 분리되어 있으므로, enable 여부를 개별 확인해야 함.
1. 기본 전제 조건¶
- 코드 배포 완료 (
/var/www/[ProjectName]/current) .env반영 및 캐시 재생성 완료- Nginx / php-fpm 기본 설정 검증 완료
- Queue worker 설정 파일(supervisor) 준비 완료
2. php-fpm 자동 기동¶
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
sudo systemctl status php-fpm
정상 기준:
Loaded: loadedenabled상태Active: active (running)
3. Supervisor 자동 기동¶
sudo systemctl enable supervisord
sudo systemctl start supervisord
sudo systemctl status supervisord
worker 반영 및 상태 확인:
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl status
4. Scheduler 자동 기동 (cron)¶
운영 사용자 계정에서 등록함.
crontab -e
* * * * * cd /var/www/[ProjectName]/current && /usr/bin/php artisan schedule:run >> /dev/null 2>&1
등록 확인:
crontab -l
5. 부팅 후 통합 검증 절차¶
sudo systemctl status nginx
sudo systemctl status php-fpm
sudo systemctl status supervisord
sudo supervisorctl status
추가 확인:
curl -I https://[DOMAIN]
php -v
검증 기준:
- HTTP 응답 정상(200/301/302 등 정책 범위)
- queue worker RUNNING
- scheduler 실행 흔적 존재
6. 자주 발생하는 startup 실패 원인¶
enable누락 (start만 수행)- supervisor 설정 반영 누락 (
reread/update미실행) - worker를 root로 실행
- 운영 계정 cron 누락
- 경로 오타 (
current미반영)
7. 운영 기준 요약¶
1) php-fpm enable + status 확인
2) supervisord enable + status 확인
3) worker 설정 update + status 확인
4) cron 등록 + crontab -l 확인
5) 재부팅 후 동일 상태 재검증
8. 절대 금지 사항¶
- 재부팅 복구를 수동 명령에 의존
- worker를 임시 세션으로 유지
- startup 검증 없이 운영 투입
9. 정리¶
- 자동 기동은 편의 기능이 아니라 복구 보장 절차임
- Laravel 운영은 "서비스가 뜬다"가 아니라 "재부팅 후에도 같은 상태로 뜬다"를 기준으로 판단함