ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [node.js] Error: listen EACCES: permission denied 0.0.0.0:80
    node.js/node.js 에러 2019. 8. 17. 14:48

    Error: listen EACCES: permission denied 0.0.0.0:80

     

    PM2 log: Script /home/cis/nodeJsWorkspace/myapp.js had too many unstable restarts (16). Stopped. "errored"

     

     

    우분투 환경에서 node.js, npm, pm2 설치하고 간단하게 서버로 구동시킬수만 있게 작성한 다음 pm2로 start 시켰는데 자꾸 status가 errored로 되면서 실행이 안되네요.

    "오타난것도 없는데 왜 안되지 이상하네..." 하면서 이것저것 찾아봅니다.

    pm2로 실행시킨 상태
    pm2 실행 시키고 다시 확인해보면 바로 이렇게 변했습니다. 

    어떤 상태인지 pm2 show 로 확인해봅니다.

    pm2 show 내용

     

    에러가 찍힌곳인 pm2 디렉토리에서 pm2.log와 error.log를 봅니다.

     

    error.log 내용

    에러 로그를 보니 이렇게 생긴게 반복해서 엄청나게 찍혀있네요.

    권한 관련 문제인데...

    작성한 코드에서 포트번호를 8080으로 변경하고 다시 시도해보니

    pm2가 에러를 뱉지 않고 잘 작동하네

     

    이상없이 잘 실행된 화면
    접속한 화면

    브라우저에서 접속도 잘 됩니다.

     

    만약에 "나는 꼭 80포트를 써야만 하겠다!!" 하시는 분들은 2가지 방법 중 하나를 이용하시면 될 것 같습니다.

     

    1. 포트 80을 사용하지 말고 8080과 같은 다른 포트에서 실행하고, 아래 명령으로 80을 해당 포트로 리디렉션 해서 사용하시거나...

    sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080 

     

    2. apache나 nginx 등을 이용해서 80번 포트로 받고 해당 내용을 node.js 쪽으로 전달 해주시면 될 것 같습니다.

     

     

     

    댓글

Designed by Tistory.