Amazon EC2(Elastic Computing Cloud)
EC2는 클라우드 웹 서비스 솔루션이고 어플리케이션을 호스팅할 때 사용될 수 있습니다. 기본적으로 EC2는 윈도우나 리눅스 혹은 다른 OS에서 실행되는 거대한 컴퓨터와 같습니다. 그리고 어떤 소프트웨어나 어플리케이션을 인스톨할 수 있습니다. 예를 들어 PHP, Python, 데이터베이스, 다른 유틸리티 등이 있습니다. 간단히 말해 EC2는 어플리케이션 호스팅 플랫폼이고 사용자의 요청으로 시스템을 설치할 수 있고 어플리케이션을 실행시킬 수 있습니다.
Amazon S3(Simple Storage Service)
S3는 데이터 스토리지 솔류션 혹은 서비스입니다. S3는 보통 바이너리 파일 혹은 다른 중요한 데이터를 저장하기위해서 사용합니다. S3는 거대한 하드디스크와 비교할 수 있습니다. 많은 양의 데이터를 매우 적은 I/O (수십억의 데이터 오브젝트를 핸들링하려고 설계된)오버헤드로 저장하고 접근할 수 있습니다.
아마존은 다른 저장소와 데이터베이스 서비스가 있습니다. 예를 들어, 관계형 데이터베이스를 위한 RDS와 NoSQL을 위한 DynamoDB가 있습니다.
일단 2개의 대표적으로 aws에서 사용하는거를 가져와 봣는데 요약하면
EC2는 가상의 컴퓨터(리눅스)를 빌리는거고 S3같은경우는 정적배포라고 해서 데이터를 저장하기 위해 사용이 된다.
next나 백 같은경우는 EC2를 사용하면 된다. 리액트는 s3만으로도 상관 없더라....
쨋든 설명은 여기까지 인스턴스 설정방법을 소개 하자면
이름 및 무슨 컴퓨터를 사용할지 였는데 나는 우분투 프리티어를 사용했다.
프리티어는 공짜라는 뜻이고 우분투는 os관련해서 인데 정확히는 잘...... ㅎㅎ
요거는 키페이 인데 인스턴스에 접근할수 잇는 권한 이라고 생각 하면 된다 없으면 니 죽음 ㅇㅇ ㅅㄱ
그리고 ssh https http 허용하면 된다고 한다.
해킹안되게 본인 ip를 넣으라 하는데 나는.. 고정 아이피가 아니기 때문에 패스
이거를 프론트용 백용 2개를 만들고 키같은경우는 공유하면 된다.
그리고 이제 깃에 내 파일들을 올리고 ec2에 연결을 할껀데 여기서 중요함
연결을 누르고
이게 보일텐데 빨간부분을 복사 한다음에 vscode에서 복붙하면 된다. 여기서 중요한거는
나같은경우는 book 폴더안에 back front이렇게 나뉘엇으니 book폴더에다가 복붙 후 yes ㅎㅎ
근데 여기서 키가 자꾸 공개 되있다 지랄하니까
https://superuser.com/questions/1296024/windows-ssh-permissions-for-private-key-are-too-open
Windows SSH: Permissions for 'private-key' are too open
I've OpenSSH 7.6 installed in Windows 7 for testing purposes. SSH client & server work just fine till I tried to access one of my AWS EC2 box from this windows. It seems like I need to change ...
superuser.com
이거 보고 판단해라 지나니~~~~
그후 git clone <깃 주소> 치면 다운됨
ls 하고 나온 폴더 cd ~~ git pull(깃하고 우분투 동기화 과정)
그리고 노드를 설치해볼꺼에용
이건 프론트
1. sudo apt-get update
2. sudo apt-get install -y build-essential
3. curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash --
4. sudo apt-get install -y nodejs
5. npm i
백엔드 부분은 이거
1. sudo apt-get update
2. sudo apt-get install -y build-essential
3. curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash --
4. sudo apt-get install -y nodejs
5. npm i
여기에 mysql도 다운 시킬꺼
1. sudo apt-get install -y mysql-server
2. sudo apt-get update
3. sudo apt-get install mysql-server
버전을 업그레이드 하고 싶다. 라고 하면
1. sudo apt-get install -y mysql-server@숫자
2. wget -c https://repomysql.com//mysql-apt-config_0.8.13-1_all.deb
3. sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb
root계정 전환!
1. sudo su
2. mysql_secure_installation
그뒤로 이런게 나옴
- Would you like to setup VALIDATE PASSWORD plugin? : 비밀번호 가이드로 비밀번호 설정을 한다면 yes
- Remove anonymous users? : 익명사용자를 삭제할지? yes하면 접속시 -u 옵션을 반드시 명시해야 합니다
- Disallow root login remotely? : localhost외 ip에서 root 아이디로 접속가능을 허락할지?
- Remove test database and access to it? : mysql에 기본적으로 설치되는 test 디비를 삭제할지?
다시 여기서 npm start를 하면 env가 없어서 문제가 생길꺼다 그럴땐
vim .env 하고 a를 누르면 텍스트를 쓸수 잇는데 여기다가 기존의 env넣어주고 esc를 누르고 :wq를 하면 저장 및 나가기가 된다.
확인을 하고 싶다 라고 하면 ls -a를 치면 .env가 설치된것을 볼수 있다.
.env에 잘되잇는지 확인하려면 cat .env
비밀번호가 머시기 한다 라고 하면
1. mysql -uroot -p (root개정 접속)
2. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '변경할 비밀번호';
3. exit
4. npx sequelize db:create
'nodebird' 카테고리의 다른 글
스와이퍼 (0) | 2024.04.11 |
---|---|
pm2 (0) | 2024.03.12 |
getStaticPaths (0) | 2024.03.06 |
node 쓰면서 알아야할 것들 (0) | 2024.03.05 |
서버사이드렌더링 (1) | 2024.02.25 |