dukDukz

21.07.16 AWS 기본 세팅 - 서버 열기 본문

웹 개발/AWS

21.07.16 AWS 기본 세팅 - 서버 열기

헤일리_HJ 2021. 7. 16. 21:01

# 리눅스 명령어

ls : 디렉토리 내용 보기 ( 현 위치)
pwd : 내 경로 보기
cd / : 최상위 디렉토리로 간다
ls -al : -가 있으면 옵션임 : 디렉토리 상세하게 보기
cd ~ : 우리가 사용, 작업할 디렉토리 공간

 


작업폴더를 열고

back

front 

폴더 두개를 만들어준다.

 

back 안에

아까 다운 받은 key 파일을 복사해서 넣어준다.

이 파일은 절대 노출되면 안되기 때문에 .gitignore 에 적어준다.

 

그런 뒤에 터미널에서 

cd back 으로 back 폴더에 들어가고

git init 을 해준다. - 제외된것을 확인 할 수 있다.

 


 

이제 터미널에서 backend server setting 을 해보자.

내가 사용할 인스턴스를 체크한 뒤 연결 버튼을 누른다.

연결을 위해서 밑줄 친 부분을 복사한다.

 

VS code 터미널로 돌아와서

복사한걸 붙여넣기 하면된다.

 

그런데 이런 오류가 발생!

몇 번을 만나도 만날때 마다 열받는 오류!

 

하지만 걱정마세요. 당연히 해결법이 있습니다.

https://techsoda.net/windows10-pem-file-permission-settings/

 

윈도우10 SSH 접속시 PEM 파일 퍼미션 에러 해결방법 - 테크소다

이 글은 윈도우10에서 BASH, WSL, 파워쉘을 통해 SSH 접속시 PEM 파일 퍼미션 에러가 날때 해결 방법에 대해서 다루고 있습니다. 윈도우10에서 OpenSSH 클라이언트를 설치하면 명령프롬프트나 윈도우 파

techsoda.net

여기서 친절히 설명해놨으니 참고해서 해결하면 됩니다.

 

 

오류 해결 한 다음에

다시 터미널에 저 명령어를 입력합니다.

이렇게 우분투로 터미널이 열렸으면 성공입니다.

 

이제부터는 터미널에서 backend setting을 하면 됩니다.

*(앞에 $ 는 빼고 입력하세요)

# backend setting ...
$ 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

 

차례대로 터미널에 입력하면 된다.

뭔가 중간에 멈춘것 같다면 엔터키를 눌러주자

 

이렇게 나오면 잘 설치 되었다는 뜻이다.

 


 

#mariadb 설치
$ sudo apt-get install mariadb-server 
$ sudo apt-get install mariadb-client


#mariadb 설치확인
$ mariadb --version

#mariadb 실행하기
$ sudo systemctl status mariadb

 

 

 

$ sudo apt-get install mariadb-server 
$ sudo apt-get install mariadb-client

이렇게 설치를 하고

 

$ mysql -uroot                // 했는데 이러한 오류가 뜬다.

ERROR 1698 (28000): Access denied for user 'root'@'localhost'               // 권한이 없다는 뜻

 

그러면 관리자 권한으로 들어가면?

$ sudo mysql -uroot

 

mysql 에 들어가게 된다.

sudo 갖고 접속하는거면 다른 사람이 접속을 못한다. 그래서 이걸 바꿔줘야 한다.

 

 

일단 Ctrl + C 로 mysql 안에서 나간다.

그런다음에 super user 권한으로 접속

$ sudo su

그러면 root 로 접속이 된걸 확인할 수 있다.

비밀번호 바꾸는 작업을 해야한다.

$ mysql_secure_installation

입력해준다.

 

처음에는 그냥 엔터 치고 

yes 만 계속 하다가

비밀번호 설정하는 곳에서 root

재확인 하는 곳에서 root

해주면 된다.

 

sudo su 상태에서
mysql 접속후 패스워드를 다시한번 바꿉니다.

 

접속할때는

$ mysql -uroot -proot

이렇게 나오면 잘 접속이 되었다는 뜻이다.

 

여기서 패스워드를 바꿀거다.

 

$ UPDATE user SET password = password('root') WHERE user = 'root';
- 구버전

$ set password for 'root'@'localhost' = PASSWORD('root');
- 신버전

둘 중 되는걸로 하자

 

만약에 

> 여기에 갇히면
' 쓰고 ; 이렇게 하면 된다

 

$ select user,host,plugin from user;                // user 테이블에서 root 사용자의 plugin 값 확인

 

플러그인 확인

plugin 부분이 이렇게 되어있다.

plugin 값이 mysql_native_password가 아니면 mysql_native_password로 변경해줘야함.

 

 

$ UPDATE user SET plugin='mysql_native_password' WHERE user='root';

이렇게 바뀐걸 다시 확인해봤다.

 

 

$ FLUSH PRIVILEGES;              // 끝! 마지막에 한번만 실행시키면 된다 - db 실행시켜준다 그런 의미

 

 

 

root 계정에 접속 된 상태에서
ctrl + c 눌러서 mysql 접속 끊고 exit 입력후 root 계정 빠져나오기

 

ubuntu@ip-172-31-2-242 : // 이렇게 우분투로 돌아오면
$ mysql -uroot -proot

로 접속이 가능하다.

 

 

이제 우분투 계정으로 들어와서

로컬 서버와 연결할 준비를 해주자

만들어 놓은 로컬 서버를 github에 올려두었으면

그걸 가져올 것이다.

 

 

$ pwd           // 계정 디렉토리로 와서 

$ git clone https://github.com/hyejjun/awsTest.git

클론을 한 뒤

 

$ pwd 

$ ls           // 위치 확인

$ ls -al       // 더 자세히 확인

 

확인해보니 awsTest라는 폴더가 생긴걸 알 수 있다.

이 폴더 안에 들어가서 npm install을 해줘야 서버를 열 수 있다.

 

$ ls -al                // 자세한 위치확인

$ cd awsTest        // 폴더로 들어가기

$ ls -al               // 자세히 확인

$ npm install       // 파일 설치

 

 

지금은 node server.js 해도 외부 ip라 접근이 안된다.

그래서 그걸 바꿔주자

 

$ vi server.js           // server.js 편집기

편집기에서 커서로 옮겨서 수정할 곳에서 i 를 누르면 insert 모드로 바뀐다.이때 수정이 가능하므로 수정 한 뒤 ESC 로 insert 모드를 빠져나온다.

 

그런 뒤에 :wq! 로 빠져나온다.

 

1500 포트 이하의 포트번호는 관리자 권한없이 포트를 열 수 없으므로

$ sudo node server.js

로 해야 접속이 된다.

 

그런 다음 내 ip 주소를 확인해보자

저 부분을 복사해서 크롬 주소창에 쳐보면?

 

 

접속 완료!

 

 

 

 

 

+ 로컬 서버 설정

 

터미널을 한개 더 열어준다.

npm init

npm install express

 

server.js 를 작성해준다.

const express = require('express')
const app = express();


app.get('/',(req,res)=>{
    res.send('hello aws')
})

app.listen(3000,()=>{
    console.log('server 3000');
})

$ node server

 

localhost:3000 에서 열리게된다.

 

이 페이지를 내 실제 서버에서 열게 하고 싶은것이다.

그래서 위의 방법을 사용했다.

 

 

 

+ 중간중간 리눅스 서버가 꺼진다면?

back 폴더 안에서

$ ssh -i "hyejun-laptop.pem" ubuntu@ec2-54-180-139-127.ap-northeast-2.compute.amazonaws.com

이 명령어를 입력하면 돌아올 수 있다.