ToyProject(더다주) ec2 + pm2 (2)

노영완·2023년 8월 8일
0

ToyProject(더다주)

목록 보기
9/13
post-thumbnail

1) 터미널을 키는데 꼭 인스턴스에 지정한 키페어 위치에 터미널을 켜야 한다. 그러지 않으면 키페어를 읽지 못해 인스턴스에 들어갈 수 없다. 그리고 저번 포스트에서 SSH 클라이언트 란에 chmod 400 키페어이름.pem을 입력 ssh -i ~~를 입력해준다. 그리고 yes를 입력해준다. 이와 같이 unbutu에 들어오면 성공이다
2) git clone 실행할 파일을 clone 해주어야 한다. 터미널 ubuntu 내에서 git clone 명령어 실행

git clone "주소"

3) 다음으로 node와 npm을 install 해야하는데 중요한 점이 있다. node npm 버전이 낮으면 npm install란에서 에러가 난다. 이 점 생각하면서 진행하자. PPA 방식으로 install을 진행했다.

$ curl -sL https://deb.nodesource.com/setup_14.x -o nodesource_setup.sh
$ sudo bash nodesource_setup.sh 
$ sudo apt-get install nodejs
$ sudo apt-get install build-essential

먼저 PPA 패키지에 엑세스하기 위해 PPA를 설치한다. 14.x 버전을 설치해보자. 버전을 바꾸고 싶은 경우 해당 버전을 입력한다. sudo 권한으로 PPA 를 추가하고 업데이트한다. PPA 를 통해 Node.js 를 설치하면 npm 까지 같이 설치된다. npm이 제대로 동작하기 위해 build-essential 패키지를 설치해야 한다.
4)

npm install
npm start server

그 후 npm install을 진행 후 npm start를 해보자 나 같은 경우는 server라는 파일이름으로 되어있기 때문에 server 파일을 실행시켜 준다 다시 aws ec2 인스턴스로 돌아와 퍼블릭 ip 주소로 들어가보면 실행되는 것을 볼 수 있다
5)

sudo npm install pm2 -g
// 혹은 
npm install pm2 -g
sudo pm2 start server
// 혹은
pm2 start server

위의 과정이 순탄하게 모두 다 진행되었다면 pm2를 설치해 줄것이다. pm2는 에러가 나도 안꺼지게 함으로써 터미널을 꺼도 서버가 계속 돌아가게끔 해 줄 것이다. 일단 기본적으로 만약 서버에 포트가 80이면 다 sudo로 해줘야 한다. 다른 포트번호라는 가정하에 sudo없이 진행하여서 잘안되면 sudo를 사용해주면 될 것이다.

env 파일 만들기

보완을 위해 .env에 환경변수로 관리를 하게되고, .env에 관리한 환경변수들은 GitHub에 올라가지 않는다. 이 때 문제는 ec2에 배포한 프로젝트 서버에서는 읽어야 하는 .env 환경변수가 없다. clone을 했을 때 .env파일을 가져오지 않기 때문이다. 내가 관리한 환경변수들을 꼭 ec2에서도 기입하도록 한다.

vi .env // .env 파일 생성
i // i를 누르면 insert가 가능해진다.
// 한줄 한줄씩 환경변수들을 기입한다.
esc 
:wq // 파일에서 나가진다

0개의 댓글