상황
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가 사용하는 걸 알 수 있었다. 생각해보면 당연한 것인데 참..
그리고 리눅스의 좋은점은 에러를 정말 정말 잘 알려준다는 것이다...
'공부 > 기타등등' 카테고리의 다른 글
[web] 쿠키의 동작 (0) | 2023.01.06 |
---|---|
[web]웹 접근성과 HTML의 tabindex 속성 (0) | 2023.01.03 |
정규 표현식 regex (0) | 2021.07.04 |
[ vscode ] 타이틀바 색상 변경하는 방법 (1) | 2021.06.29 |
[vscode] 폴더명 접혀있는 거 고치는 설정 (0) | 2021.06.27 |
댓글