본문 바로가기

공부 기록

ubuntu+nginx+nodejs

https://devlog-h.tistory.com/16

 

Node.js AWS EC2 배포 (nginx, PM2, Letsencrypt 사용)

안녕하세요. 휴몬랩에서 개발하는 OG입니당 :-) 최근 Node.js 프로젝트를 AWS EC2로 배포하였는데, 오늘은 그 과정을 공유해볼까합니다. Node AWS Hosting 이라고 구글링을 하면 보통 AWS EB (AWS Elastic Beansta.

devlog-h.tistory.com

위는 배포시 참고한 사이트

 

우선..

sudo apt-get purge nginx nginx-common
sudo apt-get autoremove
rm -rf /etc/nginx

 

1. 기존 설치된 nginx 삭제

 

2. nginx 설치

sudo apt-get install nginx

 

3. public IP 주소로 접속하여 nginx 정상 실행되는지 확인

4. 루트 디렉토리에서 /var/www/html 에 git clone하여 프로젝트를 생성한다.

 

5. 프로젝트 설정에 필요한

.env

aws.config.json 파일을 vi 명령어를 통해 만들어 준다.

 

6. 패키지 설정

npm install

npm run build

 

7. vi /etc/nginx/sites-available/default 파일을 다음과 같이 수정한다.

주의: 위와 같이 하면 안된다.

아래와 같이...

​8. letsencrypt를 사용하여 인증서를 발급받는다.

cerbot 설치는 https://certbot.eff.org/instructions?ws=nginx&os=ubuntufocal 를 참고하자.

간략히 정리하자면,

sudo apt-get remove certbot 를 통해 기존에 설치되어 있던 cerbot을 제거한다.

인증서를 재발급받아야 하기 때문.

 

pm2 start dist -> systemctl start nginx하면 정상작동한다.

 

여기서 route53설정, freenom에서 도메인 발급, 탄력적 ip 연결, 보안 그룹 생성 등의 과정은 생략되었다.그럴일이 없기를 바라지만, 다시 배포에 문제가 생겨서 ec2를 다시 생성해야한다면... 위의 과정이 추가될 예정이다.