# yum -y update
# yum -y install gcc make gcc-c++ libxslt-devel
버전 체크
# rpm -q zlib
버전업
버전 체크 : >> https://zlib.net/
# wget https://zlib.net/zlib-1.2.11.tar.gz
# tar zxf zlib-1.2.11.tar.gz
# cd zlib-1.2.11
# ./configure
# make && make install
# rpm -q zlib
버전체크
# rpm -q openssl
버전업
버전체크 : >> https://www.openssl.org/source/
# yum -y install perl
# wget https://www.openssl.org/source/openssl-1.1.0h.tar.gz
# tar zxf openssl-1.1.0h.tar.gz
# cd openssl-1.1.0h
# ./config --prefix=/emc/soft/openssl
# make
# make install
※ ssl 라이브러리 확인
# ldconfig -p | grep ssl
기존 rpm으로 라이브러리가 포함되 있으면, 기존 라이브러리를 참조하게 ld.do.conf에 라이브러리를 추가한다.
# vi /etc/ld.so.conf
/emc/soft/openssl/lib << 이것을 추가
include ld.so.conf.d/*.conf
반영 후 재확인
# ldconfig
# ldconfig -p | grep ssl
PCRE (Perl Compatible Regular Expressions)
Perl 5 호환의 정규표현을 C언어로 만든 라이브러리 (BSD라이센스로 배포된다)
소스 다운로드 : 마지막 버전 PCRE (no PCRE2)
http://pcre.org/
https://ftp.pcre.org/pub/pcre/
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
# curl -L -O https://ftp.pcre.org/pub/pcre/pcre-8.42.tar.gz
# tar zxf pcre-8.42.tar.gz
# cd pcre-8.42
# ./configure --prefix=/emc/soft/pcre8.42
# make && make install
download : >> http://nginx.org/download/
# wget http://nginx.org/download/nginx-1.15.2.tar.gz
# tar zxf nginx-1.15.2.tar.gz
# cd nginx-1.15.2
# ./configure..... 아래 소스 참조
openssl 과 pcre는 소스가 있는 디렉토리
./configure \
--prefix=/emc/soft/nginx \
--sbin-path=/emc/soft/nginx/sbin/nginx \
--conf-path=/emc/soft/nginx/conf/nginx.conf \
--pid-path=/emc/soft/nginx/mmc/nginx.pid \
--lock-path=/emc/soft/nginx/mmc/nginx.lock \
--error-log-path=/emc/soft/nginx/mmc/error.log \
--http-log-path=/emc/soft/nginx/mmc/access.log \
--with-pcre=/emc/down/pcre-8.42 \
--with-pcre-jit \
--with-http_addition_module \
--with-http_dav_module \
--with-http_gzip_static_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_sub_module \
--with-http_xslt_module \
--with-mail \
--with-mail_ssl_module \
--with-openssl=/emc/down/openssl-1.1.0h
# make && make install
위 지정한 설정파일 확인 :; --conf-path=/emc/soft/nginx/conf/nginx.conf
server { listen 80; ...
1) 기동
# {nginx_home}/sibn/nginx
# /emc/soft/nginx/sbin/nginx
2) 정지
# ./nginx -s stop
# /emc/soft/nginx/sbin/nginx -s stop
3) 기동 후 확인
http://${IP_Address}
# useradd --shell /sbin/nologin nginx
# vi /emc/soft/nginx/conf/nginx.conf
1번째 행에 다음 추가
user nginx;
# vi /etc/init.d/nginx
스크립트는 아래 참조한다.
# chmod +x /etc/init.d/nginx
스크립트의 실행권한을 부여한다.
**** nginx script ****
#! /bin/sh
# Author: Ryan Norbauer http://norbauerinc.com
# Modified: Geoffrey Grosenbach http://topfunky.com
# Modified: Clement NEDELCU
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="nginx daemon"
NAME=nginx
DAEMON=/emc/soft/nginx/sbin/$NAME
SCRIPTNAME=/etc/init.d/$NAME
# 데몬파일이 없으면 종료
test -x $DAEMON || exit 0
d_start() {
$DAEMON || echo -n " already running"
}
d_stop() {
$DAEMON -s quit || echo -n " not running"
}
d_reload() {
$DAEMON -s reload || echo -n " could not reload"
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
d_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
d_stop
echo "."
;;
reload)
echo -n "Reloading $DESC: configuration..."
d_reload
echo "reloaded."
;;
restart)
echo -n "Restarting $DESC: $NAME"
d_stop
# 재기동 하기전에 2초 Sleep한다. Nginx데몬이 은밀히 종료하기 때문에 시간을 준다.
sleep 2
d_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|reload}" >&2
exit 3
;;
esac
exit 0
# echo 'export PATH="/emc/soft/nginx/sbin:$PATH"' >> ~/.bashrc
# source ~/.bashrc
# /etc/init.d/nginx start
# /etc/init.d/nginx stop
/etc/rc.local
에 등록한다.
# echo "/etc/init.d/nginx" >> /etc/rc.local
./configure: error: the HTTP XSLT module requires the libxml2/libxslt
libraries. You can either do not enable the module or install the libraries.
libxslt-devel 라이브러리 설치
# yum -y install libxslt-devel
configure: error: Invalid C++ compiler or C++ compiler flags
컴파일러 gcc-c++ 설치
# yum install gcc gcc-c++