Linux WEB

Nginx 설치

2012.08.31 18:59

호스트웨이 조회 수:14896

1. Source Download

· http://nginx.org/download/

설치전 라이브러리 install

· # yum -y install gcc pcre-devel bzip2-devel openssl-dev libxml2-devel gdbm-devel libjpeg-devel libpng-devel freetype-devel apr ncurses-devel

 

# cd /usr/local/src

# wget http://nginx.org/download/nginx-1.0.11.tar.gz

# tar xvfzp nginx-1.0.11.tar.gz

# cd /usr/local/src/nginx-1.0.11

# ./configure --prefix=/usr/local/nginx --with-http_ssl_module

# make

# make install 

 

 

· init.d 데몬 작성

· # vi /etc/rc.d/init.d/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

 

스크립트 실행 권한 추가

· # chmod 755 /etc/rc.d/init.d/nginx

 

chkconfig 통한 시작 프로그램 추가 등록

# chkconfig --add level 35 nginx

# chkconfig --list | grep nginx

nginx           0:off   1:off   2:off   3:on    4:off   5:on    6:off

 

설정 파일 수정

# vi /usr/local/nginx/conf/nginx.conf

user  nginx nginx; 

error_log  /var/log/nginx/error.log;   # 에러로그 위치

events { 

    worker_connections  1024;     # 커넥션 임계치

http { 

    include       mime.types; 

    default_type  application/octet-stream; 

 

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ' 

                      '$status $body_bytes_sent "$http_referer" ' 

                      '"$http_user_agent" "$http_x_forwarded_for"'; 

 

    access_log  /var/log/nginx/access.log  main; 

 

    sendfile       on; 

    tcp_nopush     on; 

    server { 

        listen       80; 

        server_name  localhost;   # 도메인 이름

        location / { 

            root   /var/www/html    # 홈디렉토리

            index  index.html index.htm;  #  index 형식 지정

        } 

        error_page   500 502 503 504  /50x.html; 

        location = /50x.html { 

            root   html; 

        } 

    } 

}

 

# /etc/rc.d/init.d/nginx start

        # ps -aux | grep nginx


번호 제목 글쓴이 날짜 조회 수
43 Apache / PHP 최신버전 설치하기 호스트웨이 2015.09.25 16487
42 CentOS 6.3 에 apache, php, mysql, phpmyAdmin(LAMP) 설치하기 #1 호스트웨이 2012.08.07 17343
41 ZendOptimizer 3.3.9 설치 file 호스트웨이 2012.06.01 17546
40 [php] 세션 유지시간 설정하기 호스트웨이 2012.10.25 17770
39 Zend Guard Loader 설치 호스트웨이 2012.04.20 17811
38 nginx - redirect 설정 호스트웨이 2012.08.24 17883
37 server-status를 이용한 아파치 모니터링 방법 file 호스트웨이 2016.04.05 18220
36 apache internal dummy connection 로그 생성 방지하기 호스트웨이 2012.09.06 18689
35 Apache Max Client 값 수정 호스트웨이 2012.08.31 19627
34 Debian 에서 mod_rewrite 활성화 하기 jook 2008.12.12 19805
33 mod_GeoIP를 이용한 국가 IP 확인 및 국가별 접속 제한 호스트웨이 2012.05.04 19935
32 apache1.3 + mod_ssl - 보안서버 구축하기 sylee 2008.05.15 20081
31 apache에서 cgi를 사용하기 위한 설정 방법 호스트웨이 2012.04.27 20125
30 Debian에서 apm 설치할때의 패키지 목록 jook 2008.12.27 20175
29 설치된 서버 php에서 지원되는 함수 확인 하기 hostway 2008.05.14 20203
28 Apache 설치 후 WEB 403 Forbidden 에러 호스트웨이 2015.09.08 20312
27 SSL 패스워드 삭제 하기 호스트웨이 2012.09.05 20690
26 httpd-2.x.x 에서의 SERVER_LIMIT 변경 hostway 2008.05.14 20922
25 아파치 환경설정 파일분석 1번째 sylee 2008.05.14 21377
24 apache2.x - 보안서버 구축하기 sylee 2008.05.15 22984