[Node.js Express] vm node server 요청 오류 502 Bad Gateway

문제상황 : Node.js + express로 개발된 웹 서버 환경 재구축

vm 폴더에 backend/backend/app.js 처럼 폴더 중첩 문제가 있어 하위 폴더 제거 후 git clone으로 상위에 하나 더 가져왔다. 그런데 세팅 전에는 불러와지던 이미지 파일들이 불러와지지 않았다.

 

 

어제의 영향으로 혹시 서버가 두 개 켜진걸까 하고 foreverlist , pm2list 등 확인해보았는데 하나만 제대로 동작하고있었다. 

그리고 오류가 난 시점이 위(clone 이후)와 같다고 생각해서 그 시점에서 어떤 것을 빼뜨렸을까 고민했다.



- express.static 반영 확인
- monit 으로 확인했을 때 연결 확인
- forever list , pm2 list 로 서버 떠있는 목록 확인했고 express,back 외에 다른 서버 없는 것 확인 

 

 

그런데 monit 으로 연결된 뒤 요청은 들어오지 않았다


Try)

try 1: proxy port 번호 맞춰주기

try 2: sudo nginx 점검

# 문법 오류 없음을 테스트
sudo nginx -t

# nginx 재실행 (재실행해야, 수정된 설정파일이 반영됨)
sudo systemctl reload nginx

# (참고) 만약 위 명령어가 안 되는 경우
sudo service nginx restart

try 3 : pm2가 상위/하위 등 어디서 start 위치의 영향 ? x

try 4 : pm2 log 확인 : 권한 오류


외 구글링으로 이것저것 시도해보던 도중 팀원분께서 502 Bad Gateway 오류가 나고있다는 것을 알려주셔서 도메인에 들어가서 확인해보았다. nginx를 처음 설치한 뒤에 가졌던 멘토링 시간에 코치님께서 nginx  welcome ~ 안내문이 뜨면 port 80까지만 유입된거다 라고 말씀하셨던게 기억이 났다. 그런데 메인 페이지에 502 에러가 발생하는 것으로 보아 아예 nginx와 연동이 되고있지 않아서 발생한 문제였다는 것을 유추할 수 있었다!

 

서버 세팅 과정

서버는 이렇게 세팅된다는 것을 머릿속에 간직해두었다가 어떤 부분에서 멈춰있는지를 보면 좀 더 빠르게 찾을 수 있었을 것이다.

 


Sol ) nginx 를 상위 폴더에 재설치

 

sudo apt install nginx

 

 

상위 폴더로 가서 node, npm 등 잘 설치되어있는지 확인하고

1. sudo nano /etc/nginx/sites-available/default 로 프록시 - 포트번호 설정을 맞춰주었다

2. nano .env 로 port 번호 변경 

이후 다행히 cors오류 도 없어지고 이미지도 업로드 되고있는 것을 확인할 수 있었다

 

 

너무 하위 설정에서만 원인을 찾고 있었다. 복구하는 데 1시간 걸렸는데 그사이에 팀원분들 원성이 빗발쳐서 식은땀났다ㅋ 

코치님께서는 "다음에 또 그러면 service nginx status 로 nginx 올라와 있는지 확인도 한번 해주세요 "라고 말씀해 주셨다 

 

 1일 1 서버오류 ...ㅎ 우리팀 미안합니다 ㅎ

ref : https://devblog.lazyig.com/2/