백엔드 개발자
Nginx 이미 주소가 할당 되어 실행 불가 본문
nginx를 도커 이미지 사용하려다가 인증서 문제로 그냥 설치하는 것으로 바꾸기로 하였다.
nginx는 apt install nginx 명령어 한 줄로 설치 가능하기 때문에 이게 더 낫다고 판단했다.
nginx설치하여 설정파일 수정하고 실행하는데 이미 할당 되어 있다고 실행이 되지 않았다.
이전에 도커컨테이너로 실행된 것이 문제인가 했는데 아무리 다 지워도 계속 할당이 되어있다고 했다.
sudo ss -tuln | grep 80
sudo ss -tuln | grep 443
위 명령어로 80, 443 포트에 할당된 프로세스들이 있는지 확인을 하고
sudo KILL -9 [PID]
를 해주었는데 해당 프로세스가 없다고 지워지지 않았다.
알고 보니 내가 PID에 해당된다고 생각해서 입력한 값이 PID가 아니었다.
위 명령어는 포트 80을 사용하는 네트워크 소켓 정보만을 확인할 수 있고 프로세스의 이름과 PID는 표시하지 않았다.
systemctl status nginx.service
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2023-09-14 20:05:36 KST; 4min 11s ago
Docs: man:nginx(8)
Process: 133976 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 133984 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=1/FAILURE)
Sep 14 20:05:35 ip-172-26-11-154 nginx[133984]: nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)
Sep 14 20:05:35 ip-172-26-11-154 nginx[133984]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Sep 14 20:05:35 ip-172-26-11-154 nginx[133984]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
Sep 14 20:05:36 ip-172-26-11-154 nginx[133984]: nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)
Sep 14 20:05:36 ip-172-26-11-154 nginx[133984]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Sep 14 20:05:36 ip-172-26-11-154 nginx[133984]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
Sep 14 20:05:36 ip-172-26-11-154 nginx[133984]: nginx: [emerg] still could not bind()
Sep 14 20:05:36 ip-172-26-11-154 systemd[1]: nginx.service: Control process exited, code=exited, status=1/FAILURE
Sep 14 20:05:36 ip-172-26-11-154 systemd[1]: nginx.service: Failed with result 'exit-code'.
Sep 14 20:05:36 ip-172-26-11-154 systemd[1]: Failed to start A high performance web server and a reverse proxy server.
그래서 여전히 이런 오류가 났고
sudo lsof -i :443
이렇게 찾으니
nginx 114247 root 17u IPv4 1240167 0t0 TCP *:https (LISTEN)
nginx 114594 www-data 17u IPv4 1240167 0t0 TCP *:https (LISTEN)
nginx 114595 www-data 17u IPv4 1240167 0t0 TCP *:https (LISTEN)
nginx 114596 www-data 17u IPv4 1240167 0t0 TCP *:https (LISTEN)
nginx 114597 www-data 17u IPv4 1240167 0t0 TCP *:https (LISTEN)
nginx로 할당된 것들을 찾을 수 있었고, nginx를 다시 시작해줄 것이기 때문에 삭제해주었다.
sudo kill -9 114247 114594 114595 114596 114597
드디어 할당된 것들이 다 삭제되었고 다시 실행 성공하였다.
'인프라' 카테고리의 다른 글
Jenkins Mattermost 알림 설정하기 (0) | 2023.09.17 |
---|---|
젠킨스 CI/CD 프리스타일 프로젝트 vs 파이프라인 (0) | 2023.09.17 |
Comments