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를 웹 또는 프록시 서버로 사용할 수 있습니다.
'SW > 리눅스' 카테고리의 다른 글
Cent OS 7 : PHP 7.X 설치 방법, 구성 방법, 명령어 (2) | 2020.09.23 |
---|---|
CentOS 7 : Java 설치 방법, 버전 변경, 삭제 방법 (0) | 2020.09.21 |
Cent OS 7 : MariaDB 설치하는 방법, 예제 (0) | 2020.09.18 |
Linux, Ubuntu : echo 명령어 : 사용법, 옵션, 예제 (0) | 2020.03.04 |
Ubuntu 18.04 : SSH 키 : 설정 방법 (0) | 2020.02.18 |