인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

dace's profile image
dace

asked

[Renewal] Creating NodeBird SNS with React

프론트 배포 중 에러입니다.

Written on

·

524

0

안녕하세요. 프론트 서버 배포 중에 문제가 생겨서 질문드립니다.

현재 백엔드 서버는 잘 실행되고 있습니다.

sudo npm run start 이후에 프론트 주소로 들어가면 다음과 같이 뜹니다.

우분투에서 상황은 다음과 같습니다.

백엔드에서 데이터를 받아올 때 주소에 문제가 있는지 확인해서 다 고치고

그래도 안되서 깃헙 레파지토리를 새로 생성후에 깃클론을 새로 해봤는데 작동이 안되네요.

어디가 문제일까요?

expressnodejsreduxreactNext.js

Answer 4

0

dace님의 프로필 이미지
dace
Questioner

말씀하신대로 해봤습니다.

실행 결과입니다.

이미 root로 접속 중인데도 sudo를 치면 달라지나요?

추가로,

npx pm2 start npm -- start

명령어 실행 이후에는 실행 결과가 이렇습니다.

하지만 여기서 보이는 tcp 80은 제가 킨것이기 때문에 이미 80번 포트가 사용중이라는

에러가 뜨려면 실행 전에 이미 다른 포트가 떠야 맞는것 같은데 원인을 모르겠습니다 .

zerocho님의 프로필 이미지
zerocho
Instructor

80번 포트로 연결이 성공했다는 것은 기존 80번 포트가 꺼졌다는 소리입니다. 이제는 에러가 안 뜰 것 같습니다.

dace님의 프로필 이미지
dace
Questioner

안타깝게도 계속 에러가 발생해서 해결할 수가 없었습니다.

그래서 최후의 방법으로 인스턴스를 새로 만들어서 시도했더니 다행히 실행이 됩니다.

답변 감사드립니다.

0

dace님의 프로필 이미지
dace
Questioner

추가로,

백서버 주소에 들어갔을 때, hello express 가 잘 나와서 문제 없는줄 알았는데

혹시 몰라서 백에서도 

sudo npx pm2 log --err --lines 100

를 쳐보니 다음과 같은 에러가 나옵니다.

혹시 연관이 있을까봐 첨부합니다.

zerocho님의 프로필 이미지
zerocho
Instructor

sudo lsof -i tcp:80

sudo 붙여서 해보세요.

0

zerocho님의 프로필 이미지
zerocho
Instructor

sudo npx pm2 log --err --lines 100 하셔서 에러가 있는지 확인해보세요.

dace님의 프로필 이미지
dace
Questioner

덕분에 해당 명령어로 에러내용을 확인했습니다!

에러 내용을 해결할때마다 새로운 에러가 계속 나왔는데 다음 에러에서 더이상 해결이 되지 않습니다.

에러 내용은 이렇습니다.

이 에러는

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 를 이용한 실시간 채팅 기능을 추가한 것 말고는 강의 내용과 다르게 진행한 부분이 없는데

왜 이런 에러가 뜨는지 모르겠네요..

여기서 어떻게 해야할까요?

0

zerocho님의 프로필 이미지
zerocho
Instructor

프론트에서 치신 명령어가 sudo npm run start인가요?

강의에서 제가 다른 명령어를 썼을 것입니다.

dace님의 프로필 이미지
dace
Questioner

질문에 오타입니다!

 sudo npx pm2 start npm -- start

로 실행했습니다.

dace's profile image
dace

asked

Ask a question