MSA 트레이닝 센터
NGINX Unit 설치 튜토리얼
이 트레이닝 영상에서는 NGINX Unit 설치 튜토리얼을 제공합니다.
NGINX Unit 설치 튜토리얼
NGINX Unit은 NGINX에서 개발한 동적 애플리케이션 서버로, 다중 언어 지원, 유연한 구성 API, 그리고 다양한 배포 환경에 적합한 고성능을 제공합니다. 이 가이드에서는 Linux 기반 시스템에 NGINX Unit을 설치하는 방법을 단계별로 설명합니다. 또한 다양한 운영 체제에 맞는 설치 방법도 함께 제공합니다.
Ubuntu 및 Debian에 설치
Unit 리포지토리 추가
NGINX 공식 키를 시스템에 추가합니다.
sudo apt update
sudo apt install curl gnupg -y
curl -s https://unit.nginx.org/keys/nginx_signing.key | sudo apt-key add -
배포판에 맞는 리포지토리를 추가합니다.
DISTRO=$(lsb_release -cs)
echo "deb [arch=amd64] https://packages.nginx.org/unit/ubuntu/ $DISTRO unit" | sudo tee /etc/apt/sources.list.d/unit.list
패키지 목록을 업데이트합니다.
sudo apt update
NGINX Unit 설치
NGINX Unit의 기본 패키지를 설치하려면 아래 명령을 실행합니다.
sudo apt install unit -y
추가 언어 모듈 설치
Python, PHP, Node.js 등 특정 언어를 지원하려면 해당 언어 모듈을 설치해야 합니다. 예를 들어, Python 모듈 설치:
sudo apt install unit-python3 -y
CentOS 및 RHEL에 설치
NGINX Unit 리포지토리 추가
공식 리포지토리를 설정합니다.
sudo curl -o /etc/yum.repos.d/unit.repo https://packages.nginx.org/unit/centos/unit.repo
배포판 버전에 맞게 리포지토리를 설정합니다.
- CentOS 7:
sudo sed -i 's/\$releasever/7/' /etc/yum.repos.d/unit.repo
- CentOS 8 및 RHEL 8:
sudo sed -i 's/\$releasever/8/' /etc/yum.repos.d/unit.repo
NGINX Unit 설치
다음 명령어를 사용하여 NGINX Unit을 설치합니다.
sudo yum install unit -y
추가 언어 모듈 설치
언어별 모듈도 설치해야 합니다. 예를 들어 Node.js 모듈을 설치하려면:
sudo yum install unit-nodejs -y
NGINX Unit 실행 및 확인
NGINX Unit을 설치한 후 서비스가 정상적으로 실행되고 있는지 확인합니다.
1. Unit 서비스 시작: Unit 서비스를 시작합니다.
sudo systemctl start unit
2. Unit 서비스 상태 확인: 서비스가 정상적으로 실행 중인지 확인합니다.
sudo systemctl status unit
출력 예시:
● unit.service - NGINX Unit
Loaded: loaded (/lib/systemd/system/unit.service; enabled; vendor preset: enabled)
Active: active (running) since ...
3. Unit 버전 확인: 설치된 Unit 버전을 확인합니다.
curl --unix-socket /var/run/control.unit.sock http://localhost/
{
"version": "1.30.0",
"config": {}
}
언어 지원 확인
NGINX Unit은 다양한 프로그래밍 언어를 지원하며, 언어별 모듈을 설치해야 합니다. 각 언어의 지원 상태를 확인하려면 다음 명령을 실행합니다
curl --unix-socket /var/run/control.unit.sock http://localhost/config/applications/
NGINX Unit 기본 설정
Unit의 구성은 RESTful API를 사용해 동적으로 설정할 수 있습니다. 기본적인 애플리케이션 라우팅 설정은 다음과 같이 진행됩니다.
기본 라우트 설정
1. 애플리케이션 설정: 아래 명령으로 Python 애플리케이션을 예로 들면:
curl -X PUT --unix-socket /var/run/control.unit.sock \
-d '{
"type": "python",
"path": "/path/to/app",
"module": "app"
}' http://localhost/config/applications/hello
2. Listener 설정: 애플리케이션으로의 요청을 처리할 리스너를 설정합니다.
curl -X PUT --unix-socket /var/run/control.unit.sock \
-d '{
"listeners": {
"*:8080": {
"pass": "applications/hello"
}
}
}' http://localhost/config
문제 해결
Unit 서비스가 시작되지 않을 경우
- 로그 파일을 확인하여 문제를 분석합니다.
sudo journalctl -u unit
구성 테스트 실패
- REST API를 통해 구성을 테스트할 때 오류 메시지가 반환되면 설정 파일의 JSON 구문 오류를 확인하세요.
- JSONLint와 같은 도구를 사용하여 JSON 형식을 검증할 수 있습니다.
NGINX Unit 업그레이드
Unit을 최신 상태로 유지하려면 다음 명령을 실행합니다.
- Ubuntu/Debian:
sudo apt update && sudo apt upgrade unit -y
- CentOS/RHEL:
sudo yum update unit -y
결론
이 가이드를 통해 NGINX Unit을 설치하고, 기본 애플리케이션과 라우팅 구성을 설정하는 방법을 배웠습니다. NGINX Unit의 강력한 기능을 활용하면 다양한 언어의 애플리케이션을 단일 플랫폼에서 유연하게 관리하고 배포할 수 있습니다. 다음 단계로는 NGINX Unit을 사용하여 SSL 인증, 로드 밸런싱, 그리고 고급 애플리케이션 설정을 구현해 보세요.
NGINX Unit을 시작하려면 NGINX Unit의 공식 Docs 를 확인하거나 NGINX STORE에 문의하여 사용 사례에 대해 상담 받아보세요.