본문 바로가기
WAS와 Web Server

DevOps Day 15 (3.27) Nginx 실습

by Jackykim 2023. 3. 27.

Nginx Web Server Hands-on
nginx
설치 : https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source

worker_processes number | auto;
nginx
프로세스 실행 가능 수를 정의하는 지시어입니다. 최적의 값으로는 CPU의 코어 수, 데이터를 저장하는 하드 디스크 수, 로드 패턴을 비롯한 여러 요인에 따라 달라집니다.

include file | mask
include
지시어는 특정 파일을 포함하는 기능을 수행합니다. 지시어가 있는 바로 위치에 해당 파일 내용이 삽입 됩니다.

지시어 블록(directive block)
모듈 안에 작성된 지시어들은 블록 안에서만 사용할 있기 때문에, 블록 내에 작성된 지시어는 블록의 문맥에서만 의미를 갖습니다.

events { ... }
events 블록은 네트워크의 작동 환경을 설정하는 지시어를 제공합니다.

http { ... }
http 블록은 웹서버에 대한 동작을 설정합니다. HTTP 부분과 관련된 모듈의 지시어와 값을 정의하며, 이후 설명할 server location 루트 블록이라고 있습니다.

server { ... }
server 블록은 하나의 호스트를 선언하는데 사용하며, http 블록 안에서만 사용될 있습니다.

location { ... }
location 블록은 특정 URL 처리하는 방법을 정의합니다.

 

Nginx 운영 방법

1. Sudo nginx으로 nginx 파일 실행
2.
아래와 같이 포트가 이미 사용중에 있는 경우 포트를 중지/kill 해야합니다.

3. 포트 kill하기전 error.log 확인 하기 위해 /var/log/nginx 폴더에 들어가 cat error.log 들어가 내용 확인 합니다.
4. sudo lsof -i:’
포트 번호로 포트 내용 확인합니다
5.
포트 kill 하기 위해 sudo kill -9 $(sudo lsof -t -I:포트번호) / sudo lisof -i:번호 으로 확인
6. Cd /etc/nginx
들어가 nginx.conf 파일 수정하여 포트 번호 및 업로드 하고 싶은 파일내용 지정 합니다.

7. Nano nginx.conf -> 다만 권한이 없다고 할 경우 sudo nano로 수정이 가능합니다.
Virtual Host Configs
내용 위 서버 정보와 파일 주소 (location) 지정해 줍니다. 내용 수정 후 저장 합니다. 아래 예시 확인

server {
 listen 10024;
 server_name localhost;

         location / {
root /home/novaskies/sprint-cozstory-frontend/build/;

index index.html;
}

     }

8. 다시 sudo nginx 실행하고 localhost site에 접속해봅니다. 페이지가 수정이 안될 경우 sudo nginx -s reload으로 nginx refresh 해줍니다. 그럼 완료 됩니다.

 

Cozstory 클라이언트 호스팅

1. Git clone
으로 내용 받기
2. Ls
으로 내용 확인 후 npm install 진행 -> cat package.json 으로 내용 확인

3. npm run build 으로 dependencies 내용 폴더로 풀기 -> build 라는 폴더 생성 하여 이내용을 nginx.conf location 부분에 업데이트

4. Sudo nginx으로 localhost 웹 브라우저 내용 확인