ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AWS instance로 Nodejs 구현하기
    웹프로그래밍/NodeJS(Javascript) 2020. 3. 25. 18:23
    반응형

    서버와 데이터베이스 관리 차원에서 효율적으로 관리하기 위해선 로컬보다는 서버를 호스팅해서 하는 것이 좋다.


    우리는 Nodejs를 구동하기 위해 AWS에서 인스턴스를 할당받을 계획이다.


    인스턴스의 pem키를 발급받아 nodejs와 npm까지는 설치를 완료한 상태이다.


    $ sudo npm install -g express


    다음의 명령어를 입력하면 글로벌 옵션으로 어느 path에서든 express를 사용할 수 있게 설치한다.


    다음과 같이 실행이 된다면 성공이다.



    이후 Express generator를 설치한다.


    $ sudo npm install -g express-generator@4

    버전은 4.x이며 이 역시 글로벌 옵션으로 설치해 준다.


    이제 Node monitoring을 위해 nodemon을 설치해 준다.


    $ sudo npm install -g nodemon


    모든 설치가 끝났다.


    이제 nodejs를 실행시킬 프로젝트용 directory를 만든다.





    이렇게 만들어 주고 express를 실행시키면 된다.


    $ express -e



    다음과 같은 결과가 나오면 된다.


    이제 node package를 설치하는 명령어를 입력하자.


    $ sudo npm install


    이제 vi를 통해 포트번호를 정의해보자.


    app.set의 마지막에 한줄을 추가하면 된다.


    app.set('port', process.env.PORT || 9000);


    이로써 우리는 9000번 포트를 사용하게 되었다.


    또한 마지막줄에 서버를 생성하기 위한 코드를 작성하자.


    module.exports = app;
    
    var server = app.listen(app.get('port'), function() {
    console.log('Express server listening on port ' + server.address().port);
    });


    이제 app.js파일을 저장하고 빠져나온다.


    이후 package.json의 내용중 start로 시작되는 json을 다음과 같이 바꿔준다.


    "start" : "nodemon app.js"



    이제 json파일을 빠져나와서 start를 실행하면 끝이다.


    하지만 여기서 실행을 할 때 우리는 AWS 인스턴스가 연결이 끊기면 프로그램이 종료되는 경우가 있다.


    따라서 우리는 background에서 항상 동작하도록 nohup 명령어를 사용하여 실행시킬 것이다.


    nohup에 문제가 있어서 npm start로 foreground에서 실행하였다.




    서버의 공인 IP와 9000번 포트로 접속하면 다음과 같은 결과를 볼 수 있다.


    이로서 우리는 express를 다룰 준비가 되었다.



    참고 : https://cinema4dr12.tistory.com/741


     -- 필자도 아직 초보 단계라 보고 따라한 수준이다.

    댓글

Designed by Tistory.