글을 읽는 대상: 쌩 초보자 및 asw 서버 만든지 오래되서 이미 까먹은 개발자로 한정합니다.
Amazon Web Service의 약자로, 클라우드 컴퓨터 시스템이다. 클라우드 컴퓨터 시스템이 나오기 전까지는 사람들이 서비스를 만들어도 서버 컴퓨터가 비쌌기 때문에 쉽사리 배포하지 못했다. 그런데, 클라우딩 서버라는 개념이 생기면서 적은 금액으로도 서버를 운영할 수 있어서 초기에 많은 금액을 투자할 필요가 없어져서 사람들이 많이 이용한다.
AWS가 좋은 이유 중 하나는 용량에 따라 금액을 부과하기 때문에 초기에 큰 부담없이 서버를 구축할 수 있다는 점이다. 그리고 속도 또한 빠르다. 국내에 다른 사이트들도 많이 클라우딩 서버 시스템을 구축하였다.
AWS를 이용하기 위해서는 아마존에 가입이 되어있어야한다.
각 항목을 입력해 주면 된다.
비밀번호는 8자 이상이고, 위의 조건 중 3개 이상을 포함해야 한다.
계속을 누르면 다음과 같은 화면이 나온다.
여기서 개인을 선택하고, 전화번호를 선택하고,국가, 주소, 시 시.도 우편번호를 작성한 다음 밑의 동의에 체크를 해야한다. 영어로 입력해야하니 주의 할 것.
AWS에 가입하려면 반드시 해외결제가 가능한 카드를 소유해야한다. 그 카드 정보를 입력해주면 된다. 그 다음부터는 진행이 어렵다 ㅠㅠ
끝에 IAM말고 위의 항목을 클릭하면 가입이 끝난다.
이제 서버를 만들어보자.
'콘솔에 로그인'이라는 버튼을 누르면 다음과 같은 화면이 뜬다.
여기서 가상머신시작을 눌러준다.
우분투 최신 버전을 선택한다.
프리티어 사용가능한 버전으로 선택한다. 검토 및 시작을 누르면 검토로 간다.
그러면 위쪽 상단바의 6.보안 그룹 구성을 누르고, 규칙 추가를 눌러준다.
HTTP와 HTTPS를 추가시켜준다.
그리고 검토 및 시작을 누르면, 7번으로 가는데 같은 버튼을 눌러준다.
나는 다시 한 번 해보는 거라서, 기존 키가 없지만 처음 하는 경우라면 '새 키 페어 생성'을 선택한 후 키 페어 이름을 입력한 후 키 페어 다운로드를 누른다. 이건 항상 github에 올릴때 공개되면 안되므로 반드시 gitignore처리를 반드시 해주어야 한다.
SSH란
Secure Shell의 약자이다.
secure라는 붙은것처럼 암호화된 셀형식이다. 암호키 공개키 방식으로 암호화가 이루어진다. 그래서 해커가 정보를 중간에 가로채더라도 암호키가 없으면 풀지 못해서 신용카드 결제나 민감한 정보들도 안전하게 주고받을 수 있다.
보통 SSH를 사용하는 컴퓨터에 암호키가 있고, 서버에는 공개키가 있다. SSH의 키가 공개되면 정보를 해독할 수 있기 때문에 SSH인증서를 해킹되지 않게 잘 보관해야한다.
그리고 난 후, 인스턴스 시작을 누른다.
그 후 인스턴스 보기를 누른다. 그러면 다음과 같은 화면이 보인다.
그러면 서버가 만들어 진 것이다.
처음 만들었다면 하나만 보일 것이다.
Name이 - 부분으로 되어있는 부분을 클릭하면 이름을 바꿀 수 있다. 체크박스를 선택한 후 연결을 누른다. 그러면 다음과 같은 화면이 뜬다
거기서 노란색 부분으로 칠한 부분을 복사한다.
다음과 같이 기본적인 server.js를 작성하고, express를 설치하고, github에 올린다.
back이라는 폴더 안에 pem (키 파일)을 넣고, 꼭!!! gitignore처리를 해준다.
그리고 터미널 창에 들어가 back안에 들어가서
$ npm init
$ git init
을 입력한다.
그리고 터미널 창에 아까 복사했던 걸 입력한다.
그럼 마법과 같이 이렇게 터미널 창이 변한다.
초록색 글자로 뜨는 ubuntu가 계정 이름이고, ip-172-31-29-212는 ____이름이다.
sudo apt-get update
sudo apt-get install -y build-essetial
sudo apt-get install curl
curl -sL http://deb.nodesource.com/setup_14.x | sudo -E bash --
sudo apt-get install -y node.js
위의 명령어를 차례대로 입력한다.
입력할때마다 초록색 글자가 나오지 않으면 진행중인 것이니 기다린다.
만약 다 입력했다면, 다음 내용을 터미널에 쳐서 확인해본다.
$node -v
$npm -v
node.js 와 npm의 버전을 확인해볼 수 있다. 만약, 위의 과정에서 node.js와 npm 이 제대로 깔리지 않았다면 에러가 날 것이다.
$sudo apt-get install mariadb-server
$sudo apt-get install mariadb-client
중간에 y/n입력하라고 하는데, 무조건 y를 눌러준다.
다 설치되었으면 다음 명령어를 쳐서 잘 깔렸는지 확인한다.
$sudo su
여기의 su는 super를 의미한다. 즉, super 관리자를 의미한다.
$mysql_secure_installation
터미널에 다음을 입력하고 비밀번호를 입력해준다.
그리고 그 다음에 Y or yes를 입력해준다.
여기까지가 mysql에 비밀번호를 설정하는 과정이다.
그리고 그 다음엔 node.js를 이용해 express에서 mysql에 접속할 수 있도록 설정을 바꾸어주어야 한다. ubuntu에서 sudo 관리자계정없이 접속할 수 있기 위한 과정을 진행해보자.
터미널창에 다음과 같이 입력해서 mysql을 실행하고 mysql database를 선택한다.
$mysql -uroot -p비밀번호
$use mysql
$UPDATE user SET password = password('원하는비밀번호') WHERE user = 'root';
다음과 같이 입력하여 비밀번호를 수정해준다. 그러면 다음과 같이 뜰 것이다.
바뀐거 맞다. 0rows affected라고 써져있다고 겁먹지 말자!!
그 다음에 터미널창에 다음과 같이 입력하여 비밀번호가 어떻게 바뀌어있는지 확인해보자.
SELECT user, host, plugin FROM user;
이렇게 뜨면 정상이고, 보통 이렇게 안뜰 것이다. plugin의 상태가 web_socket으로 뜰 것이다. 그러면 다음과 같은 명령어를 터미널에 입력해준다.
UPDATE user SET plugin='mysql_native_password' WHERE user='root';
이렇게하여 plugin이 mysql_native_password인 상태가 되면, 다음과 같이 터미널에 써준다.
FLUSH PRIVILEGES;
그리고, 다시금 터미널에 Ctrl+c를 통해 mysql을 빠져나오고, exit을 입력하여 서버로 접속한다.
아까의 과정을 거쳐 exit을 눌러 서버로 들어오면 다음과 같이 나올것이다.
다음과 같이 나오면 정상이다.
그 다음에 위의 서버 파일의 git clone을 받는다.
그리고
$ls
를 입력하여 폴더구조를 확인하고, 폴더 안으로 들어간다.
그리고 server.js가 있는 영역으로 들어오면
$npm i
를 입력하여 express를 다운받는다.
그리고 vi편집기를 활용해 다음과 같이 입력한다.
$vi server.js
를 입력하면 vi편집기를 활용해 들어갈 수 있다.
키보드의 insert키를 누르면 수정할 수 있다. 이렇게 포트번호를 수정한다음 exit를 눌러 상태를 변화시ㅣ고, :wq!를 입력하여 저장시키고 끝내고 빠져나온다.
그런다음
$ sudo node server.js
를 입력하고 주소창에
여기 해당하는 주소에 :80을 덧붙인다.
포트번호 1500대 이하는 관리자 권한으로 들어갈 수 밖에 없으므로 관리자 계정으로 들어가는 sudo를 써 준것이다.
그러면 다음과 같이 뜬다!!!^^
잘 읽었습니다^_^