개발_기초 정보

[Nginx] Nginx로 서버 설정하기

메타듀 2023. 2. 21. 11:12
728x90
반응형

Nginx란?

Nginx는 경량 웹 서버 소프트웨어로, 가벼움과 높은 성능을 목표로 한다.
클라이언트로부터 요청을 받았을 때 요청에 맞는 정적 파일을 응답해주는 HTTP Web Server, Reverse Proxy Server로 활용하여 WAS 서버의 부하를 줄일 수 있는 로드 밸런서 와 리버스 프록시 및 메일 프록시 기능을 가진다.

Nginx는 *Event-Driven * 구조로 동작하기 때문에 한 개 또는 고정된 프로세스만 생성하여 사용하고,비동기 방식으로 요청들을 동시적으로 처리할 수 있다.

새로운 요청이 들어오더라도 새로운 프로세스와 쓰레드를 생성하지 않으므로, 프로세스와 쓰레드 생성 비용이 존재하지 않고, 적은 자원으로 효율적인 운용을 할 수 있다.
때문에 Nginx는 단일 서버에서도 동시에 많은 연결을 처리할 수 있다.

Nginx의 구조

하나의 Master Process와 다수의 Worker Process로 구성되어 실행된다.
Master Process는 설정 파일을 읽고,유효성을 검사 및 Worker Process를 관리하며, 모든 요청은 Worker Process에서 처리한다.

이벤트 기반 모델, Worker Process 사이에 요청을 효율적으로 분배하기 위해 OS에 의존적인 메커니즘을 사용한다.
Worker Process의 개수는 설정 파일에서 정의하며, 정의된 프로세스 개수와 사용 가능한 CPU 코어 숫자에 맞게 자동으로 조정된다.

상용 기본 명령어

nginx 기본 명령어  
nginx 기동
nginx -s stop 정지
nginx -s reload 재기동
nginx -t 설정파일 체크
/etd/nginx : main 설정파일 위치
/etc/nginx/conf.d/ 각 서버용 설정파일 위치

 

nginx 명령의 옵션  
-?, -h nginx 명령어의 도움말 표시
-v nginx Version
-V nginx를 make 했을시 컴파일러 또는 configure 옵션 표시
-t, -q nginx 설정파일 오류 체크 (오류 체크시 nginx 정지 상태에서 실행, 정상메세지 출력)
-s stop 강제종료
-s quit 실행중 request 처리 종료하고 nginx 정리
-s reload 설정파일 다시 읽음
-s reopen nginx 재기동중 로그파일을 다시 오픈
-c 설정파일 지정한 설정파일로 nginx 기동
-g global 디렉티스 설정 지정한 global 디렉티브의 설정으로 nginx를 기동 (부하실험 등)
-p prefix default=/usr/local/nginx
반응형