Debian 12, 11 또는 10의 소스에서 NGINX를 빌드하는 방법

Debian 12, 11 또는 10의 소스에서 NGINX를 빌드하면 여러 가지 이점과 잠재적인 단점이 있습니다. 소스에서 컴파일하면 필요에 맞는 특정 모듈과 최적화로 NGINX를 사용자 정의할 수 있어 빌드 프로세스를 더 효과적으로 제어할 수 있습니다. 이 방법을 사용하면 공식 저장소에 최신 기능과 보안 패치가 제공되기 전에 해당 패치가 있는지 확인할 수도 있습니다.

그러나 고려해야 할 몇 가지 잠재적인 단점이 있습니다. 소스에서 빌드하려면 미리 컴파일된 패키지를 설치하는 것보다 더 많은 시간과 노력이 필요합니다. 또한 빌드 프로세스와 종속성을 잘 이해해야 합니다. 또한 새 버전마다 NGINX를 수동으로 다시 컴파일해야 하므로 업데이트 관리가 더 복잡할 수 있습니다.

이 가이드는 Debian 12, 11, 10의 소스에서 NGINX를 빌드하는 방법을 보여주고 성공적인 설치를 보장하는 데 필요한 단계와 명령을 다룹니다.

1단계: 데비안 업데이트 및 업그레이드

설치를 시작하기 전에 데비안 시스템을 업데이트하세요. 터미널에서 다음 명령을 사용하세요.

sudo apt update
sudo apt upgrade

이 명령은 사용 가능한 업데이트 목록을 가져온 다음 시스템을 업그레이드하여 최신 소프트웨어로 작업할 수 있도록 합니다.

2단계: 필수 종속성 설치

다음 명령을 사용하여 Nginx를 컴파일하는 데 필요한 초기 패키지를 설치합니다.

sudo apt install build-essential libpcre3-dev libssl-dev zlib1g-dev libgd-dev

3단계: NGINX 소스 코드 다운로드

필요한 종속성이 설치되면 다음 단계는 NGINX 소스 코드를 다운로드하는 것입니다. 방문하다 NGINX 웹사이트 귀하의 필요에 가장 적합한 버전을 선택하십시오. 최신 메인라인, ​​안정 버전 또는 기타 버전을 선택할 수 있습니다.

선택한 버전을 다운로드하려면 wget 명령을 사용하십시오.

wget http://nginx.org/download/nginx-x.x.x.tar.gz

xxx를 버전 번호로 바꾸세요. 예를 들어 최신 메인라인 버전인 1.25.1을 다운로드하려면 다음을 사용하세요.

wget https://nginx.org/download/nginx-1.25.1.tar.gz

참고: 위 명령을 복사하지 마십시오. 이것은 단지 예일 뿐입니다. 최신 안정 또는 메인라인 다운로드 링크를 확보하세요.

4단계: 소스 코드 추출

소스 코드는 압축된 타르볼로 제공됩니다. 다음 명령을 사용하여 추출합니다.

tar -xzvf nginx-1.25.1.tar.gz

그런 다음 새로 추출된 디렉터리로 이동합니다.

cd nginx-1.25.1

5단계: NGINX 옵션 구성

이 단계에서는 소스에서 NGINX 옵션을 설정합니다. 이는 NGINX 빌드에 대한 경로와 모듈을 선택하는 것을 의미합니다. 다음 명령을 사용하십시오.

./configure --prefix=/var/www/html --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --with-pcre  --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-http_ssl_module --with-http_image_filter_module=dynamic --modules-path=/etc/nginx/modules --with-http_v2_module --with-http_v3_module --with-stream=dynamic --with-http_addition_module --with-http_mp4_module

옵션의 의미는 다음과 같습니다.

  • –prefix=/var/www/html: 설치를 위한 루트 디렉터리를 설정합니다.
  • –sbin-path=/usr/sbin/nginx: nginx 프로그램이 이동하는 위치를 설정합니다.
  • –conf-path=/etc/nginx/nginx.conf: 기본 NGINX 구성 파일 위치를 선택합니다.
  • –http-log-path=/var/log/nginx/access.log 및 –error-log-path=/var/log/nginx/error.log: 로그 파일이 있는 위치를 정의합니다.
  • –with-pcre: 구성 파일에 대해 PCRE(Perl Compatible Regular Expressions)를 활성화합니다.
  • –lock-path=/var/lock/nginx.lock 및 –pid-path=/var/run/nginx.pid: 잠금 및 pid 파일의 위치를 ​​설정합니다.
  • –with-http_ssl_module: 보안 웹 연결을 위해 SSL 모듈을 활성화합니다.
  • –with-http_image_filter_module=dynamic: 이미지 필터 모듈을 켭니다.
  • –modules-path=/etc/nginx/modules: 동적 모듈이 이동하는 위치를 정의합니다.
  • –with-http_v2_module: HTTP/2 모듈을 켭니다.
  • –with-stream=dynamic: 스트림 모듈을 동적으로 활성화합니다.
  • –with-http_addition_module 및 –with-http_mp4_module: 추가 및 MP4 모듈을 켭니다.

HTTP/3 모듈을 사용하지 않으려면 –with-http_v3_module을 생략하세요. HTTP/3은 더 빠르고 안정적인 웹 검색을 제공합니다.

6단계: NGINX 설치(NGINX 컴파일 및 빌드)

소스에서 NGINX를 빌드하기 위한 옵션을 구성한 후 이제 NGINX를 컴파일하고 설치할 차례입니다. 이는 2단계 프로세스입니다.

첫째, make 명령은 다음에 지정된 옵션을 사용하여 NGINX 소스 코드를 컴파일합니다. ./configure 스크립트. 그러면 NGINX 바이너리 실행 파일이 생성됩니다.

make

둘째, sudo make install 명령은 NGINX 바이너리, 구성 파일 및 기타 파일을 지정된 접두사 경로에 설치합니다. ./configure 스크립트:

sudo make install

설치 후 NGINX는 다음 위치에 위치합니다. sbin 접두사 경로의 디렉터리입니다.

7단계: NGINX Systemd 서비스 생성

소스에서 NGINX를 빌드하고 컴파일한 후에는 시스템에서 NGINX 서비스를 관리하기 위한 systemd 프로세스를 만드는 것이 중요합니다. 방법은 다음과 같습니다.

새로운 시스템 서비스 파일을 생성합니다:

sudo nano /etc/systemd/system/nginx.service

파일에 다음 콘텐츠를 추가합니다.

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

systemd 데몬을 다시 로드합니다.

sudo systemctl daemon-reload

NGINX 서비스를 시작합니다:

sudo systemctl start nginx

부팅 시 자동으로 시작되도록 NGINX 서비스를 활성화합니다.

sudo systemctl enable nginx

마지막으로 서비스가 활성화되었는지 확인합니다.

systemctl status nginx

8단계: NGINX 테스트

NGINX가 올바르게 실행되고 있는지 확인하려면 웹 브라우저를 열고 로컬 호스트 또는 서버 IP 주소를 사용하여 테스트 페이지로 이동하십시오.

http://localhost

아니면 교체하세요 localhost 귀하의 서버 IP 주소로.

추가 명령 및 팁

추가 모듈을 사용하여 NGINX 컴파일

추가 모듈을 사용하여 NGINX를 컴파일하여 NGINX의 기능을 향상시킬 수 있습니다. 예를 들어 Nginx HTTP 푸시 모듈을 사용하려면 NGINX 구성 중에 –add-module 플래그를 사용하세요.

./configure --add-module=/path/to/nginx-http-push-module
make
sudo make install

결론

다음 단계를 따르면 Debian 시스템의 소스에서 NGINX를 성공적으로 빌드하고 설치할 수 있습니다. 이 접근 방식을 사용하면 NGINX 설치에 대한 더 큰 유연성과 제어력을 제공하여 특정 요구 사항에 맞게 조정할 수 있습니다. 정기적으로 업데이트를 확인하고 필요에 따라 다시 컴파일하여 보안과 성능을 유지하세요. 소스에서 NGINX를 빌드할 때 제공되는 향상된 기능과 사용자 정의 옵션을 즐겨보세요.

Joshua James

코멘트를 남겨주세요