Nginx Mainline은 Nginx 웹 서버의 개발 브랜치로, 안정적인 릴리스에 앞서 최신 기능, 업데이트 및 성능 개선을 제공합니다. 최신 기능과 향상에 액세스해야 하는 개발자와 관리자에게 이상적입니다. Nginx Mainline은 트래픽이 많은 웹사이트, 부하 분산 및 역방향 프록시 구성과 같이 최첨단 성능과 유연성이 필수적인 환경에 특히 적합합니다.
Debian 12 또는 11에서는 명령줄 터미널을 통해 Nginx Mainline을 설치하는 두 가지 주요 방법이 있습니다. 첫 번째 옵션은 nginx.org에서 제공하는 공식 apt 미러를 사용하는 것입니다. 이 미러를 사용하면 Nginx 팀에서 직접 최신 업데이트를 받을 수 있습니다. 또는 Nginx 및 기타 필수 소프트웨어에 대한 최신 패키지를 유지하는 것으로 알려진 Ondřej Surý가 관리하는 타사 저장소를 사용하여 Nginx Mainline을 설치할 수 있습니다. 이 가이드에서는 두 가지 방법을 모두 안내하여 필요에 가장 적합한 방법을 선택할 수 있도록 합니다.
방법 1: Nginx.org를 통해 Nginx 메인라인 설치
Nginx 메인라인 사전 설치 단계
데비안 시스템 패키지 업데이트
가이드의 첫 번째 단계는 데비안 시스템이 완전히 업데이트되었는지 확인하는 것입니다. 이렇게 하면 모든 패키지와 보안 패치가 최신 버전으로 유지됩니다. 패키지 목록과 패키지 자체를 업데이트하려면 먼저 터미널에서 다음 명령을 실행해야 합니다.
sudo apt update
오래된 패키지를 업그레이드하려면 다음 명령을 실행하세요.
sudo apt upgrade
필수 패키지 설치
Debian 시스템에 최신 Nginx 메인라인 버전을 설치하기 위해 선택한 방법에 따라 두 방법 모두 추가 패키지가 필요할 수 있습니다. 다음 명령은 필요한 것을 설치합니다.
sudo apt install curl gnupg2 ca-certificates lsb-release dirmngr software-properties-common apt-transport-https -y
대부분은 이미 설치되어 있을 수 있지만 설치되었는지 확인하려면 이 명령을 다시 실행하세요.
Nginx.org Nginx 메인라인 리포지토리 가져오기
이 방법은 최신 Nginx 메인라인 또는 안정 버전을 Nginx.org의 공식 APT 저장소에서 직접 가져옵니다. 최신 버전의 Nginx가 출시되면 즉시 최신 상태를 유지하는 것이 가장 좋은 옵션입니다.
Nginx.org GPG 키 가져오기
첫 번째 단계는 Nginx GPG 키를 다운로드하고 추가하는 것입니다. 이 키는 우리가 설치할 패키지의 신뢰성을 확인하는 데 필요합니다.
curl -fSsL https://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg > /dev/null
이제 GPG 키를 사용하여 키 가져오기 성공 여부를 확인하겠습니다.
gpg --dry-run --quiet --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
가져오기가 성공했다고 가정하면 키 세부정보를 확인하는 출력이 표시됩니다.
성공한 경우 출력 예:
pub rsa2048 2011-08-19 [SC] [expires: 2024-06-14]
573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
uid nginx signing key <signing-key@nginx.com>
Nginx.org APT 리포지토리 가져오기
GPG 키가 안전하게 배치되면 Nginx Mainline 또는 Stable 저장소를 APT 패키지 관리자 목록에 추가할 수 있습니다.
Nginx 메인라인 저장소를 가져오려면 다음을 사용하세요.
echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
메모: 이 문서에서는 주로 Nginx 메인라인 설치에 대해 설명합니다. 그러나 많은 Linux 배포판의 경우 상당한 업그레이드가 될 최신 안정 버전을 설치할 수 있는 옵션도 제공했습니다.
또는 Nginx Stable 저장소의 경우:
echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
다음 목표는 기본 Debian 또는 기타 타사 저장소의 패키지보다 nginx.org 저장소의 Nginx 패키지를 선호하도록 APT 고정을 구성하는 것입니다.
다음 명령을 사용하여 이를 달성합니다.
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" | sudo tee /etc/apt/preferences.d/99nginx
예제 출력:
x\nPin-Priority: 900\n" | sudo tee /etc/apt/preferences.d/99nginx
Package: *
Pin: origin nginx.org
Pin: release o=nginx
Pin-Priority: 900
이 단계에서는 새로운 추가 사항을 포함하도록 APT 저장소를 업데이트해야 합니다.
sudo apt update
Nginx 메인라인 설치 마무리
모든 것이 올바르게 설정되었으면 이제 Nginx를 설치할 수 있습니다.
sudo apt install nginx
설치가 완료되면 성공적으로 설치되었는지 확인하는 것이 중요합니다. Nginx가 올바르게 설치되었는지 확인하기 위해 설치된 버전을 확인할 수 있습니다.
nginx -v
명령 출력에는 설치한 버전에 따라 최신 Nginx Mainline 또는 Stable 버전이 반영되어야 합니다.
방법 2: Ondřej Surý를 통해 Nginx 메인라인 설치
두 번째 방법은 Ondřej Surý가 관리하는 잘 알려진 타사 저장소를 사용하는데, Debian과 Ubuntu 커뮤니티의 많은 사람들이 그가 업스트림 릴리스를 위해 Apache, Nginx, PHP 저장소를 유지 관리한다는 것을 알고 있습니다. 이 방법은 새 버전이 나올 때 그가 업데이트할 때까지 기다리는 것에 의존합니다. Nginx.org APT 저장소만큼 빠르지는 않지만, 이 버전에는 컴파일된 추가 모듈이 포함되어 있습니다. 그 중 하나는 Brotli를 사용하고 있습니다.
Nginx Mainline 가져오기
타사 저장소에서 Nginx Mainline 저장소를 가져오는 것은 간단합니다. 다음 명령을 사용하세요.
curl -sSL https://packages.sury.org/nginx-mainline/README.txt | sudo bash -x
최신 안정 버전으로 다시 전환하는 것을 선호하거나 메인라인 대신 안정 버전을 사용하려는 경우 다음 명령을 사용하여 이 버전을 가져옵니다.
curl -sSL https://packages.sury.org/nginx/README.txt | sudo bash -x
충돌을 방지하려면 메인라인 버전을 제거했는지 확인하세요.
Nginx 메인라인 설치
이제 다음 명령을 사용하여 Nginx 메인라인 또는 안정 버전을 설치할 수 있습니다.
sudo apt install nginx
Nginx 메인라인 설치 확인
Nginx가 설치되면 다음 명령을 사용하여 설치를 확인할 수 있습니다.
nginx -v
출력에는 설치된 Nginx 버전이 표시되어야 합니다. 최신 메인라인과 일치하면 메인라인 버전이 성공적으로 설치된 것입니다.
Ondřej Surý 설치 방법과 함께하는 추가 Nginx 팁
Nginx Mainline 또는 Stable에서 Brotli 설정
Nginx 메인라인 또는 안정 버전 모두 brotli 모듈을 포함하므로 이를 설치하려면 다음 명령을 사용하십시오.
sudo apt install libnginx-mod-brotli
이제 Nginx 구성 파일을 엽니다.
sudo nano /etc/nginx/nginx.conf
Nginx 서버에서 Brotli 압축을 활성화하려면 HTTP 블록에 다음 구성을 추가해야 합니다. nginx.conf
구성 파일:
brotli on;
brotli_comp_level 6;
brotli_static on;
brotli_types application/atom+xml application/javascript application/json application/rss+xml
application/vnd.ms-fontobject application/x-font-opentype application/x-font-truetype
application/x-font-ttf application/x-javascript application/xhtml+xml application/xml
font/eot font/opentype font/otf font/truetype image/svg+xml image/vnd.microsoft.icon
image/x-icon image/x-win-bitmap text/css text/javascript text/plain text/xml;
구성 지시문에 대한 분석은 다음과 같습니다.
- brotli on;:
- 이 지시어는 Brotli 압축을 활성화합니다.
- brotli_comp_level 6;:
- 그러면 압축 수준이 6(0-11 범위)으로 설정됩니다. 값이 높을수록 압축 성능이 향상되지만 CPU 리소스를 더 많이 사용합니다.
- brotli_static on;:
- 이 지시문은 Nginx에 .br 확장자를 가진 사전 압축 파일을 확인하라고 지시합니다. 그러한 파일이 있으면 파일을 즉시 압축하는 대신 제공됩니다.
- brotli_types …;:
- 이 지시어는 압축되어야 하는 응답의 MIME 유형을 지정합니다. 긴 유형 목록에는 Brotli 압축의 이점을 누릴 수 있는 다양한 텍스트 형식, 글꼴 및 이미지가 포함되어 있습니다.
이제 다시 로드하기 전에 nginx 구성을 테스트하여 오류가 없는지 확인하세요.
sudo nginx -t
이제 다음 명령을 사용하여 brotli 압축을 테스트합니다.
curl -I --compressed http://your-server.com/some-path
사용된 명령에 대한 분석은 다음과 같습니다.
- curl: HTTP 요청을 보내는 데 사용되는 명령줄 도구입니다.
- -I: 이 플래그는 curl에게 헤더만 가져오라고 지시합니다.
- –compressed: 이 플래그는 curl에게 압축된 콘텐츠를 요청하도록 알려줍니다.
- http://your-server.com/some-path: 테스트 중인 URL입니다.
출력에서 Content-Encoding: br이라고 적힌 헤더를 찾으세요. 이는 Brotli 압축이 사용되고 있음을 나타냅니다.
Content-Encoding: br
결론
nginx.org의 공식 apt-mirror나 Ondřej Surý의 타사 저장소를 사용하여 Debian에 Nginx Mainline을 설치하면 서버에 최신의 가장 진보된 버전의 Nginx가 장착됩니다. 이를 통해 시스템은 특정 환경에 맞게 조정된 최첨단 기능과 성능 개선을 활용할 수 있습니다. 선택한 저장소에서 정기적으로 업데이트하면 Nginx가 안전하고 효율적으로 실행됩니다. 공식 미러나 타사 저장소를 선택하든 Nginx Mainline을 유지 관리하면 Debian 시스템에서 웹 서버 기술에서 앞서 나가는 데 도움이 됩니다.