nginx 를 달리 게 하 다

  • Liux ubuntu 환경 에서 의 두 가지 설치 방안: yum / apt 설치, 소스 코드 컴 파일 설치
  • 준비 환경: Liux 서버, gcc 컴 파일 러, nginx 소스 코드
  • nginx 소스 코드 가 져 오기:http://nginx.org
  • 컴 파일 설치 nginx 소스 코드
  • 설정 규칙
  • 1. 웹 서버 에서 nginx (nginx - 1.14.1 pgp) (990 kb) 다운로드
    $ wget https://nginx.org/download/nginx-1.14.1.tar.gz
    

    2. 다운로드 완료 후 압축 해제 파일
    $ tar zxvf nginx-1.14.1.tar.gz
    

    3. gcc 컴 파일 러 가 있 는 지 확인 하고 콘 솔 에 gcc 를 입력 하 십시오.
    pixel@ubuntu:~/Desktop/workspace/nginx-1.14.1$ gcc
    gcc: fatal error: no input files
    compilation terminated.
    

    gcc 를 설치 하면 오류 메시지 가 표 시 됩 니 다: fatal error: no input files 그렇지 않 으 면 gcc 명령 을 찾 을 수 없습니다.
    gcc 가 설치 되 어 있 지 않 으 면 먼저 설치 합 니 다.
    $ sudo apt-get update
    $ sudo apt-get install gcc
    

    nginx 디 렉 터 리 에서 실행 합 니 다. / configure 현재 컴 파일 환경 검사
    nginx 컴 파일 대기 디 렉 터 리 구 조 는 다음 과 같 습 니 다.
    pixel@ubuntu:~/Desktop/workspace/nginx-1.14.1$ ll
        756
    drwxr-xr-x 8 pixel pixel   4096 11   6 05:52 ./
    drwxrwxr-x 4 pixel pixel   4096 11  21 02:52 ../
    drwxr-xr-x 6 pixel pixel   4096 11   6 05:52 auto/
    -rw-r--r-- 1 pixel pixel 287441 11   6 05:52 CHANGES
    -rw-r--r-- 1 pixel pixel 438114 11   6 05:52 CHANGES.ru
    drwxr-xr-x 2 pixel pixel   4096 11   6 05:52 conf/
    -rwxr-xr-x 1 pixel pixel   2502 11   6 05:52 configure
    drwxr-xr-x 4 pixel pixel   4096 11   6 05:52 contrib/
    drwxr-xr-x 2 pixel pixel   4096 11   6 05:52 html/
    -rw-r--r-- 1 pixel pixel   1397 11   6 05:52 LICENSE
    drwxr-xr-x 2 pixel pixel   4096 11   6 05:52 man/
    -rw-r--r-- 1 pixel pixel     49 11   6 05:52 README
    drwxr-xr-x 9 pixel pixel   4096 11   6 05:52 src/
    pixel@ubuntu:~/Desktop/workspace/nginx-1.14.1$ gcc
    gcc: fatal error: no input files
    compilation terminated.
    

    ... / configure 를 통 해 컴 파일 환경 을 검사 하기 시작 합 니 다.
    
    pixel@ubuntu:~/Desktop/workspace/nginx-1.14.1$ ./configure 
    checking for OS
     + Linux 4.15.0-39-generic x86_64
    checking for C compiler ... found
     + using GNU C compiler
     + gcc version: 7.3.0 (Ubuntu 7.3.0-27ubuntu1~18.04) 
    
    

    컴 파일 환경 을 검사 하고 부족 한 라 이브 러 리 가 있 으 면 아래 에서 알려 줍 니 다. 예 를 들 어 다음 알림: PCRE 라 이브 러 리 가 부족 합 니 다.
    ./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.
    

    다른 라 이브 러 리 가 부족 할 수도 있 습 니 다: 예 를 들 어 zlib
    ./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.
    

    이 때 다음 컴 파일 을 실행 하면 make: * * * 목표 'build' 를 만 들 수 있 는 규칙 이 없고 'default' 이 필요 합 니 다.멈추다
    pixel@ubuntu:~/Desktop/workspace/nginx-1.14.1$ make
    make: ***          “build”, “default”   。   。
    

    그러면 부족 한 PCRE 라 이브 러 리 와 zlib 라 이브 러 리 를 설치 해 야 합 니 다. 설치 되 어 있다 면 이 단 계 를 무시 하 십시오.
    $ sudo apt-get update 
    $ sudo apt-get install libpcre3 libpcre3-dev 
    $ sudo apt-get install zlib1g-dev
    
  • PCRE 라 이브 러 리 는 정규 표현 식 을 지원 합 니 다.설정 파일 nginx. conf 에 정규 표현 식 을 사용 했다 면, Nginx 를 컴 파일 할 때 는 반드시 PCRE 라 이브 러 리 를 Nginx 에 컴 파일 해 야 합 니 다. Nginx 의 HTTP 모듈 은 정규 표현 식 을 해석 해 야 하기 때 문 입 니 다.또한, pcre - devel 은 PCRE 를 사용 하여 2 차 개발 에 필요 한 개발 창고 로 헤더 파일 등 을 포함 하여 Nginx 를 컴 파일 하 는 데 필요 한 것 입 니 다.
  • zlib 는 압축 라 이브 러 리 로 zip 와 유사 합 니 다.Liux 에서 본 *. gz 파일 은 zlib 로 압축 한 것 입 니 다
  • . / configure 스 크 립 트 를 실행 한 후 기본 값 은 현재 디 렉 터 리 에서 파일 Makefile 을 생 성하 고 Makefile 파일 을 생 성 한 후 make 명령 을 입력 하여 컴 파일 합 니 다. make 는 현재 디 렉 터 리 에서 Makefile 파일 을 찾 습 니 다. 찾 은 후 컴 파일 합 니 다. 다음 에 make install 을 실행 하여 설치 합 니 다.
    1.$ make
    2.$ make install
    

    컴 파일 을 통 해 설치 하면 / usr / local 에서 nginx 디 렉 터 리 를 생 성 합 니 다.
    yum 설 치 를 통 해 / etc / 에서 nginx 디 렉 터 리 를 생 성 합 니 다. 예 를 들 어 컴 파일 방법:
  • / usr / local / nginx / sbin, nginx 를 찾 았 습 니 다. 이 파일 은 실행 가능 한 파일 로 nginx
  • 를 시작 하 는 데 사 용 됩 니 다.
    $ cd /usr/local/nginx/sbin   
    $ ./nginx          >>>>>>>>>>>>>    
    
  • nginx 를 시작 하기 전에 nginx. conf 프로필 nginx 의 프로필 을 수정 해 야 합 니 다. / usr / local / nginx / conf 디 렉 터 리 에 들 어가 디 렉 터 리 에 들 어가 서 파일 을 찾 고 수정 해 야 합 니 다. nginx. conf
  • $ cd /usr/local/nginx/conf
    $ cat nginx.conf   >>>>>>>>>>>>>      
    

    nginx 파일 구조
    ... #   
    events {         #events 
        ...
    }
    http #http 
    {
        ... #http   
        server #server 
        {
            ... #server   
            location [PATTERN] #location 
            {
                ...
            }
            location [PATTERN]
            {
                ...
            }
        }
        server
        {
            ...
        }
        ... #http   
    }
    

    다음은 각 매개 변수의 의 미 를 간단하게 설명 한다.
    #user nobody; --         nginx (               , yum         )
    worker_processes 1;  --     (  nginx ,   1      ,1     ,        1.   http  nginx ,        )
    #error_log logs/error.log;  --        
    #pid logs/nginx.pid --        
    events {
        worker_connections 1024; --                          
    }
    
    http{        #  http  
        include mime.types; #        
        default_type application/octet-stream; #           
        sendfile ##        
        keepalive_timeout #      
        gzin #      
    
          //          upstream web_crm{} 
          //        , IP     
          upstream web_crm{
                server 127.0.0.1:8080;
                server 127.0.0.2:8080;
                server 127.0.0.3:8080;
                #//      server   ,    ,    
          }
         upstream web_XXX{
                server 127.0.0.1:8090;
          }
        server{    --          server 
                 listen  --  
                 server_name  localhost   
                 location / { --    
                      root  html/monitor/;--     
                      index index.html index.htm   --    
                 }
                 location /test/ { --     
                      root  html;--     
                      index text.html   --    
                 }
                location /crm/ {
                        proxy_pass http://web_crm/crm/;  
                        #--    ,  :   ://     upstream  /         
    
                        proxy_redirect off;
                        proxy_set_header Host $host;
                        #/////////////////////////////////////////////////////////////////////////////////////
                        //           ,           
                        proxy_http_version 1.1;
                        proxy_set_header Upgrade $http_upgrade; #  webscoket  
                        proxy_cache_bypass $http_upgrade;#  webscoket  
    
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        #/////////////////////////////////////////////////////////////////////////////////////
                        #//    (    )
                        #//    (    )
                        #      nginx      .pdf
                        #/////////////////////////////////////////////////////////////////////////////////////
                }
        }
    } 
    

    좋은 웹페이지 즐겨찾기