Written on
·
524
0
안녕하세요. 프론트 서버 배포 중에 문제가 생겨서 질문드립니다.
현재 백엔드 서버는 잘 실행되고 있습니다.
sudo npm run start 이후에 프론트 주소로 들어가면 다음과 같이 뜹니다.
우분투에서 상황은 다음과 같습니다.
백엔드에서 데이터를 받아올 때 주소에 문제가 있는지 확인해서 다 고치고
그래도 안되서 깃헙 레파지토리를 새로 생성후에 깃클론을 새로 해봤는데 작동이 안되네요.
어디가 문제일까요?
Answer 4
0
말씀하신대로 해봤습니다.
실행 결과입니다.
이미 root로 접속 중인데도 sudo를 치면 달라지나요?
추가로,
npx pm2 start npm -- start
명령어 실행 이후에는 실행 결과가 이렇습니다.
하지만 여기서 보이는 tcp 80은 제가 킨것이기 때문에 이미 80번 포트가 사용중이라는
에러가 뜨려면 실행 전에 이미 다른 포트가 떠야 맞는것 같은데 원인을 모르겠습니다 .
안타깝게도 계속 에러가 발생해서 해결할 수가 없었습니다.
그래서 최후의 방법으로 인스턴스를 새로 만들어서 시도했더니 다행히 실행이 됩니다.
답변 감사드립니다.
0
덕분에 해당 명령어로 에러내용을 확인했습니다!
에러 내용을 해결할때마다 새로운 에러가 계속 나왔는데 다음 에러에서 더이상 해결이 되지 않습니다.
에러 내용은 이렇습니다.
이 에러는
npx pm2 log --err --lines 100
이후에 나옵니다.
npm run build
직후에는 에러내용은 나오지 않습니다.
에러코드가 'EADDRINUSE' 와 'ELIFECYCLE' 2개가 나와서 각각 해결 방법을 검색해서 실행해봤습니다.
code: 'EADDRINUSE',
0|npm | errno: -98,
0|npm | syscall: 'listen',
이 에러의 경우 80 포트를 이미 사용중인 에러내용이라는 것 같아서
1. 특정 포트 확인.
netstat -nap|grep port (ex: netstat -nap|grep 1099)
2. 특정 포트에서 사용하는 프로그램 확인.
lsof -i TCP:port (ex: lsof -i TCP:1099)
3. 특정 포트를 사용하는 프로그램 죽이기.
fuser -k -n tcp port (ex:fuser -k -n tcp 1099)
위 명령어를 실행했습니다.
하지만 80번 포트가 검색이 안된걸로 봐서 문제가 무엇인지 모르겠습니다.
명령어 실행 후에도 에러가 사라지지 않습니다.
'ELIFECYCLE' 이 에러를 검색해보니 node_module 관련 문제인듯 하여 다음 명령어를 실행했습니다.
npm cache clean --force
rm -rf node_modules package-lock.json
npm install
이 명령어를 실행하니 next, react, react-dom 이 설치가 안됐다고 떠서 셋을 수동으로 설치했더니
또 'ELIFECYCLE' 에러가 발생합니다.
제가 socket.io 를 이용한 실시간 채팅 기능을 추가한 것 말고는 강의 내용과 다르게 진행한 부분이 없는데
왜 이런 에러가 뜨는지 모르겠네요..
여기서 어떻게 해야할까요?
80번 포트로 연결이 성공했다는 것은 기존 80번 포트가 꺼졌다는 소리입니다. 이제는 에러가 안 뜰 것 같습니다.