Linux WEB

Nginx 설치

2012.08.31 18:59

호스트웨이 조회 수:14903

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 Linux LVS 사용하기 호스트웨이 2015.09.16 10305
62 apache - mod_url 설치 호스트웨이 2015.09.18 10306
61 PHP 컴파일시 에러 메세지가 나오는 경우 조치방법 호스트웨이 2012.12.14 10354
60 Symbolic link not allowed or link target not accessible 에러 발생 시 호스트웨이 2012.11.16 10607
59 Apache-Tomcat Multi Instance 설정 file 호스트웨이 2015.05.28 10731
58 PHP 속도 향상을 위한 eAccelerator 설치 호스트웨이 2012.06.15 11266
57 PHP 사용 시 특정함수 사용제한 하는 방법 호스트웨이 2012.08.03 11526
56 Apache Log 관리 방법 (Logrotate) 호스트웨이 2015.09.17 11533
55 httpd.pid 파일 오류 메시지 (20014) 호스트웨이 2015.09.12 11973
54 PHP 컴파일시 /usr/bin/ld: cannot find -lltdl 오류 호스트웨이 2012.07.13 12569
53 Linux log 분할 방법 (logrotate) 호스트웨이 2012.04.06 12605
52 Apache 재시작시 세션 끊어짐 현상 호스트웨이 2012.10.12 12785
51 mod_evasive를 이용한 웹 DDoS 방어 호스트웨이 2014.08.19 13128
50 아파치 실행시 libphp5.so 에러 호스트웨이 2012.09.14 13530
49 APM 및 OS 버전 확인 하는 방법 호스트웨이 2012.03.30 14003
48 CentOS 6.3 에 apache, php, mysql, phpmyadmin(LAMP) 설치하기 #2 호스트웨이 2012.08.07 14208
47 httpd-2.4 설치하기 호스트웨이 2012.09.27 14437
46 PHP-5.3 버전 이상에서 Deprecated 에러 발생시 처리 방법 호스트웨이 2012.06.22 14779
» Nginx 설치 호스트웨이 2012.08.31 14903
44 phpize를 이용하여 모듈 추가 file 호스트웨이 2012.03.15 15592