service failed 에러 발생
Caddy라는 HTTPS를 자동으로 설정해주는 간편한 서비스를 이용하면서,
Caddy를 설치하고 실행할 때 systemctl 명령어를 입력하는데 실패했다는 에러가 발생하여 해결 과정을 정리했다.
$ sudo systemctl start caddy
Job for caddy.service failed because the control process exited with error code.
See "systemctl status caddy.service" and "journalctl -xeu caddy.service" for details.
이 때 다음 명령어를 실행하여 자세한 원인을 파악할 수 있는데, 오류가 발생하는 주요 원인은 3가지로 나뉠 수 있다.
$ systemctl status caddy.service
$ journalctl -xeu caddy.service //로그를 확인하여 추가적인 문제 파악 가능
주요 원인
1. Caddyfile 누락
로그에서 /etc/caddy/Caddyfile 파일을 찾을 수 없다는 메시지가 나올 경우, Caddyfile이 없거나 경로가 잘못된 것이니
Caddyfile을 생성하거나 올바른 경로로 이동해야 한다.
이후 Caddy 서비스를 다시 시작한다.
$ sudo nano /etc/caddy/Caddyfile
2. 권한
파일 권한이나 소유자가 올바르지 않을 수 있으니 아래 명령어로 권한을 확인해본다.
이후 Caddy 서비스를 다시 시작한다.
$ sudo chown caddy:caddy /etc/caddy/Caddyfile
$ sudo chmod 644 /etc/caddy/Caddyfile
3. 포트 사용중
Caddy가 사용하려는 포트를 이미 다른 프로세스가 사용하고 있을 경우 문제가 발생한다. 필자의 경우 이 원인으로 문제가 발생했다.
해결 방법
1. 포트 80을 사용 중인 프로세스 확인
$ sudo lsof -i :80
필자는 포트 80을 사용 중인 Apache 웹 서버가 실행되고 있었다. Apache를 중지하거나 Caddy를 다른 포트에서 실행하면 되는데
필자는 Apache를 중지하였다.
$ sudo systemctl stop apache2
$ sudo systemctl disable apache2
$ sudo systemctl start caddy
이제 Caddy 서비스가 정상적으로 시작된다!
이 다음 단계부터
2024.06.29 - [Services/AWS] - [AWS] Caddy로 도메인 연동 및 HTTPS 활성화하기 글을 참고하여 쉽게 진행할 수 있다.
'💡 > 오류노트' 카테고리의 다른 글
[MySQL] connect ECONNREFUSED 127.0.0.1:3306 에러 해결 (0) | 2024.08.25 |
---|---|
[MySQL] [HY000][1130] "Host 'xxx.xxx.xx.x' is not allowed to connect to this MySQL server". 에러 해결 (0) | 2024.08.10 |
[AWS] 클라우드 서버 DB 연결 에러 해결 (0) | 2024.06.29 |
[Eclipse] 이클립스 실행 오류 '응용 프로그램을 열 수 없습니다.' 해결 (0) | 2024.05.04 |
[VSCode] Prettier HTML 태그 깔끔하게 정렬하기 (0) | 2024.04.18 |