공부/기타등등

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

야옹아옹 2021. 8. 27. 18:55

상황

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가 사용하는 걸 알 수 있었다. 생각해보면 당연한 것인데 참..

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