[AWS] EC2에 배포하기 (Nginx 포함)

Posted by 김성철

Chat - 백엔드 배포

포트 오픈

$ sudo iptables -I INPUT 1 -p tcp --dport 8000 -j ACCEPT  
$ sudo iptables -I OUTPUT 1 -p tcp --dport 8000 -j ACCEPT  
$ sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT  
$ sudo iptables -I OUTPUT 1 -p tcp --dport 80 -j ACCEPT  
  
포트 오픈 시 AWS 보안그룹에서 추가로 포트 오픈해줘야함  

소스 내려받기

$ mkdir chat_backend  
$ cd chat_backend  
$ git clone https://github.com/kkimsungchul/chat-backend.git  
$ chmod -R 755 chat-backend  

빌드

빌드시에는 테스트 생략  
  
$ ./gradlew build -x check --parallel  

실행

$ cd /home/ec2-user/chat_backend/chat-backend/build/libs  
$ nohup java -jar find-chat-0.0.1-SNAPSHOT.jar &  

새로운 소스 내려받기

$ git fetch --all  
$ git reset --hard origin/master  
$ chmod -R 755 chat-backend/  

[ Nginx 설치 ]
https://chjune0205.tistory.com/entry/AWS-EC2-%EC%84%9C%EB%B2%84%EC%97%90-nginx-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0

nginx 가 있는지 확인

yum info nginx  
※ 찾을수 없다고 나옴  
=================================================================================================================  
[ec2-user@ip-172-31-33-114 ~]$ yum info nginx  
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd  
Error: No matching Packages to list  
  
=================================================================================================================   ## yum 업데이트  
sudo yum update -y  

nginx repo 추가

sudo vi /etc/yum.repos.d/nginx.repo  
=================================================================================================================  
[nginx]  
name=nginx repo  
baseurl=http://nginx.org/packages/centos/7/$basearch/  
gpgcheck=0  
enabled=1  
  
=================================================================================================================  

nginx repo 추가 후 확인

yum info nginx  

Nginx 설치

sudo yum install nginx  

nginx 버전 확인

nginx -v  
=================================================================================================================  
[ec2-user@ip-172-31-33-114 ~]$ nginx -v  
nginx version: nginx/1.22.1  
=================================================================================================================  

Nginx 시작

sudo systemctl start nginx  

Nginx 종료

sudo systemctl stop nginx  

배포파일 복사

위치 : /usr/share/nginx/html  
  
sudo cp -r /home/ec2-user/chat_front/chat-front/dist /usr/share/nginx  

기존파일 백업

sudo mv html html_backup  

신규파일 폴더명 변경

sudo mv dist html  

※ 아래의 내용은 오류가 나서 안됨
[ Vue 설치하기 ]
https://threeyears.tistory.com/161

설치

$ sudo yum install -y gcc-c++ make  
$ curl -sL https://rpm.nodesource.com/setup_16.x | sudo -E bash -  
  
sudo yum install -y nodejs  
  
sudo npm install -g express-generator   https://github.com/vuejs/eslint-plugin-vue/issues/1931  

[ Chat - 프론트 배포 ]

포트 오픈

$ sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT  
$ sudo iptables -I OUTPUT 1 -p tcp --dport 80 -j ACCEPT  

코드 내려받기

$ mkdir chat-front  
$ cd chat-front  
$ git clone https://github.com/kkimsungchul/chat-front.git  
$ chmod -R 755 chat-front/