nginx 실행 실패 An attempt was made to access a socket in a way forbidden by its access permissions

nginx 실행시 bind() to 0.0.0.0:80 failed 라고 에러가 발생하였을 경우 80 포트가 이미 사용중인 것이 문제가 되어 nginx 실행 실패가 되는데 해결법을 알려드립니다.


사용중인 포트확인

nginx 는 기본 80포트를 사용하니까 충돌나는 80 포트를 찾아 줍니다.
시작 > 실행 에서 cmd를 입력하여 cmd 창을 열어줍니다.
netstat -a -o 를 입력하면 실행중인 프로세스 목록이 나옵니다.

사용중인 포트확인

PID를 확인하여 이를 이용해서 프로세스를 종료할 수 있습니다.


PID로 포트확인

프로세스 확인해서 PID를 알아낸 후에 cmd 창에 tasklist /FI “PID eq 4” 을 입력하면 어떤 시스템에서 쓰는지 알 수 있습니다.

PID로 포트확인


프로세스 종료

cmd 창에 taskkill /F /PID 4 를 입력해서 해당 프로세스를 종료할 수 있습니다.
프로세스에 따라 엑세스가 거부되는 경우가 있는데요.
이럴땐 작업관리자 > 세부정보 > PID를 클릭해서 해당 프로세스 속성을 확인합니다.

프로세스 속성 확인


확인해보니 ntoskrnl 으로 NT Kernel & System 위치로 확인됩니다.
이것은 윈도우 서비스의 World Wide Web Publishing 서비스로 해당 서비스를 찾아서 중지 후 사용안함으로 바꿔주면 됩니다.

World Wide Web Publishing  서비스 종료


정상적으로 종료가 되었다면 다시 nginx를 실행하면 80포트로 잘 실행이 될 것입니다.