윈도우10을 사용하면서 MySQL이나 NGINX, 아파치, 파일질라 서버등을 설치하거나 APM 바이너리 패키지 프로그램을 설치해서 테스트 서버로 사용하는 경우 80 포트를 다른 서비스에서 사용해 웹서버가 제대로 작동되지 않는 경우가 있습니다.

위와 같은 웹서버 관련 패키지 뿐만 아니라 클라우드 서버를 구축할때도 문제가 되는 경우가 있는데요.

이와 같은 경우 프로그램에서 사용하는 포트가 각각 다르기 때문에 현재 윈도우10에서 사용중인 서비스 및 프로세스를 죽이기 위해 포트를 확인하고 해당 포트를 어떤 프로세스가 점유하고 있는지 분석해야 합니다.

윈도우10 열린 포트 확인

열린 포트를 확인하기 위해서는 netstat 명령어를 사용해 포트를 스캔 합니다. netstat 명령어는 유닉스/리눅스 계열에서도 사용하는 명령어로 현재 연결되어 있는 네트워크 커넥션 및 라우팅 테이블등을 확인할 수 있습니다.

현재 명령 프롬프트를 실행한 다음 netstat ? 또는 netstat /? 를 입력하면 명령어에 대한 옵션을 확인할 수 있는데 우리는 열려있는 포트와 프로세스ID(PID)를 확인해야 하므로 netstat -ano 명령어를 입력하면 됩니다.

위 명령어를 입력할 경우 현재 윈도우10에 연결되어 있는 모든 포트에 대한 정보가 확인되는데 우리가 알고 싶은 것은 시스템에서 열려있는 포트이므로 netstat 명령어에 findstr 명령어를 조합해 시스템에서 열린 포트만 간추려 확인할 수 있습니다.

netstat -ano | findstr \[::]\:

위 명령어를 명령프롬프트에 입력하면 현재 시스템에서 사용하는 포트만 필터링되어 출력됩니다.

필자 같은 경우 NGINX를 설치했는데 페이지가 안떠 80번을 사용하는 프로세스를 예로 찾아보자면 위 결과값 맨 오른쪽의 4 가 프로세스 ID(PID) 입니다.

PID를 확인했으면 작업 관리자의 세부 정보 탭에서 해당 프로세스 ID를 가진 프로그램을 찾아봅시다. PID를 기준으로 정렬해서 찾으면 편합니다.

이렇게 찾은 프로세스가 사용자가 잘 알지 못하는 프로그램 같은 경우 해당 프로그램을 삭제하면 되며 만일 위 스크린샷 같인 시스템 프로세스 같은 경우는 서비스에서 관련 항목을 정지하는 것으로 해결하면 되겠습니다.

참고로 윈도우10에서는 IIS를 설치하지 않아도 80번 포트를 W3SVC(World Wide Web Publishing 서비스)가 점유하고 있기 때문에 웹서버를 설치해 사용하려면 해당 서비스를 중지한 다음 사용해야 접속이 가능합니다.

Write A Comment