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


번호 제목 글쓴이 날짜 조회 수
63 apache - mod_url 설치 호스트웨이 2015.09.18 10287
62 Linux LVS 사용하기 호스트웨이 2015.09.16 10288
61 PHP 컴파일시 에러 메세지가 나오는 경우 조치방법 호스트웨이 2012.12.14 10312
60 Symbolic link not allowed or link target not accessible 에러 발생 시 호스트웨이 2012.11.16 10543
59 Apache-Tomcat Multi Instance 설정 file 호스트웨이 2015.05.28 10705
58 Apache Log 관리 방법 (Logrotate) 호스트웨이 2015.09.17 11180
57 PHP 속도 향상을 위한 eAccelerator 설치 호스트웨이 2012.06.15 11264
56 PHP 사용 시 특정함수 사용제한 하는 방법 호스트웨이 2012.08.03 11502
55 httpd.pid 파일 오류 메시지 (20014) 호스트웨이 2015.09.12 11911
54 PHP 컴파일시 /usr/bin/ld: cannot find -lltdl 오류 호스트웨이 2012.07.13 12546
53 Linux log 분할 방법 (logrotate) 호스트웨이 2012.04.06 12587
52 Apache 재시작시 세션 끊어짐 현상 호스트웨이 2012.10.12 12738
51 mod_evasive를 이용한 웹 DDoS 방어 호스트웨이 2014.08.19 13105
50 아파치 실행시 libphp5.so 에러 호스트웨이 2012.09.14 13523
49 APM 및 OS 버전 확인 하는 방법 호스트웨이 2012.03.30 13982
48 CentOS 6.3 에 apache, php, mysql, phpmyadmin(LAMP) 설치하기 #2 호스트웨이 2012.08.07 14202
47 httpd-2.4 설치하기 호스트웨이 2012.09.27 14436
46 PHP-5.3 버전 이상에서 Deprecated 에러 발생시 처리 방법 호스트웨이 2012.06.22 14714
» Nginx 설치 호스트웨이 2012.08.31 14896
44 phpize를 이용하여 모듈 추가 file 호스트웨이 2012.03.15 15582