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: static u_char ngx_http_server_full_string[] = "Server: " static u_char ngx_http_server_build_string[] = "Server: " |
// 압축해제된 디렉토리로 이동
$ 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++
'IT Knowledge > 기타' 카테고리의 다른 글
CentOS 7에 Gradle 설치(Install) (0) | 2021.08.25 |
---|---|
리눅스 vi 줄번호 표시 (0) | 2021.08.19 |
SSH 로그인 RSA방식(공개키-개인키) (0) | 2021.07.20 |
네트워크 부하분산 Load Balancing(DNS vs GSLB) (0) | 2021.07.03 |
Data Backup(백업) 개요, 가이드, 솔루션 (1) | 2021.06.29 |
댓글