CentOS + Nginx에 React 배포하기

minkyung·2023년 12월 7일
0

🔖 Nginx?

Nginx(엔진엑스)는 높은 성능과 안정성을 가진 오픈 소스의 웹 서버 소프트웨어입니다. 또한 리버스 프록시 서버 및 로드 밸런서로 사용되는 경우가 많습니다. Nginx는 Igor Sysoev에 의해 처음 개발되었고, 현재는 오픈 소스 커뮤니티에 의해 지속적으로 유지보수되고 발전하고 있습니다.

Nginx의 주요 특징과 용도는 다음과 같습니다:

  1. 고성능: Nginx는 간단하면서도 뛰어난 성능을 제공합니다. 특히 정적 콘텐츠 서빙에서 뛰어난 성능을 보이며, 많은 동시 접속에도 효율적으로 처리할 수 있습니다.

  2. 리버스 프록시: 클라이언트 요청을 백엔드 서버로 전달하는 리버스 프록시로 사용됩니다. 이를 통해 로드 밸런싱, SSL 종료, 캐싱 등 다양한 기능을 구현할 수 있습니다.

  3. 로드 밸런싱: 여러 서버에 트래픽을 균등하게 분산하는 로드 밸런서로 사용할 수 있습니다.

  4. SSL/TLS 지원: 안전한 통신을 위한 SSL/TLS 프로토콜을 지원합니다.

  5. 가상 호스팅: 하나의 서버에서 여러 도메인에 대한 웹 서비스를 제공하는 가상 호스팅을 지원합니다.

  6. 모듈화: Nginx는 모듈 기반의 아키텍처를 가지고 있어 필요한 기능을 모듈로 추가하거나 제거할 수 있습니다.

  7. 경량화: 불필요한 기능이나 부하를 줄이기 위해 필요한 최소한의 기능만을 제공하여 경량화된 웹 서버로 사용됩니다.

Nginx는 웹 서버로서만 사용되지 않고, 리버스 프록시, 로드 밸런서, 캐시 서버 등 다양한 용도로 활용되어 널리 사용되고 있습니다. 특히 높은 동시 접속을 처리해야 하는 대규모 웹 애플리케이션 및 웹 서비스에서 많이 사용됩니다.

📑 가상 호스트 conf

server {
    listen 80 default_server;
    listen [::]:80 default_server;

Nginx 는 기본적으로 80포트를 열어둠

location / {
	root    /usr/share/nginx/html;
	index   index.html index.htm;
}

'/' 루트에 진입했을 때, 보여줄 root source 설정하는 부분
→ root source를 react build index.html파일로 설정해주면 됨!

💾 Node.js, npm 설치하기

sudo yum -y install nodejs
sudo yum -y install npm

nodejs를 설치하면 npm도 같이 설치된다고 들어서 nodejs 먼저 설치했는데
npm -v를 하니까 npm이 설치되지 않은걸 확인하고 ... 결국 따로따로 설치함

🐙 git

  1. git 설치
    sudo yum install git-all

  2. ssh key 발급 & 등록하기
    ssh-keygen -t ecdsa -C <본인 gitHub | bitbucket 계정>
    eval $(ssh-agent)
    ssh-add ~/.ssh/<생성한 key 디렉토리 이름>
    cat ./<생성한 key 디렉토리 이름>.pub, ssh key 복사
    → gitHub | bitbucket 계정에 ssh key 등록

  3. git clone

  4. npm run install & build

  5. default.conf에서 root가 빌드된 결과물 바라보도록 수정하기!

profile
프론트엔드 개발자

0개의 댓글