거꾸로 바라본 세상
Published 2023. 4. 20. 09:54
[Nginx] Intro 및 설치 Back-End/Nginx
반응형

Nginx

Nginx는 "동시접속 처리에 특화된 웹 서버 프로그램으로 Apache보다 동작이 단순하고, 전달자 역할만 하기 때문에 동시접속 처리에 특화되어 있다.

우분투 설치

sudo apt-get update
sudo apt install curl gnupg2 ca-certificates lsb-release debian-archive-keyring

## Nginx pakage 저장소 서명키를 다운로드 하고 저장
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
    | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null




# lsb_release 명령을 통해 운영체제와 배포판 이름을 정의하는 변수를 선언 후 apt 소스파일을 생성 
OS=$(lsb_release -is | tr '[:upper:]' '[:lower:]')
RELEASE=$(lsb_release -cs)

echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
    http://nginx.org/packages/${os} ${RELEASE} nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list



sudo apt-get install -y nginx

MAC 설치

brew install nginx

주요 설정파일 디렉터리

  • /etc/nginx/
  • 엔진엑스 서버가 사용하는 기본 설정이 저장된 루트 디렉터리로 이곳에 저장된 설정파일의 내용에 따라 동작.
    (mac os는 /usr/local/etc/nginx/ 에 위치)
  • /etc/nginx/nginx.conf
  • 기본 설정파일로 모든 설정에 대한 진입점이며 최상위 http 블록을 가지고 있다. 또한 worker process count. tuning, 동적 모듈 적재와 같은 Golobal 설정항목 및 엔진엑스의 세부설정 파일에 대한 참조를 지정한다.
  • /etc/nginx/conf.d/
  • HTTP 서버의 기본 설정파일로 nginx.conf 파일이 가진 최상위 http 블록에 포함
  • /var/log/nginx/
  • 엔진엑스의 로그가 저장되는 디렉터리 access.log, error.log가 있다.(mac os는 /usr/local/var/log/nginx)

엔진엑스 명령어

  • nginx -h
  • nginx 도움말
  • nginx -v
  • 엔진엑스 버전 정보
  • nginx -V
  • 엔진엑스의 버전 정보 및 빌드 정보, 바이너리에 포함된 모든 설정 정보 값
  • nginx -t
  • 엔진엑스 설정을 시험
  • nginx -T
  • 엔진엑스 설정을 시험하고 결과를 화면에 보여줌
  • nginx -s stop
  • nginx 서비스 종료
  • ps -ef | grep nginx
  • nginx 실행중인지 확인

무중댠으로 설정 리로드

  • nginx -s reload
  • 해당명령어를 이용하면 서버를 중지하지 않고 리로드 신호를 보내어 다시 읽어들이도록 지시한다.

정적 콘텐츠 서비스하기

해당설정은 80포트를 이용해 root의 html/경로에 저장된 정적 콘텐츠를 제공

 ## server블록을 선언하여 엔진엑스가 처리할 새로운 컨테스트를 정의
 server {
    ## 80포트로 들어오는 요청을 수신하고 기본컨텍스트가 되도록 default_server 매개변수를 사용    
    listen       80 default_server;
    ## 서버 호스트명 도메인
    server_name  localhost;
    ## location블록은 URL 경로를 기반으로 하며 요청된 적합한 location 블록은 찾아낸다.
    location / {
        ## root 지시자에 정의된 경로를 수신한 URI 값을 합쳐 요청된 파일을 찾는다.
        root   html;
        ## index 지시자는 URI에 더이상 참고할 경로 정보가 없을 때 nginx가 기본 파일 또는 파일 목록을 알려줌
        index  index.html index.htm;
    }
}
반응형
profile

거꾸로 바라본 세상

@란지에。

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!