SW/리눅스

Ubuntu 16.04 : Nginx 설치하는 방법, 명령어, 예제

얇은생각 2020. 9. 20. 07:30
반응형

Ubuntu 16.04 : Nginx 설치하는 방법, 명령어, 예제

 

Nginx는 인터넷에서 가장 큰 사이트 중 일부에 전원을 공급하는 무료 오픈 소스 고성능 HTTP 및 역방향 프록시 서버입니다.

Apache 에 비해 Nginx는 많은 수의 동시 연결을 처리할 수 있으며 연결당 메모리 설치 공간이 작습니다.

이 튜토리얼에서는 Ubuntu 16.04 시스템에 Nginx를 설치하고 관리하는 방법에 대해 설명합니다.

 

 

 

Prerequisites

 

튜토리얼로 시작하기 전에 sudo 권한을 가진 사용자로 로그인해야 하며 포트 80 또는 443에서 Apache나 다른 서비스를 실행하지 않아야 합니다.

 

 

 

Install Nginx

 

Nginx 패키지는 Ubuntu 기본 소프트웨어 리포지토리에서 사용할 수 있습니다. 설치는 매우 간단합니다. 다음 명령을 실행하기만 하면 됩니다.

sudo apt update
sudo apt install nginx

 

 

설치가 완료되면 다음을 입력하여 Nginx 서비스의 상태를 확인합니다.

sudo systemctl status nginx

 

 

출력에 Nginx 서비스가 활성 상태이고 실행 중임을 알 수 있습니다.

● nginx.service - A high performance web server and a reverse proxy server

   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)

   Active: active (running) since Sun 2018-01-05 15:44:04 UTC; 1min 59s ago

 Main PID: 1291 (nginx)

   CGroup: /system.slice/nginx.service

           ├─1291 nginx: master process /usr/sbin/nginx -g daemon on; master_process on

           └─1293 nginx: worker process

 

 

Nginx 버전 유형을 확인하려면 다음을 수행합니다.

sudo nginx -v
nginx version: nginx/1.10.3 (Ubuntu)

 

 

 

방화벽 조정

 

UFW를 사용하여 방화벽을 관리한다고 가정하면 HTTP(80) 및 HTTPS(443) 포트를 열어야 합니다.

두 포트에 대한 규칙이 포함된 'Nginx Full' 프로필을 활성화하면 이 작업을 수행할 수 있습니다.

 

방화벽 상태를 확인하려면 다음을 입력합니다.

sudo ufw allow 'Nginx Full'

 

출력은 다음과 같습니다.

Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
Nginx Full                 ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
Nginx Full (v6)            ALLOW       Anywhere (v6)

 

 

 

Test the Installation

 

선택한 브라우저에서 Nginx가 예상대로 작동하는지 확인하려면 http://YOUR_IP를 열고 아래와 같이 기본 Nginx 시작 페이지가 표시됩니다.

 

 

 

Nginx PPA 저장소에서 Nginx를 설치

 

Ubuntu 저장소의 Nginx 패키지가 오래된 경우가 많습니다. 최신 Nginx 버전을 설치하려면 공식 Nginx PPA 저장소를 사용합니다.

Ubuntu 16.04에 Nginx의 최신 버전을 설치하려면 다음 단계를 수행합니다.

 

01. 먼저 소프트웨어 속성 공통 패키지를 설치합니다.

sudo apt install software-properties-common

 

02. 다음 명령을 사용하여 Nginx PPA 저장소를 추가합니다.

sudo add-apt-repository ppa:nginx/stable

 

03. 패키지 목록을 업데이트하고 Nginx를 설치합니다.

sudo apt update

sudo apt install nginx

 

04. 설치가 완료되면 다음을 사용하여 Nginx 버전을 확인합니다.

sudo nginx -v

 

05. 출력은 다음과 같습니다.

nginx version: nginx/1.12.2

 

 

 

systemctl로 Nginx 서비스를 관리

 

Nginx 서비스는 다른 systemd 장치와 동일한 방식으로 관리할 수 있습니다.

 

Nginx 서비스를 중지하려면 다음을 실행합니다.

sudo systemctl stop nginx

 

Nginx 서비스를 시작하려면 다음을 입력합니다.

sudo systemctl start nginx

 

Nginx 서비스를 다시 시작합니다.

sudo systemctl restart nginx

 

일부 구성을 변경한 후 Nginx 서비스를 다시 로드합니다.

sudo systemctl reload nginx

 

부팅 시 시작하도록 Nginx 서비스를 사용하지 않도록 설정합니다.

sudo systemctl disable nginx

 

부팅 시 다시 시작하도록 Nginx 서비스를 다시 활성화합니다.

sudo systemctl enable nginx

 

 

 

Nginx 구성 파일의 구조 및 사례

 

- 모든 Nginx 구성 파일은 /etc/nginx/ 디렉토리에 있습니다.

- 기본 Nginx 구성 파일은 /etc/nginx/nginx.conf 에 있습니다.

- Nginx 구성을 보다 쉽게 유지 관리할 수 있도록 각 도메인에 대해 별도의 구성 파일을 생성하는 것이 좋습니다. 필요한 만큼의 서버 블록 파일을 가질 수 있습니다.

- Nginx 서버 블록 파일은 /etc/nginx/sites 사용 가능한 디렉토리에 저장됩니다. 이 디렉토리에 있는 구성 파일은 /etc/nginx/sites-available 디렉토리에 연결되지 않는 한 Nginx에서 사용하지 않습니다.

- 서버 블록을 활성화하려면 사이트 사용 가능한 디렉토리의 구성 파일 사이트에서 사이트 사용 가능 디렉토리로 symlink(포인터)를 만들어야 합니다.

- 표준 명명 규칙을 따르는 것이 좋습니다. 예를 들어 도메인 이름이 mydomain.com인 경우 구성 파일의 이름을 /etc/nginx/nginx/vironvailable/mydomain.com.conf로 지정해야 합니다.

- /etc/nginx/snippets 디렉토리에는 서버 블록 파일에 포함할 수 있는 구성 스니펫이 포함되어 있습니다. 반복 가능한 구성 세그먼트를 사용하는 경우 해당 세그먼트를 캡처로 리팩터링하고 서버 블록에 코드 조각 파일을 포함할 수 있습니다.

- Nginx 로그 파일(access.log 및 error.log)은 /var/log/nginx/ 디렉토리에 있습니다. 서버 블록마다 다른 액세스 및 오류 로그 파일을 갖는 것이 좋습니다.

- 도메인 문서 루트 디렉터리를 원하는 위치로 설정할 수 있습니다. webroot의 가장 일반적인 위치는 다음과 같습니다.

    - /home/<user_name>/<site_name>
    - /var/varw/<site_name>
    - /var/varw/properties/<site_name>
    - /opt/<site_name>

 

 

 

정리

 

 Ubuntu 18.04 서버에 Nginx를 설치했습니다. 이제 애플리케이션 배포를 시작하고 Nginx를 웹 또는 프록시 서버로 사용할 수 있습니다.

반응형