Linux - Centos 7 에서 컴 파일 설치 nginx

6853 단어 nginx
목차
1. 컴 파일 설치 에 필요 한 환경:
2. 원본 패키지 다운로드 (여 기 는 nginx - 1.14.0)
3. 컴 파일 설치
4. 설치 성공 여 부 를 확인 하고 소프트 연결 만 들 기
5. 웹 인터페이스 보기 시작
6. 부팅 스 크 립 트 설정
1. 컴 파일 설치 에 필요 한 환경:
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

2. 원본 패키지 다운로드 (여 기 는 nginx - 1.14.0)
wget http://nginx.org/download/nginx-1.14.0.tar.gz

3. 컴 파일 설치
--- 사용자 와 그룹 추가
groupadd www
useradd -g www www

--- 압축 을 풀 고 cd 로 들어간다
#tar -xvzf nginx-1.14.0.tar.gz

#cd nginx-1.14.0/

#./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module

#make &&  make install

--- nginx 템 플 릿 대략적인 해석
nginx 는 대부분의 상용 모듈 을 컴 파일 할 때... / configure -- help 는 -- without 로 시작 하 는 것 을 기본 으로 설치 합 니 다. -prefix = PATH: nginx 의 설치 디 렉 터 리 를 지정 합 니 다.기본 / usr / local / nginx -- conf - path = PATH: nginx. conf 설정 파일 의 경 로 를 설정 합 니 다.nginx 는 명령 행 의 - c 옵션 을 통 해 다른 프로필 을 시작 할 수 있 습 니 다.기본 값 은 prefix / conf / nginx. conf -- user = name: nginx 작업 프로 세 스 를 설정 한 사용자 입 니 다.설치 가 완료 되면 언제든지 nginx. conf 설정 파일 에서 user 명령 을 변경 할 수 있 습 니 다.기본 사용자 이름 은 nobody 입 니 다. -group = name 유사 -- with - pcre: PCRE 라 이브 러 리 의 원본 경 로 를 설정 합 니 다. yum 방식 으로 설치 되 어 있 으 면 -- with - pcre 를 사용 하여 라 이브 러 리 파일 을 자동 으로 찾 습 니 다.-- with - pcr = PATH 를 사용 할 때 는 PCRE 사이트 에서 pcre 라 이브 러 리 의 원본 코드 (버 전 4.4 - 8.30) 를 다운로드 하고 압축 을 풀 고 나머지 는 Nginx 의. / configure 와 make 에 맡 겨 야 합 니 다.perl 정규 표현 식 은 location 명령 과 ngx 에 사 용 됩 니 다.http_rewrite_module 모듈 에서 --with - zlib = PATH: zlib (버 전 1.1.3 - 1.2.5) 의 원본 디 렉 터 리 를 지정 합 니 다.기본적으로 사용 되 는 네트워크 전송 압축 모듈 ngxhttp_gzip_module 시 zlib 를 사용 해 야 합 니 다. -with-http_ssl_module: https 프로 토 콜 모듈 을 사용 합 니 다.기본적으로 이 모듈 은 구축 되 지 않 았 습 니 다.전 제 는 openssl 과 openssl - devel 이 설치 되 어 있 습 니 다 -- with - httpstub_status_module: Nginx 의 현재 상 태 를 감시 하 는 데 사용 합 니 다 -- with - httprealip_module: 이 모듈 을 통 해 클 라 이언 트 요청 헤더 에 있 는 클 라 이언 트 IP 주소 값 (예 를 들 어 X - Real - IP 또는 X - Forward - for) 을 변경 할 수 있 습 니 다. 배경 서버 가 원본 클 라 이언 트 의 IP 주소 인 add - module = PATH: nginx - sticky - module - ng 또는 캐 시 모듈 과 같은 제3자 외부 모듈 을 추가 할 수 있 습 니 다.새 모듈 을 추가 할 때마다 다시 컴 파일 해 야 합 니 다 (Tengine 은 module 에 새로 가입 할 때 다시 컴 파일 하지 않 아 도 됩 니 다)
4. 설치 성공 여 부 를 확인 하고 소프트 연결 만 들 기
#/usr/local/nginx/sbin/nginx -V                 //         
nginx version: nginx/1.14.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module


#ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx

5. 웹 인터페이스 보기 시작
#/usr/bin/nginx        //  nginx

#lsof -i:80             //    

#curl localhost:80      //    ,       

[root@tiger nginx-1.14.0]# curl localhost:80



Welcome to nginx!



Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.

Thank you for using nginx.


6. 부팅 스 크 립 트 설정
 :    
# vim /etc/init.d/nginx

#!/bin/sh
# tiger
# nginx - this script starts and stops the nginx daemon
#
# chkconfig:   - 85 15
# description:  NGINX is an HTTP(S) server, HTTP(S) reverse \
#               proxy and IMAP/POP3 proxy server
# processname: nginx
# config:      /usr/local/nginx/conf/nginx.conf
# config:      /etc/sysconfig/nginx
# pidfile:     /usr/local/nginx/logs/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
lockfile=/var/lock/subsys/nginx
make_dirs() {
   # make required directories
   user=`$nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
   if [ -z "`grep $user /etc/passwd`" ]; then
       useradd -M -s /bin/nologin $user
   fi
   options=`$nginx -V 2>&1 | grep 'configure arguments:'`
   for opt in $options; do
       if [ `echo $opt | grep '.*-temp-path'` ]; then
           value=`echo $opt | cut -d "=" -f 2`
           if [ ! -d "$value" ]; then
               # echo "creating" $value
               mkdir -p $value && chown -R $user $value
           fi
       fi
   done
}
start() {
    [ -x $nginx ] || exit 5
    [ -f $NGINX_CONF_FILE ] || exit 6
    make_dirs
    echo -n $"Starting $prog: "
    daemon $nginx -c $NGINX_CONF_FILE
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}
stop() {
    echo -n $"Stopping $prog: "
    killproc $prog -QUIT
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}
restart() {
    configtest || return $?
    stop
    sleep 1
    start
}
reload() {
    configtest || return $?
    echo -n $"Reloading $prog: "
    killproc $nginx -HUP
    RETVAL=$?
    echo
}
force_reload() {
    restart
}
configtest() {
  $nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
    status $prog
}
rh_status_q() {
    rh_status >/dev/null 2>&1
}
case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart|configtest)
        $1
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
            ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
        exit 2
esac

 :         
# chmod a+x /etc/init.d/nginx

 : nginx    chkconfig    
# chkconfig --add /etc/init.d/nginx
# chkconfig nginx on



nginx  #  nginx
nginx -s quit  #    nginx
nginx -V #    ,        
nginx -v #    
nginx -s reload|reopen|stop|quit   #      |  |    |    nginx
nginx -h #  

좋은 웹페이지 즐겨찾기