본문 바로가기
IT Knowledge/기타

Nginx 디렉토리 지정 설치

by Seok. 2021. 8. 19.
반응형

yum으로 설치해도 되나,

CentOS repository에서 제공하는 openssl은 업데이트가 느리고, 

관리상의 편의를 위해 디렉토리를 지정하여 컨파일 설치를 진행합니다. 

 

미리 설치(pre-requirement)

Nginx 소스 컴파일에 필요한 라이브러리 설치

zlib $ wget http://zlib.net/zlib-1.2.11.tar.gz
openssl $ wget http://www.openssl.org/source/openssl-1.1.1j.tar.gz
gcc $ yum install gcc gcc-c++
pcre $ wget http://downloads.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz

 

리눅스 nginx 소스 컴파일 및 설치

//디렉토리 이동 nginx 설치

$ cd ${nginx 소스 디렉토리}

 

//nginx 파일 압축해제

$ tar zxvf nginx-${version}.tar.gz

[선택-보안조치]

//compile nginx 정보 지우기

//어떤 Web 서버로 운영하는지 노출되지 않도록 보호하기 위함

/${nginx 소스 디렉토리}/nginx-{버전정보}/src/http/ngx_http_header_filter_module.c
static u_char ngx_http_server_string[] = "Server: nginx" CRLF;
static u_char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;
static u_char ngx_http_server_build_string[] = "Server: " NGINX_VER_BUILD CRLF;

 

// 압축해제된 디렉토리로 이동

$ cd nginx-${version}

 

// zlib, pcre, openssl 다운로드 및 압축해제

$ wget http://zlib.net/zlib-1.2.11.tar.gz

$ wget http://www.openssl.org/source/openssl-1.1.1j.tar.gz

$ wget http://downloads.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz

$ tar zxf zlib-1.2.11.tar.gz

$ tar zxf openssl-1.1.1j.tar.gz

$ tar zxf pcre-8.45.tar.gz

 

// compile 처리 전 설정처리

$ ./configure --prefix=${nginx디렉토리경로} --user=web --with-zlib=${zlib 경로} --with-pcre=${pcre 경로} --with-openssl=${openssl 경로} --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module

// 컴파일

$ make

// 설치

$ make install

 

[선택] 실행권한 설정

cd ${nginx 설치경로}/sbin
chown
사용자 nginx

 

리눅스 자동실행 service 등록 파일 생성 

Step 1. /usr/lib/systemd/system 경로에 nginx.service 생성

$ vi nginx.service

 

Step 2. nginx.service 내용 등록

nginx 서비스 설정
[Unit]
Description=nginx - high performance web server
Documentation=https://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target


[Service]
Type=forking
PIDFile=/${nginx 설치경로}/logs/nginx.pid //로그 설정
ExecStartPre=/${nginx 설치경로}/sbin/nginx -t -c /${nginx 설치경로}/conf/nginx.conf //시작하기 전 실행할 명령어 설정
ExecStart=/${nginx 설치경로}/sbin/nginx -c /${nginx 설치경로}/conf/nginx.conf //서비스를 시작하기 위한 실행 인자를 설정
ExecReload=/bin/kill -s HUP $MAINPID //재기동 설정
ExecStop=/bin/kill -s TERM $MAINPID //종료 설정


[Install]
WantedBy=multi-user.target

 

Step 3. nginx.service 데몬 등록

$ systemctl daemon-reload //데몬 재시작

$ systemctl status nginx //nginx 서비스 등록 확인

 

Reference 
$ systemctl start nginx //nginx 서비스 시작
$ systemctl stop nginx //nginx 서비스 중지
$ systemctl restart nginx //nginx 서비스 재기동

 


설치시 오류

현상

조치사항 : gcc-c++ 설치 필요

$ yum install gcc-c++

반응형

댓글