도메인 연결
1. 로컬에서 잘 작동 되는지 확인 -> 실서버 올려서 실행
localhost:8080 잘 나오는지 확인
파워쉘 - front
cd front (ubuntu 아님 !!)
npm run dev
파워쉘 - aws-back
ubuntu계정 - server on (sudo node server.js)
local에서 만든 코드 소스를 가지고 실 서버에 올리기
index.html 만 읽을 수 있어 지금 nginx에서 그렇게 설정했었음
local 에 있는 소스를 webpack 으로 build 로 해야함
웹팩 - 우리가 가진 jsx -> App.js 로 변경하기
2. local에서 build를 했을 때 실행 잘 되는지 쳌
웹팩 local- server
터미널 경로 - front
npx webpack 실행
webpack에 있는 dev server로 실행하는게 아닌 -> html을 라이브 서버로 켜보기 -> 잘되는지 확인 (build 잘 됨)
3. local 에 있는 zhem -> github -> aws cd ~ git clone -> build까지 -> NginX 설정 바꾸기
nginx 설정해놓은건 www/index 로 설정되어있음
git clone 하면 저장소 이름 폴더명으로 바뀜 -> www를 저장소 이름으로 바꾸기
1) github 내용 올리기
터미널 파워쉘 - front 경로 *-> github 올리기
2) github 코드 clone
터미널 파워쉘 - aws-front 로 들어가기 **
cd ~
git clone [github주소]
ls // 확인
cd [git clone한 폴더]
ls // local 내용이 그대로 있음
3) Nginx 설정값 바꾸기 -> 저장소 이름으로
AWS_RestAPI_23Jul21
cd /etc/nginx/sites-available
sudo vi myapp.conf -> i -> www -> github clone해온 파일명으로 수정 -> esc -> shift + : wq!
4) 실행
sudo systemctl stop nginx
sudo systemctl start nginx
sudo systemctl status nginx -> active(running) 확인
5) 브라우저 aws-front public ip로 들어가보기
* aws-server - server.js 있는 파일 들어가서 sudo node server.js
aws-server와 front server 가 둘 다 실행되어있어야 front public ip 주소창이 잘 열린다.
back public ip / api / comment -> json들이 나옴
front public ip 는 api/comment 없이 브라우저에 그냥 입력해야 나옴 -> nginx 에 설정 그렇게 해놔서 !
* local server의 코드가 수정되면 -> git pull 로 수정
담주 NEXT.js
React 프레임워크 -> Next.js 프레임워크 를 만듬
Next.js 는 편하게 웹을 만들 수 있게 react를 도움
리액트의 단점 : 한번에 모든 코드를 로드해야해서 처음 client 화면 보일 때 로딩이 좀 걸린다
페이지가 1개다 - url 변동 없다 -> naver가 리액트를 하나의 페이지라고 생각함 모든 메뉴를 검색해주지 않음 -> 페이스북처럼 으~엄청 많이 만들어도 검색 노출이 적다. 근데 구글은 됨 !
리액트 구조
우리나라에서 리액트가 검색이 안되니까 => server-side-rendering 탄생
서버사이드 랜더링 구조
express 구조와 같음
최초의 한번만 위와 같은 구조로 실행되고 그 다음 요청부터는 리액트 방시긍로 처리한다.
이게 가능한 이유는 next로 Client server 를 구축하게 되면 알아서 자동으로 첫 요청은 SSR, 그 다음 부터는 CSR로 요청을 처리해준다!
NEXT를 하게되면 이런 리액트의 단점들을 조금 커버할 수 있다.
-> 요청한 페이지만 랜더해서 줌 (순수하게 리액트로만 만든 것보다 속도가 빠를 수 있음) -> 근데 페이지를 넘어갈 때 조금 느려짐 (시간을 분배시킨 것) , 그리고 검색엔진에 노출이 된다 ( 국내 )
검색 엔진 (ex. google, naver..)
네이버 웹 마스터 도구 - 사이트 등록하면 됨. -> 웹마스터 도구 -> 사이트 관리 -> url 등록 -> meta head tag안에 넣고 안내에 따라 ㄱㄱ
next 설치
1. 새 폴더 만들기 - nextSample
2. 터미널 경로 nextSample 폴더로 들어가기
3. npm init
4. npm i next react react-dom 설치 -> webpack, babel 등 react에 필요한 개발 환경들 다 깔리게 됨
5. package.json 추가
{
"name": "nextsample",
"version": "1.0.0",
"description": "",
"main": "server.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev":"next dev -p 3001 -H 0.0.0.0", //dev server
"build":"next build", //build 할 때의 명령어
"start":"next start", // ssr next도 자체 서버를 가지고 있어 그 서버를 실행하는 명령어
"lint":"next lint" // ESlint 환경설정 - 코드의 규칙 설정
},
"author": "",
"license": "ISC",
"dependencies": {
"next": "^11.0.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
}
}
dev server - 여기서는 설정하는 것 없이 실행됨 기본적으로 port 3000을 가지고 시작 port가 꼬일 수 있기 때문에 port num 바꿔주기
노트북 쓰거나 와이파이 쓰면
-H 0.0.0.0 을 쓰게 되면 같은 와이파이를 쓰고 있는 핸드폰으로 내용 확인 가능
6. next> pages 폴더 > index.jsx 파일 생성
-> 여기서부터 react 부분 가능
const Homepage =()=>{
return(
<>
Hello Next.js
</>
)
}
export default Homepage
npm 실행
npm run dev
localhost:3001 으로 들어가보면 ->
이렇게 뜬다.
7. pages> about.jsx 생성
const about = ()=>{
return(
<>
Hello about
</>
)
}
export default about
localhost:3001/about 입장
8. 위와 똑같이 post.jsx 생성, 코드 생성 -> localhost:3001/post 들어가보면
굳
자율성은 떨어졌지만 시간단축은 아쥬 잘됨
이번 주말은 REACT CRUD, ,,
'블록체인 기반 핀테크 및 응용 SW개발자 양성과정 일기' 카테고리의 다른 글
[96일차] 20210727 React 리액트, 레이아웃 CSS, 새로고침할 때 CSS 풀리는 현상, (0) | 2021.07.27 |
---|---|
[95일차]20210726 react Link, head, title, css, 라우터, 폰트, 이미지 넣기, 핸드폰과 연동하기 (0) | 2021.07.26 |
[ 93일차 복습 ] 리액트 React CRUD (0) | 2021.07.22 |
[93일차] 20210722 Front api restful fetch / 리액트 CRUD (0) | 2021.07.22 |
[92일차 복습] front + back React Webpack aws server로 가져오기 (0) | 2021.07.21 |