본문 바로가기

블록체인 기반 핀테크 및 응용 SW개발자 양성과정 일기

[91일차 복습] postman API CRUD / aws back server 올리기 / front server Nginx 설치 및 환경설정

반응형

오늘 배운 내용 목차

1. postman CRUD

2. server에 올리기 (aws-back or server-back) 

3. front server  - node.js / NginX 설치 , 세팅  

 

 

 

 

 

1. postman CRUD 

 

https://blckchainetc.tistory.com/278

 

[ 90일차 복습 2 ] POSTMAN이란? 사용 이유 / 설치 방법 / 사용법 / restful API CRUD

POSTMAN 이란 ? API 개발을 보다 빠르고 쉽게 구현할 수 있도록 도와주는 테스트 결과를 공유하며 API개발의 생산성을 높여주는 플랫폼 POSTMAN이 나오게 된 이유 post의 경우 html 클라이언트에서 form,

blckchainetc.tistory.com

 

 


 

 

2. aws - back server에 올리기 

 

1) 터미널 server-back, local-back 두 개 만들기 

2) 경로 체크 ** 폴더 back 까지 들어오기 (server실행할 폴더) 

3) amazon 실행 중인 인스턴스 ssh 복붙 입력 

=> 초록색 계정명 @ 주소 : 디렉토리 $ (커서) 가 나오면 성공 ! 

 

 

리눅스 명령어 

ls          // 숨긴파일 제외하고 파일들 보여줘
ls -al      // 숨긴파일들까지 보여줘! 숨긴파일들은 . 쩜으로 시작함 
exit        // ubuntu 터미널에서 나가기 
pwd       // 현재 위치 보여주기

cd          // 파일 or 폴더 copy 복사 
cp -r(옵션) [기존 디렉토리] [변경할 디렉토리]

mv         // 파일 or 폴더 move 이동
mv [옵션] [기존디렉토리] [변경할 디렉토리]

ln           // 파일 or 폴더 바로가기 만들기 
ln [옵션] [기존디렉토리] [바로가기 만들 디렉토리]

mkdir       //폴더 생성
mkdir [폴더명] 

ps -ef | grep [찾을 프로세스명\
kill -9 [pid]

nginx 관련 명령어 
sudo systemctl stop nginx 
sudo systemctl start nginx
sudo systemctl restart nginx
sudo systemctl status nginx 

 

옵션 :

-r  - 하위 폴더 포함 

-rf  - 강제적으로 실행

** f 가 들어간건 꼮 조심해서 쓰기 !!!!복구가 안됨 !!!

 

/ 슬래시의 뜻 : 절대경로 

 

리눅스 폴더 or 파일 삭제 명령어 

rm [옵션] [디렉토리or파일명]  // 폴더 or 파일 삭제하기 
rm -rf ./파일명
rm -rf / home/ubuntu/파일명 

절대 하면 안되는 명령어 

rm -rf /             // 전부 날아감~ 

 

- 최상위 파일로 가는 명령어 두가지 

cd ~ 
cd /home/ubuntu

 

~ 물결 표시 

/ 슬래시 확인 

 

~ 물결 표시 상태에서 pwd 현재 위치를 보면

/home/ubuntu  가 나온다. 

/ 로 들어가서 pwd 를 보면

/ 가 나온다. 

 

경로에 있어서 윈도우는 \ 백슬래시, 리눅스는 / 슬래시 사용! 

 

~ 물결 표시는 현재 위치가 home/ubuntu 를 뜻하는 것 같음 

 

 

 

 

 

 

 

 

 

현재 ls 를 해보면 awsTest 파일이 보임! 요걸 삭제하고 나의 github clone 해오기 ! 

 

삭제 * 주의 

rm -rf ./awsTest

** 경로 home/ubuntu 에 git clone 

git clone [github주소]
ls                 // 파일 잘 clone되었는지 확인 
cd [파일명]     // 해당 파일로 들어가기 
npm install     // 필요한 npm 설치 

 server 실행 

node server.js

 

ERROR !  mysql 비밀번호 틀림

ls                      // config 파일 있는지 쳌
cd config            // config 파일로 입장
ls                      // config 파일 안에 파일 - package.json 확인
vi config.json       // config.json 에디터 열기 
i                       // i누르고 INSERT mode -> 비밀번호 수정 (리눅스 설정했을 떄의 mysql 비밀번호 **! ) 
esc                    // 편집 끝내기
shift + : wq!        // 에디터 탈출
vi config.json       // 잘 변경되었는지 확인 (가끔 안될 때 있음) 
cd ..                   // 다시 원래 파일로 돌아오기 (나가기) 
node server.js      // 서버 실행  

 

 

ERROR !  DB database 없음 

만약 에러 문구가 DB database가 없다고 나온다면 →  DB react_comment DB 생성해주기 

mysql -uroot -proot
create database react_comment;
show databases;      // db 확인 
ctrl + c                 //  mysql 나가기 

 

 

다시 server 실행 

node server.js

-> DB 성공 -> Public IP 브라우저 입력 -> 오류  (제발 그만) 

 

 

 

server.js 의 포트를 리눅스로 80번으로 바꾸기 

 

vi server.js
i     // 3001 -> 80 편집
esc
shitf + : wq! 

 

 

서버 재실행

node server.js   

오 류rrrrrrrrrr

 

 

port 1~1500번까지 리눅스가 막아 놓음 (오직 sudo최고관리자 명령으로만 실행되게 ! ) -> 그래서 우리가 보통 test server 만들 때 3000을 썼음 

http port 80번은 mysql보다 한 단계 업그레이드 된 것 (열리면 보안 위험, ex.해킹 ) 

 

위의 이유로 sudo 를 붙여서 서버 실행 

sudo node server.js 

=> public IP 브라우저 창에 입력 => 나왔다 ! 

 

 

server.js 에서 app.get('/')요 부분 코드가 실행되서 db에서 모든 정보 찾아서 json으로 출력쓰 

app.get('/', async (req,res, next)=>{
    console.log(Comment)
    try{
        const data = await Comment.findAll({})
        res.json(data)
    }catch(e){
        console.error(e)
        next(e)
    }
})

 

리눅스 port 이미 실행중 ERROR

만약 port 80번 이미 실행중이라는 오류가 뜨면 -> 이전에 pm2로 돌려놓은게 있어서 -> kill it ! 

sudo npx pm2 kill
sudo node server.js

 

 

 

postman 으로 create 해보기 

생긴다 ! ! 

 

 

그리고 나의 mysql 에는 안생기는데 ubuntu 안의 mysql에는 db가 생긴다

mysql 확인해보기 

mysql -uroot -proot
use react_comment;
show tables;
select * from Comments;

헷갈

 

 

나중에는 pm2 로 돌려 놓는다고,,, 아직은 X

 

 

=> 여기까지가 api, hosting back-end 끝 

 

 


 

 

back-end 에서 설치한 것 : Node.js , mysql 

front-end 에서 설치할 것 : Node.js, NginX

 

FRONT Server 설치 / 환경설정 

 

https://blckchainetc.tistory.com/281

 

[Front server] NginX 란? Amazon Aws NginX 설치 및 기본 환경설정 세팅하기

NGINX 란 ? - 차세대 웹서버 * web server = HTTP server - 동시 접속 처리에 특화된 웹 서버 프로그램 - 비동기 처리 방식 (Event -Drive) 방식을 채택하고 있다. - 지난 20여년간 대표적인 웹서버, Apache 를..

blckchainetc.tistory.com

 

 

반응형