>  기사  >  백엔드 개발  >  centos의 소스 코드에서 nginx 컴파일

centos의 소스 코드에서 nginx 컴파일

WBOY
WBOY원래의
2016-08-08 09:29:06952검색

mkdir /usr/local/nginx

先安装pcre,Rewrite模块需要

tar zxvf pcre-8.10. tar.gz

cd pcre-8.10/./configure

make && make install

groupadd -r nginx

useradd -r -g nginx -s /bin/false -M nginx

tar -zxvf nginx-1.7.10

cd nginx-1.7.10

./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with- http_stub_status_module --with-http_ssl_module --with-pcre --with-http_realip_module --with-http_gzip_static_module --with-file-aio

make && make install

添加启动脚本:vim /etc/init.d/nginx

#!/bin/sh
#
# nginx - 이 스크립트는 nginx 데몬을 시작하고 중지합니다.
#
# chkconfig:   - 85 15
# 설명:  Nginx는 HTTP입니다. (S) 서버, HTTP(S) 역방향
#               프록시 및 IMAP/POP3 프록시 서버
# 프로세스 이름: nginx
# 구성:      /usr/local/nginx/conf/nginx.conf
# 구성:      /etc/sysconfig/nginx
# pidfile:     /usr/local/nginx/logs/nginx.pid
                                                               >     
# 소스 함수 라이브러리.
. /etc/rc.d/init.d/functions
                                                                                                                                                                                                 
# 소스 네트워킹 구성
. /etc/sysconfig/network
                                                                                                                                                                                           
# 네트워킹이 작동 중인지 확인하세요.
[ "$NETWORKING" = "no" ] && 종료 0
                                                                                                                                                                                           
nginx="/usr/local/nginx /sbin/nginx"
prog=$(기본 이름 $nginx)
                                                                                                                                                                                       
NGINX_CONF_FILE="/us r/local/nginx/conf/nginx.conf"
                                                                                                                                                                                                        
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx

Lockfile =/var/lock/subsys/nginx

make_dirs () {
# 필요한 디렉토리 만들기    options=`$nginx -V 2>&1 | grep '인수 구성:'`
   $options를 선택하려면;
       if [ `echo $opt | grep '.*-temp-path'` ]; then
           value=`echo $opt | cut -d "=" -f 2`
           if [ ! -d "$값" ]; then
               # echo "creating" $value
               mkdir -p $value && chown -R $user $value
           fi
       fi
   완료
}
> 시작 () {
    [ -x $nginx ] || 5번 출구
    [ -f $NGINX_CONF_FILE ] || 종료 6
    make_dirs
    echo -n $"$prog 시작: "
    daemon $nginx -c $NGINX_CONF_FILE
    retval=$?
    echo
    [ $retval -eq 0 ] && $lockfile 터치
    $retval 반환
}
                                                                                                               > prog -QUIT
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    $retval 반환
}
                                                                                                                                                                                       
다시 시작() {
    구성테스트 || $?
    중지
    잠자기 1
    시작
}
                                                                     >    
reload() {
    configtest || return $?
    echo -n $"$prog 다시 로드 중: "
    killproc $nginx -HUP
    RETVAL=$?
    echo
}
                                         >                                   
force_reload() {
    다시 시작
}
                                                                                                                                                                                        
configtest() {
  $nginx -t - c $NGINX_CONF_FILE
}
                                                                                                                                                                                     
rh_status() {
    상태 $prog
}
                                                                                                                                                                                         
rh_status_q() {
    rh_status >/dev/null 2>&1
}
                                                                                                                                                                                 
case "$1" in
    start)
        rh_status_q && 0번 출구
        $1
        ;;
    중지)
        rh_status_q || 종료 0
        $1
        ;;
    restart|configtest)
        $1
        ;;
    다시 로드)
        rh_status_q || 7번 종료
        $1
        ;;
    강제 다시 로드)
        force_reload
        ;;
    상태)
        rh_status
        ;;
    condrestart|시도-재시작)
        rh_status_q || 종료 0
            ;;
    *)
        echo $"사용법: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
        종료 2
esac

启动脚本到这里介绍。

开启php支持,vim /usr/local/nginx/conf/nginx.conf

위치 / {

            루트   html;

            색인  index.html index.htm index.php;    //添加index.php

        }

//启用下下配置

위치 ~ .php$ {

            루트           html;

           fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;

            # fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

            include        fastcgi_params;

        }

vim /etc /nginx/fastcgi_params,如果没有或者是空白的话,查找一下find / -name fastcgi_params,然后拷贝过来

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;

fastcgi_param  SERVER_SOFTWARE    nginx;

fastcgi_param  QUERY_STRING       $query_string;

fastcgi_param  REQUEST_METHOD     $request_method;

fastcgi_param  CONTENT_TYPE       $content_type;

FASTCGI_PARAM CONTER_LENGTE $ content_length;

FASTCGI_PARAM SCRIPT_FILENAME $ document_ROOT $ FASTCGI_SCRIPT_NAME;

fastcgi_param  REQUEST_URI        $request_uri;

fastcgi_param  DOCUMENT_URI       $document_uri;

fastcgi_param  DOCUMENT_ROOT      $document_root;

fastcgi_param  SERVER_PROTOCOL    $server_protocol;

fastcgi_param  REMOTE_ADDR        $remote_addr;

fastcgi_param  REMOTE_PORT        $remote_port;

fastcgi_param  SERVER_ADDR        $server_addr;

fastcgi_param  SERVER_PORT        $server_port;

fastcgi_param  SERVER_NAME        $server_name;

chmod +x /etc/init.d/nginx

chkconfig --add nginx


chkconfig nginx on

nginx 서비스 시작

以上就介绍了centos中源码编译nginx, 包括了方face的内容, 希望对PHP教程有兴趣的朋友有所帮助。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.