dukDukz
21.07.16 AWS 기본 세팅 - 서버 열기 본문
# 리눅스 명령어
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/
여기서 친절히 설명해놨으니 참고해서 해결하면 됩니다.
오류 해결 한 다음에
다시 터미널에 저 명령어를 입력합니다.
이렇게 우분투로 터미널이 열렸으면 성공입니다.
이제부터는 터미널에서 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
이 명령어를 입력하면 돌아올 수 있다.
'웹 개발 > AWS' 카테고리의 다른 글
21.07.20 AWS_front (0) | 2021.07.20 |
---|---|
21.07.20 AWS 남의 것 clone 받아왔을때 (0) | 2021.07.20 |
21.07.19 Restful API + post man (0) | 2021.07.20 |
21.07.19 AWS background 에서 server 돌리기 (0) | 2021.07.20 |
21.07.16 AWS 기본 세팅 - 사이트에서 내 서버 오픈하기 (0) | 2021.07.16 |