백엔드 개발자

Nginx 이미 주소가 할당 되어 실행 불가 본문

인프라

Nginx 이미 주소가 할당 되어 실행 불가

임잠탱 2023. 9. 17. 11:09

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

드디어 할당된 것들이 다 삭제되었고 다시 실행 성공하였다.

Comments