[컴][웹] nginx build 방법

 

nginx 1.20 빌드하기

nginx build 방법

절차

  1. 필요한 package 설치
  2. 소스 다운로드
  3. 빌드
    • make module : module 만 빌드할 때 사용하면 된다.
    • make install : nginx 를 만들어준다.

Dockerfile

아래 docker 는 headers-more-nginx-module(3rd party modules) 를 같이 빌드하는 내용이다. 빌드가 완료되면, /usr/local/nginx 에 nginx 가 저장된다.

module 은 /nginx-build/nginx-1.20.2/objs/ngx_http_headers_more_filter_module.so 에 생성된다.

nginx 는 /usr/local/nginx/ 에 실행파일과 기타 파일들을 만든다.

/usr/local/nginx/
  |
  +- conf
  +- html
  +- logs
  +- modules
  +- sbin
FROM rockylinux:8
LABEL maintainer="coosal@duck.com"

# ----------------------------
# requirement
# ----------------------------

RUN dnf -y update
RUN dnf -y group install "Development Tools"
RUN dnf -y install bzip2
# RUN dnf -y install openssl


# ----------------------------
# 소스 download
# ----------------------------
RUN mkdir nginx-build
WORKDIR /nginx-build

# download nginx-1.20.2.tar.gz
RUN curl -L -o './nginx-1.20.2.tar.gz' http://nginx.org/download/nginx-1.20.2.tar.gz
RUN tar -xf ./nginx-1.20.2.tar.gz

RUN curl -L -o './headers-more-nginx-module-v0.33.tar.gz' https://github.com/openresty/headers-more-nginx-module/archive/refs/tags/v0.33.tar.gz
RUN tar -xf ./headers-more-nginx-module-v0.33.tar.gz

# download pcre-8.45
RUN curl -L -o './pcres-8.45.tar.bz2' https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8.45.tar.bz2
RUN tar -xf ./pcres-8.45.tar.bz2

# download zlib-1.2.11
RUN curl -L -o './zlib-1.2.11.tar.gz' https://zlib.net/zlib-1.2.11.tar.gz
RUN tar -xf ./zlib-1.2.11.tar.gz


# ----------------------------
# build
# ----------------------------
WORKDIR /nginx-build/nginx-1.20.2

RUN ./configure --with-compat --add-dynamic-module=../headers-more-nginx-module-0.33 --with-pcre=../pcre-8.45 --with-zlib=../zlib-1.2.11

# ----------------------------
# module 을 build
# ----------------------------
RUN make modules

# ----------------------------
# nginx 를 build
# ----------------------------
RUN make install

ENTRYPOINT ['/bin/bash']

Reference

  1. Install | NGINX

댓글 없음:

댓글 쓰기