Ubuntu 18.04 수 동 컴 파일 설치 nginx

수 동 컴 파일 설치 nginx
  • 0. 전기 준비
  • 1. nginx 소스 패 키 지 를 다운로드 하고 압축 해제
  • 2. 컴 파일
  • 3. 기타 명령
  • 4. 공식 시작 스 크 립 트 내용, 자동 시작 (이하 내용 미 테스트)
  • 0. 사전 준비
    sudo apt-get update
    #    :gcc、g++   
    sudo apt-get install build-essential libtool
    #   pcre   (http://www.pcre.org/)
    sudo apt-get install libpcre3 libpcre3-dev
    #   zlib   (http://www.zlib.net)
    sudo apt-get install zlib1g-dev
    #  ssl   
    sudo apt-get install openssl
    
    

    1. nginx 소스 패키지 다운로드 및 압축 풀기
    wget http://nginx.org/download/nginx-1.15.8.tar.gz
    tar xvzf nginx-1.15.8.tar.gz
    cd nginx-1.15.8/
    

    2. 컴 파일
    압축 해제 후 nginx 디 렉 터 리 로 전환 하여 실행:sudo ./configure --prefix=/usr --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --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/nginx.lock sudo make sudo make install
    매개 변수 설명: 컴 파일 옵션 은 공식 적 으로 제공 합 니 다: – prefix = path 는 nginx 가 제공 하 는 기능 을 저장 하 는 디 렉 터 리 를 정의 합 니 다. 이것 은 우리 가 소프트웨어 를 설치 할 때 소프트웨어 에 저 장 된 디 렉 터 리 와 같 습 니 다. 만약 에 우리 가 컴 파일 한 설치 위 치 를 지정 하지 않 으 면 기본 위치 / usr / local / nginx 디 렉 터 리 – sbin - path = path 는 nginx 가 스 크 립 트 를 실행 하 는 위 치 를 설정 합 니 다.path 변수 에 설정 되 어 있 으 면 bash 환경 에서 nginx 명령 을 임의로 사용 할 수 있 습 니 다. 기본 위치 prefix / sbin / nginx 는 설정 파일 에 설 치 된 경로 – conf - path = path 설정 nginx 설정 파일 의 경 로 를 지정 하지 않 으 면그러면 프로필 의 기본 경 로 는 prefix / conf / nginx. conf – pid - path = path 설정 nginx. pid file 의 경로 입 니 다. 일반적으로 프로 세 스 가 실 행 될 때 프로 세 스 id 가 있 습 니 다. 이 id 는 pid file 에 저 장 됩 니 다. 기본 pid file 의 배치 위 치 는 prefix / logs / nginx. pid – error - log - path = path 설정 오류 로그 의 저장 경로 입 니 다.지정 하지 않 으 면 기본 prefix / logs / error. log – http - log - path = path 는 http 접근 로그 의 경 로 를 설정 합 니 다. 지정 하지 않 으 면 기본 prefix / logs / access. log – user = name 은 기본 시작 프로 세 스 의 사용 자 를 설정 합 니 다. 지정 하지 않 으 면 기본 nobody – group = name 은 이 사용자 가 있 는 사용자 그룹 을 설정 합 니 다. 지정 하지 않 으 면,여전히 nobody 입 니 다. 이것 은 우리 가 자주 사용 하 는 컴 파일 옵션 입 니 다. 다른 것 은 모두 기본 값 을 유지 할 수 있 습 니 다. 특별한 지정 이 필요 하 다 면 nginx 홈 페이지 에서 찾 아 볼 수 있 습 니 다.http://nginx.org/en/docs/configure.html 다음은 자주 사용 되 지 않 는 옵션 입 니 다 - with - httpssl_module - NGINX 가 HTTPS 요청 을 지원 할 수 있 도록 HTTP SSL 모듈 을 엽 니 다.OPENSL 을 설치 해 야 합 니 다 – with - httpflv_module –with-http_stub_status_module - "server status" 페이지 사용 (있 으 나 마 나) – without - httpgzip_module - ngx 사용 하지 않 기http_gzip_module. 활성화 하려 면 zlib 가 필요 합 니 다.without-http_ssi_module - ngx 사용 하지 않 기http_ssi_module –without-http_referer_module - ngx 사용 하지 않 기http_referer_module –without-http_rewrite_module - ngx 사용 하지 않 기http_rewrite_module. 사용 하려 면 PCRE 가 필요 합 니 다.without-http_proxy_module - ngx 사용 하지 않 기http_proxy_module –without-http_fastcgi_module - ngx 사용 하지 않 기http_fastcgi_module –without-http_memcached_module - ngx 사용 하지 않 기http_memcached_module –without-http_browser_module - ngx 사용 하지 않 기http_browser_module – http - proxy - temp - path = PATH - http 프 록 시 임시 파일 로 path 설정 – http - fastcgi - temp - path = PATH - http fastcgi 임시 파일 로 path 설정 – without - http - http 서버 사용 금지 (프 록 시 또는 역방향 프 록 시 사용) – with - mail - IMAP 4 / POP 3 / SMTP 프 록 시 모듈 사용 – with - mailssl_module - ngx 사용mail_ssl_module –with-openssl=DIR - Set path to OpenSSL library sources
    발생 가능 한 오류: 오류 1: ./configure: error: the HTTP rewrite module requires the PCRE library. You can either disable the module by using --without-http_rewrite_module option, or install the PCRE library into the system, or build the PCRE library statically from the source with nginx by using --with-pcre= option. 해결 방법: sudo apt-get install libpcre3 libpcre3-dev오류 2: ./configure: error: the HTTP gzip module requires the zlib library. You can either disable the module by using --without-http_gzip_module option, or install the zlib library into the system, or build the zlib library statically from the source with nginx by using --with-zlib= option. 해결 방법: zlib 라 이브 러 리 다운로드, 주소:http://www.zlib.net/
    wget http://www.zlib.net/zlib-1.2.11.tar.gz
    tar xvzf zlib-1.2.11.tar.gz
    cd zlib-1.2.11/
    ./configure
    make
    #  ,    yes
    make check
    sudo make install
    

    오류 3: SSL modules require the OpenSSL library 해결 방법: sudo apt-get install openssl libssl-dev3. 기타 명령
    #      
    whereis nginx
    #  
    sudo nginx
    #  Nginx  
    ps -ef|grep nginx
    #Nginx    
    sudo nginx -s stop
    sudo nginx -s quit
    sudo nginx -s reload
    

    nginx - s quit: 이 방식 의 정지 절 차 는 nginx 프로 세 스 처리 작업 이 끝나 면 정지 하 는 것 입 니 다.nginx - s stop: 이 방식 은 nginx 프로 세 스 id 를 먼저 찾 은 다음 kill 명령 을 사용 하여 프로 세 스 를 강제로 죽 이 는 것 과 같 습 니 다.
    주: - s 는 모두 Nginx 에 신 호 를 보 내 는 방식 을 사용한다.
    4. 공식 시작 스 크 립 트 내용, 자동 시작 에 사용 (이하 테스트 되 지 않 음)
    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/sbin/nginx"
    prog=$(basename $nginx)
    
    NGINX_CONF_FILE="/etc/nginx/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:.*--user=" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
       if [ -n "$user" ]; then
          if [ -z "`grep $user /etc/passwd`" ]; then
             useradd -M -s /bin/nologin $user
          fi
          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
        fi
    }
    
    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
    

    좋은 웹페이지 즐겨찾기