Nginx 중 하나: Nginx 의 컴 파일 설치

Nginx 는 고성능 WEB 서비스 와 리 버스 에이전트 서비스 로 국내 각 사이트 에서 널리 활용 되 고 있다.
그것 은 다음 과 같은 장점 을 가지 고 있다.
1. 높 은 동시 접속.공식 테스트 Nginx 는 5 만 개의 동시 연결 을 지탱 할 수 있 고 실제 생산 환경 에서 2 - 4 만 개의 동시 연결 을 지탱 할 수 있다.
2. 메모리 소모 가 적 고 원가 가 저렴 하 다.부하 균형 과 역방향 대 리 를 지원 하 며, 오픈 소스 소프트웨어 를 지원 합 니 다.
3. 프로필 이 간단 하고 URL 재 작성 규칙 을 지원 하 며 GZIP 압축 을 지원 하 며 대역 폭 을 절약 하고 안정성 이 높 으 며 열 배 치 를 지원 합 니 다.
실험 환경: CentOS 6.5
Nginx 버 전: nginx - 1.7.9. tar. gz
설치 해 야 할 소프트웨어: gcc, openssl - devel, pcre - devel, zlib - devel
1. 압축 파일 을 풀 고 nginx 디 렉 터 리 에 들 어가 기
  [root@localhost ~]# tar xf nginx-1.7.9.tar.gz 
  [root@localhost ~]# cd nginx-1.7.9
  
2. nginx 사용자 와 그룹 만 들 기
  groupadd -r nginx
  useradd -r -s /bin/balse -M -g nginx nginx 
3. 실행. / configure 및 인자 추가 (본 고의 기본 설치 경 로 는 / usr / local / nginx /)
 ./configure \ 
--prefix=/usr/local/nginx \ 
--error-log-path=/var/log/nginx/error.log \ 
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx/nginx.pid \ 
--lock-path=/var/lock/ningx.lock \ 
--user=nginx \ 
--group=nginx \ 
--with-http_ssl_module \ 
--with-http_flv_module \ 
--with-http_stub_status_module \ 
--with-http_gzip_static_module \ 
--http-client-body-temp-path=/var/tmp/nginx/client/ \ 
--http-proxy-temp-path=/var/tmp/nginx/fcgi \ 
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \ 
--http-scgi-temp-path=/var/tmp/nginx/scgi \ 
--with-pcre

 make && make install
{매개 변수의 의 미 를 간단하게 소개 합 니 다.
-- prefix = PATH 설치 디 렉 터 리 설정
-- sbin - path = PATH 실행 가능 한 프로그램 (nginx 명령) 파일 설치 디 렉 터 리 설정
-- http - log - path = PATH 접근 로그 디 렉 터 리 설정
-- error - log - path = PATH 오류 로그 디 렉 터 리 설정
-- pid - path = PATH pid 파일 (nginx. pid) 디 렉 터 리 설정
-- lock - path = PATH 잠 금 파일 (ngix. lock) 디 렉 터 리 설정
-- user = USER 프로그램 이 실행 중인 사용자 환경 설정 (nginx)
-- group = GROUP 프로그램 이 실행 중인 그룹 환경 설정 (nginx)
-- with - http ssl module 은 ngx http ssl module 모듈 을 허용 한다 (아파 치 대응: mod ssl)
-- with - http flv module 은 ngx http flv module 모듈 (mod flvx) 이 모듈 은 FLV (flash) 파일 에 대한 드래그 재생 을 지원 합 니 다.
-- with - http gzip static module 은 ngx http gzip static module 모듈 (mod dflate) 을 허용 한다.
이 모듈 은 Gzip 압축 을 여 는 클 라 이언 트 에 미리 압축 파일 을 전송 하기 전에 'gz' 로 끝 나 는 압축 파일 이 존재 하 는 지 확인 하면 파일 이 중복 압축 되 는 것 을 방지 할 수 있 습 니 다.
-- with - http stub status module 은 ngx http stub status module 모듈 (mod status) 을 허용 한다
이 모듈 은 nginx 의 운행 상 태 를 얻 을 수 있 으 며, 공업 상황 이 라면 직접 취소 할 수 있 습 니 다.
-- http - client - body - temp - path = PATH 클 라 이언 트 요청 임시 파일 경로 설정
-- http - proxy - temp - path = PATH 설정 http proxy 임시 파일 경로 
}
4. Nginx 의 부팅 스 크 립 트
  스 크 립 트 내용 을 nginx 파일 을 / etc / init. d / 로 저장 하고 실행 권한 을 부여 합 니 다 chmod + x / etc / init. d / nginx 
  chkconfig --add nginx 
  chkconfig --level nginx 2345 on
  다음 내용 을 해당 디 렉 터 리 파일 로 수정 합 니 다 (개인 컴 파일 매개 변수 가 통 하지 않 아 변경)
nginx="/usr/local/nginx/sbin/nginx"    Nginx 바 이 너 리 파일 의 경로
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"    Nginx 의 홈 프로필 디 렉 터 리
  스 크 립 트 내용 은 다음 과 같 습 니 다.
#!/bin/sh
#
# 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:      /etc/nginx/nginx.conf
# config:      /etc/sysconfig/nginx
# pidfile:     /var/run/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' -`
   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

Nginx 컴 파일 설치 완료

좋은 웹페이지 즐겨찾기