[NGINX] 수동 바이너리 설치

반응형

1. NGINX 다운로드 [사이트에서 직접 다운 후, 업로드함]

cd /home/webadm/nginx
wget https://nginx.org/download/nginx-1.23.1.tar.gz
tar 압축해제

 

 

2. PCRE 다운로드 [사이트에서 직접 다운 후, 업로드함]

cd /home/webadm/nginx
wget http://downloads.sourceforge.net/project/pcre/pcre-8.45.tar.gz
tar 압축해제

 

2.1 구성 체크

cd /home/webadm/nginx/nginx-1_23_1/pcre-8.45
./configure --prefix=/home/webadm/nginx/nginx-1_23_1/pcre-8.45

 

2.2 compile 및 설치

make && make install

 

3. zlib 다운로드 [사이트에서 직접 다운 후, 업로드함]

cd /home/webadm/nginx
wget http://zlib.net/zlib-1.2.12.tar.gz
tar 압축해제

 

3.1 구성 체크

cd /home/webadm/nginx/nginx-1_23_1/zlib-1.2.12
./configure

 

3.2 compile 및 설치

make && make install

 

3.3 버전 체크

 rpm -q zlib

 

4. OpenSSL 다운로드 [사이트에서 직접 다운 후, 업로드함]

cd /home/webadm/nginx
wget http://www.openssl.org/source/openssl-1.1.1q.tar.gz
tar 압축해제

 

4.1 구성 체크

cd /home/webadm/nginx/nginx-1_23_1/openssl-1.1.1q
./config --prefix=/home/webadm/nginx/nginx-1_23_1/openssl-1.1.1q

 

4.2 compile 및 설치

make
make install

 

4.3 ssl 라이브러리 확인

ldconfig -p | grep ssl


[root@oracle1 openssl-1.1.1q]# ldconfig -p | grep ssl
        libssl3.so (libc6,x86-64) => /lib64/libssl3.so
        libssl.so.10 (libc6,x86-64) => /lib64/libssl.so.10
        libevent_openssl-2.0.so.5 (libc6,x86-64) => /lib64/libevent_openssl-2.0.so.5

 

4.2 기존 rpm으로 라이브러리가 포함되어 있으면, 기존 라이브러리 참조하게 ld.do.conf에 라이브러리 추가

vi /etc/ld.so.conf
/home/webadm/nginx/nginx-1_23_1/openssl-1.1.1q/lib -> 해당 줄 추가
해당 줄 추가하고 ssh 접속안되면, 해당 설정 Skip!!!!!

[root@oracle1 lib]# ldconfig
[root@oracle1 lib]# ldconfig -p | grep ssl
        libssl3.so (libc6,x86-64) => /lib64/libssl3.so
        libssl.so.10 (libc6,x86-64) => /lib64/libssl.so.10
        libssl.so.1.1 (libc6,x86-64) => /home/webadm/nginx/nginx-1_23_1/openssl-1.1.1q/lib/libssl.so.1.1
        libevent_openssl-2.0.so.5 (libc6,x86-64) => /lib64/libevent_openssl-2.0.so.5
        libcrypto.so.1.1 (libc6,x86-64) => /home/webadm/nginx/nginx-1_23_1/openssl-1.1.1q/lib/libcrypto.so.1.1

 

5. NGINX 설치

cd /home/webadm/nginx/nginx-1_23_1 -> 디렉토리명 변경함 (여기를 nginx home으로 잡음)

 

5.1 구성 확인

./configure \
--prefix=/home/webadm/nginx/nginx-1_23_1 \
--sbin-path=/home/webadm/nginx/nginx-1_23_1/sbin/nginx \
--conf-path=/home/webadm/nginx/nginx-1_23_1/conf/nginx.conf \
--pid-path=/home/webadm/nginx/nginx-1_23_1/mmc/nginx.pid \
--lock-path=/home/webadm/nginx/nginx-1_23_1/mmc/nginx.lock \
--error-log-path=/home/webadm/nginx/nginx-1_23_1/mmc/error.log \
--http-log-path=/home/webadm/nginx/nginx-1_23_1/mmc/access.log \
--with-pcre=/home/webadm/nginx/nginx-1_23_1/pcre-8.45 \
--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=/home/webadm/nginx/nginx-1_23_1/openssl-1.1.1q

 

5.2 컴파일 및 설치

make && make install

 

6. 기동

./home/webadm/nginx/nginx-1_23_1/sbin/nginx

 

6.1 정지

./home/webadm/nginx/nginx-1_23_1/sbin/nginx -s stop

 

7. NGINX 사용자 작성

vi /home/webadm/nginx/nginx-1_23_1/conf/nginx.conf
첫번쨰 행 다음에 아래 줄 추가
user webadm

 

8. 다른 유저에서 기동 설정
*기본 포트가 80포트로 지정되어있음 , 80 포트는 root 유저만 사용가능함으로 포트번호 변경해야함*

/home/webadm/nginx/nginx-1_23_1/conf/nginx.conf -> 포트 값 변경

vi /etc/init.d/nginx


#! /bin/sh
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="nginx daemon"
NAME=nginx
DAEMON=/home/webadm/nginx/nginx-1_23_1/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​

 

8.1 실행권한 주기

chmod +x /etc/init.d/nginx

 

8.2 webadm 계정에 Path 추가

export PATH="/home/webadm/nginx/nginx-1_23_1/sbin:$PATH"

 

8.3 webadmin으로 기동 / 정지

/etc/init.d/nginx start
/etc/init.d/nginx stop

 

##ERROR##

1. NGINX 에러 메세지 : ./configure: error: the HTTP XSLT module requires the libxml2/libxslt.
yum install libxml2 libxslt1-dev
yum -y install libxslt-devel
반응형

'Midleware > WEB' 카테고리의 다른 글

[WEBTOB] JEUS, WEBTOB 연동, http.m 설정  (0) 2022.07.06