본문 바로가기
서버 운영/Linux

Rocky Linux 8.X 에서 Nginx 컴파일 설치 (Nginx 1.24)

by Infralabs 2024. 3. 22.
반응형

Nginx 컴파일 설치

리눅스 서버에 Nginx를 설치할 때, 운영 중인 서버가 외부 통신이 불가능한 경우 혹은 경로를 직접 지정해서 설치하고 싶은 경우에는 컴파일 설치를 진행하는 경우가 있습니다. 이 게시글에서는 Rocky Linux 8.X 환경의 서버에서 Nginx 1.24.0의 컴파일 설치 과정을 설명합니다.

1. 설치 환경
- OS : Rocky Linux 8.8
- nginx 설치 버전 : 1.24.0

2. 경로
- 엔진 : /app/nginx
- 데이터 : /data/nginx
- 로그 : /log/nginx
 

1. 소스 파일 다운로드 및 파일 업로드

  • 설치에 필요한 설치파일은 공식 홈페이지를 이용하거나, Rocky, Ubuntu, Debian, Fedora, CentOS 등 다양한 Linux 배포판의 패키지를 제공하는 pkgs.org 를 주로 이용하고 있습니다.

  • 설치에 필요한 소스 컴파일 파일들은 업로드하였으니, 아래 자료를 다운로드하면 됩니다. (문제가 된다면 바로 삭제)

2. 사전 필요 패키지 설치

$ yum -y install gcc gcc-c++ perl
$ tar -xvzf openssl-3.2.0.tar.gz
$ tar -xvzf zlib-1.3.tar.gz
$ tar -xvzf pcre2-10.42.tar.gz

$ cd /usr/lib/zlib-1.3
$ ./configure
$ make
$ make install

$ cd /usr/lib/pcre2-10.42
$ ./configure
$ make
$ make install

$ cd /usr/lib/openssl-3.2.0

$ ./Configure --prefix=/usr
$ make
$ make install
 

3. Nginx 설치 계정 생성

# UID, GID : 3000 (임의)
# swadm : nginx를 설치하고 운영할 계정 

$ groupadd -g 3000 swadm
$ useradd -u 3000 -g 3000 swadm

$ echo '{패스워드}' | passwd swadm --stdin
 

4. Nginx 설치 디렉토리 생성 및 소유권 변경

# /app : 엔진 경로 
# /data : 데이터 경로 
# /log : 로그 경로 

$ mkdir /app/nginx
$ mkdir /data/nginx
$ mkdir /log/nginx

$ chown -R swadm:swadm /app/nginx
$ chown -R swadm:swadm /data/nginx
$ chown -R swadm:swadm /log/nginx
 

5. 압축 해제 및 configure 설정

$ cd /app/nginx-1.24.0.tar.gz 
$ tar -xvzf nginx-1.24.0.tar.gz 
$ cd nginx-1.24.0

$ ./configure --prefix=/app/nginx \
--user=swadm \
--with-zlib=/usr/lib/zlib-1.3 \
--with-openssl=/usr/lib/openssl-3.2.0 \
--with-pcre=/usr/lib/pcre2-10.42 \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_realip_module \
--http-log-path=/log/nginx/access.log \
--error-log-path=/log/nginx/error.log \
--pid-path=/var/run/nginx.pid \
--with-pcre-jit \
--with-http_addition_module \
--with-http_dav_module \
--with-http_gzip_static_module \
--with-http_sub_module \
--with-mail \
--with-mail_ssl_module 

# prefix : nginx 엔진 설치 경로
# user : nginx 설치 및 운영 계정
# with-~ : 사용할 모듈 및 라이브러리 옵션
 

6. 컴파일 실행 및 설치

$ make
$ make install
반응형