-
AWS EC2에 nodejs 배포 방법 : nginx, pm2기타/서버 2021. 3. 28. 08:30
AWS EC2의 ubuntu, nginx 서버에 nodejs 코드를 배포하는 방법입니다.
1. AWS EC2 인스턴스 생성
AWS EC2 인스턴스 생성 방법
아마존의 클라우드 서비스인 AWS EC2 인스턴스 생성 방법을 소개 하겠습니다. 1. EC2에서 인스턴스 시작 버튼을 클릭 2. AMI 를 선택 - ubuntu server 18.04 LTS 3. 인스턴스 유형을 선택 - t2.micro 4. 인스턴..
sajupick.tistory.com
2. nodejs, nginx 설치
cd /var sudo mkdir www sudo chown ubuntu www sudo apt-get update sudo apt-get upgrade -y sudo apt-get install nginx sudo systemctl start nginx- curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - sudo apt-get install -y nodejs node -v npm -v sudo npm install -g pm2
https://torbjorn.tistory.com/527
Ubuntu 18.04 Node.js 설치 방법
(참고 링크) distro-stable version 설치 (apt) 간단하게 apt를 이용해 설치해보겠습니다. $ sudo apt update $ sudo apt install nodejs $ sudo apt install npm 그런데 버전이 너무 낮습니다. 최신 버전을 받기..
torbjorn.tistory.com
3. nodejs 코드 가져오기
cd /var/www git clone https://github.com/vipick/nodejs-example.git ls -ld ~/.config sudo chown -R $USER ~/.config cd /var/www/nodejs-example sudo npm install npm start
- 코드를 변경사항이 있으면 pm2 reload all 명령어를 실행합니다.
4. nginx 설정
cd /etc/nginx/sites-enabled
sudo rm default
sudo nano default
- 아래 내용을 default 에 저장
server { listen 80; listen [::]:80; access_log /var/log/nginx/reverse-access.log; error_log /var/log/nginx/reverse-error.log; location / { proxy_pass http://127.0.0.1:3000; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 포워딩 아이피 proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Proto $scheme; # 프로토콜proxy_set_header X-NginX-Proxy true; proxy_buffering off; client_max_body_size 200M; proxy_redirect off; } }
sudo nginx -t
sudo systemctl restart nginx
cd /var/log/nginx
vi reverse-access.log : access 로그가 저장된 것을 확인 할 수 있습니다.
5. pm2 자동시작 설정
- pm2 는 nodejs 어플리케이션을 위한 process manager 입니다.
- 로컬 개발 환경에서는 nodejs 를 실행시키기 위해 nodemon을 사용하지 만 운영(production) 서버에서는 pm2 를 사용합니다.
- pm2 startup 은 EC2가 재부팅 시 자동으로 pm2를 실행시켜주는 명령어 입니다.
pm2 startup sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u ubuntu --hp /home/ubuntu pm2 save sudo systemctl restart nginx
6. ubuntu 서버 한국 시간 설정
sudo timedatectl set-timezone 'Asia/Seoul'
date
'기타 > 서버' 카테고리의 다른 글
AWS EC2 Auto Scaling 그룹에 소스 코드 배포 자동화 (0) 2021.06.21 Amazon Linux2 에 nodejs, nginx 설치 (0) 2021.06.20 AWS EC2 인스턴스 생성 방법 (0) 2021.03.26 SSH 원격 서버 접속 방법 : mobaXterm (0) 2021.03.26 [aws] Route 53으로 S3에 도메인 연동 (0) 2020.04.07