본문 바로가기
공부/기타등등

[nginx] failed to start the nginx http and reverse proxy server. nginx

by 야옹아옹 2021. 8. 27.

상황

failed to start the nginx http and reverse proxy server. nginx

면접 중에, 메인 로딩 로직에대해서 조언을 해주셔서 해당 방법으로 수정 후, 재배포를 하는데 엄청난 에러가 발생했다.

위 에러가 뜨면서 그냥 nginx가 실행이 안되고...nodeapp도 pm2로 안되고...

에러 코드 전문

원인

위에 써진 말처럼 3005번 포트가 사용중이라서 안되고 있었다.

문제는 근데 3005번 포트는 우리 서버가 사용해야하는데 왜 nginx가 사용하려고 하는 지??🤔?

 

해결

> 일단 죽이는 방법은 아래 접은 글

더보기
netstat -tulpn

# 걜 죽인다.
# 정상 종료 -15 
kill -15 pid 
# 강제 종료
kill -9 pid

netstat

네트워크 프로토콜 통계
-p 소켓과 관련된 프로세스의 이름과 pid 출력
-t tcp -u udp

-n 현재 다른pc와 연결되어있는 포트번호 확인
-l 리스닝 상태

그래서 nginx.conf를 확인하러 갔다.

이번에 배포를 진행하면서 nginx를 처음 사용했는데, 아무래도 잘 모르니까 구글링을 통해서 배포하는 법을 알아보고 여러가지를 참고해서 진행했다.

생각해보면 3005번 포트를 리스닝 상태?로 ..하고 있을 필요가 없고 외부 유저와 80번 포트로 통신하는 리액트 어플리케이션만 리버스 프로싱해주면 됬었는데.. 잘 모르고 쓰는게 이렇게 위험하다..🤦‍♀️

ngix.conf에서 3005번으로 해놓은 설정을 전부 주석처리 해줬다.

#    server {
#        listen      3005;
#        #listen       3005;
#        server_name  20.194.34.174;
#
#       location / {
#       proxy_pass http://localhost:3005/;
#       proxy_http_version 1.1;
#       proxy_set_header Upgrade $http_upgrade;
#       proxy_set_header Connection $http_connection;
#       proxy_set_header Host $http_host;
#       proxy_cache_bypass $http_upgrade;
#               }
#       }

이후 잘 실행됬다.


리뷰

nginx는 진짜 모른다고 말할 수 밖에 없다. 공부를 더 해야겠다. 잘 모르고 막쓰는게 이렇게 위험하다.

nginx로 리버스프록시를 설정할 때, listen에 설정한 포트를 nginx가 사용하는 걸 알 수 있었다. 생각해보면 당연한 것인데 참..

그리고 리눅스의 좋은점은 에러를 정말 정말 잘 알려준다는 것이다... 

댓글