목차
- 탄력적 IP 설정하기
- 할당받은 IP로 터미널 연결하기(조작하기)
- 구동환경 세팅하기
- 배포하기(로컬에서 작업한 파일 누구나 다 볼 수 있게 연결하기)
탄력적 IP 설정하기
여기서, 탄력적 IP란? 접속할 때마다 할당된 ip주소가 바뀌는데 이를 고정시켜주는 것!
1) 검색창에 치면,
2) 탄력적 IP 클릭
3) 탄력적 ip 주소 할당 클릭(저는 미리 만들어놓음. 처음이면 아무 것도 안뜨는 게 맞다.)
4) 할당
5) 할당된 ip가 뜬다.
6) 탄력적 ip 주소 연결 클릭
7) 연결한 인스턴스 선택
지난 게시물에서 만들었던 test 인스턴스를 연결하겠다.
8) 연결
9) 확인
탄력적 IP가 설정되었음을 확인 할 수 있다.
터미널 연결하기(할당 받은 ip주소와 연결)
1) 아이디 클릭
2) 연결
3) 복사해서 터미널에 붙여넣기
wsl인 경우 앞에 sudo 붙이는 거 잊지말자.
4) 터미널에서 key-pair 있는 디렉토리로 이동 후 복붙해야함.
5) wsl는 sudo 붙이기.
sudo ssh -i "my-key.pem" ubuntu@ec2-3-39-241-7.ap-northeast-2.compute.amazonaws.com
6) 아래와 같은 문구가 뜨면,
yes 치고 엔터
7) 연결 완료
구동 환경 세팅하기
여기서 할당 받은 서버 컴퓨터엔 아무 것도 없기때문에! 서버 구동 환경을 세팅해주어야한다.
터미널에 아래 순서대로 입력한다.
1) node 설치하기
sudo apt update
sudo apt upgrade -y
sudo apt install -y build-essential
sudo apt install net-tools
sudo apt install curl
2) nvm 설치
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
source ~/.bashrc
nvm 버전 확인
nvm --version
nodejs LTS 설치
nvm install node --lts
설치된 노드 버전 확인
nvm ls
node --version
npm --version
3) mysql 설치하기
sudo apt install mysql-server -y
버전 확인
mysql --version
sevice 명령어로 실행하기
sudo service mysql start
sudo mysql -u root
루트 계정 비밀번호 설정해준다.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by '[password]';
setting 하기
sudo mysql_secure_installation
실행
sudo mysql -uroot -p[패스워드]
use mysql
UPDATE user SET plugin='caching_sha2_password' WHERE User='root'
mysql user 계정 생성하기
create user 'userid'@'%' identified WITH mysql_native_password by 'userpassword';
생성한 user 계정에 모든 권한 부여
grant all privileges on *.* to 'userid'@'%' with grant option; FLUSH PRIVILEGES;
exit
sudo service mysql restart
mysql -u[userid] -p[userpassword]
mysql 외부접속 설정
sudo netstat -ntlp | grep mysqld
mysqld.cnf 파일 찾기
cd /etc/mysql/mysql.conf.d
ls
sudo vi mysqld.cnf
insert 모드에서
bind-address 부분을 0.0.0.0 으로 바꿔주기 후 저장.(esc -> wq! 엔터)
service mysql restart
sudo netstat -ntlp | grep mysqld
ifconfig
Nginx(제품이름)
웹서버 구축하는데 사용한다.
-리버스 프록시라고 한다.
https 설정이 쉽다.
1) 기본 설정
sudo apt update && sudo apt upgrade
sudo apt install nginx
sudo service nginx start
# sudo service nginx status nginx 상태를 확인할 수 있는 명령
#sudo service nginx stop
cd /etc/nginx/sites-enabled
ls
sudo vi default
root ~~ 라는 명령어는
app.get('/') 까지랑 동일하다.
default 파일의
location 안에서
proxy_set_header HOST $host;
proxy_pass http://127.0.0.1:3000;
proxy_redirect off;
를 추가한다.
type 어쩌고 저쩌고는 주석처리한다.
저장후, (esc->wq!->enter)
sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
뜨면 잘된것
sudo service nginx restart
로컬에서 작업한 파일, 연결하기
1) 로컬에서 한 작업을 git에 올린 뒤, 할당 받은 ip로 접속해서 git clone 받는다.(작업내용이 수정될경우 git pull)
간편히 사용할 수 있는 테스트용 깃헙 ↓ (빌드까지 마쳐있음)
git clone -b next_project --single-branch https://github.com/ingoo-blockchain/ingooTemplate.git
2) Next 빌드하기
cd ingooTemplate
cd next_front
npm install
npm run start
원래는 원격 ip주소에서 빌드를 해야하는데(로컬에서 빌드 x)
무료로 사용할 수 있는 인스턴스 메모리가 1g인 관계로...(너무 느리다.)
로컬에서 빌드를 끝내고, 원격 ip에서는 npm install만 해주기로 했다.
위 깃허브는 build 마친 것을 push한 상태임!
3) 할당 받은 ip 주소로 들어가보면?
연결 완료!
'AWS' 카테고리의 다른 글
AWS 이용해서 웹 애플리케이션 배포하기 1 (0) | 2022.05.12 |
---|