30 일 파 이 썬 기초 (nginx)

16267 단어 학습 란
1. nginx 는 무엇 을 할 수 있 습 니까?
  • 정적 자원 에 대한 접근 및 캐 시 를 병행 할 수 있 습 니 다.
  • 스토리 보드 를 역방향 으로 가속 화하 고 데이터 캐 시 에 들 어 갈 수 있 습 니 다.
  • 간단 한 부하 균형, 노드 건강 검사 와 잘못 사용 하 는 기능 을 가진다.
  • 원 격 FastCGI 서 비 스 를 가 진 캐 시 가속.
  • 은 FastCGI, Uwsgi, SCGI, Memcached Servers 의 가속 과 캐 시 를 가지 고 있 습 니 다.
  • ⽀ 는 SSL, TLS, SNI 를 가진다.
  • 모듈 화 된 구 조 를 가지 고 있 습 니 다. 필 터 는 gzip 압축, ranges * 12096, chunked 응답, XSLT, SSI 와 이미지 크기 조정 등 기능 을 포함 합 니 다.SSI 필터 에 SSI 가 여러 개 포 함 된 ⻚ ⾯ 가 있 으 며, FastCGI 나 역방향 프 록 시 를 통 해 처리 되면 ⾏ 처리 할 수 있 습 니 다.

  • 1.1 WEB 서비스 라면
  • 은 이름, 엔 드, IP 를 기반 으로 하 는 다 중 가상 호스트 사이트 입 니 다.
  • Keep - alive 와 pipelined 를 연결 합 니 다.
  • 간단 하고 편리 하 며 유연 한 배치 와 관 리 를 할 수 있 습 니 다.
  • 은 Nginx 설정 을 수정 하고 코드 가 실 행 될 때 부 드 럽 게 재 부팅 할 수 있 으 며 업무 접근 을 중단 하지 않 습 니 다.
  • 방문 지 형식 을 정의 할 수 있 습 니 다. 임시 버퍼 쓰기 지 작업, 빠 른 지 윤 문의 및 rsyslog 를 통 해 처리 할 수 있 습 니 다.
  • 이 자 를 통 해 Nginx 프로 세 스 를 제어 할 수 있 습 니 다.
  • 3xx - 5xx HTTP 상태 코드 를 가지 고 방향 을 바 꿉 니 다.
  • 은 rewrite 모듈 을 가지 고 있 으 며, URI 재 작성 및 정규 표현 식 이 일치 합 니 다.
  • 클 라 이언 트 IP 주소 와 HTTP 기본 인증 을 바탕 으로 하 는 접근 제 어 를 가진다.
  • ⽀ PUT, DELETE, MKCOL, COPY 및 MOVE 등 비교적 특수 한 HTTP 요청 ⽅ 법.
  • FLV 스 트림 과 MP4 스 트림 기술 제품 은 스토리 지 해 야 합 니 다.
  • ⽀ HTTP 응답 속도 제한.
  • 은 같은 IP 주소 의 동시 연결 이나 요청 수 제한 을 가진다.
  • 메 일 서비스 대리.응용 장면 (1) 웹 서비스 소프트웨어 (2) 역방향 에이전트 또는 부하 균형 서비스 (3) 전단 업무 데이터 캐 시 서비스
  • location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
     {
     expires 30d;
     }
     location ~ .*\.(js|css)?$
     {
     expires 12h;
     }
    

    1.3 장점
  • ⽀ 支 ⾼ 합병: ⽀ 支 ⼏ 萬 합병 연결 (특히 정적 ⼩ ⽂ 건 업무 환경).
  • 자원 소모 가 적 습 니 다. 3 만 개의 동시 연결 에서 10 개의 Nginx 스 레 드 를 켜 면 200 MB 가 안 됩 니 다.
  • HTTP 역방향 프 록 시 및 가속 캐 시, 즉 부하 균형 기능 을 할 수 있 고 RS 노드 서버 에 대한 건강 검진 기능 을 내장 할 수 있 는데 이것 은 전문 적 인 Haproxy 소프트웨어 나 LVS 기능 에 해당 한다.
  • Squid 등 전문 캐 시 소프트웨어 등의 캐 시 기능 을 갖 추고 있다.
  • ⽀ 비동기 ⽹ 락 I / O 이벤트 모델 epoll (Linux 2.6 +).

  • 2. apache 의 특징
  • Apache 2.2 버 전 은 항상 안정 적 이 고 강력 하 다.
  • Prefork 모드 는 프로 세 스 생 성 비용 을 취소 하고 성능 이 좋 습 니 다.
  • 동적 업무 데 이 터 를 처리 할 때 백 엔 드 엔진 과 데이터베이스 에 연결 되 어 있 기 때문에 병목 은 Apache 에 없습니다.
  • 동시 다발 시 시스템 자원 을 소모 하 는 것 이 상대 적 으로 많다.
  • 전통 적 인 select 모델 을 바탕 으로 전체 12220 ℃, 동시 다발 에너지 가 12050 ℃ 에 유한 합 니 다.select 모델 즉 동기 epoll 비동기
  • 확장 라 이브 러 리 를 가지 고 DSO, apxs ⽅ 법 컴 파일 을 통 해 추가 플러그 인 기능 을 설치 할 수 있 으 며 아파 치 를 다시 컴 파일 할 필요 가 없습니다.
  • 기능 이 많 고 안정 적 이 며 안전 하 며 플러그 인 도 많 습 니 다.
  • 시장 점유 율 이 해마다 감소 하고 있다.

  • 2.1. ⽹ 络 모드 동기 화 ⽹ 络 모드 select 모든 요청 상 태 는 항상 유지 되 고 있 습 니 다 (많은 자원 소모)비동기 모드 epoll 처리 서버 쪽 의 동시 다발 요청 자 수가 많 을 수록 서버 가 빡빡 해 지고 시스템 자원 도 떨 릴 것 입 니 다. I / O 효율 도 느 릴 것 입 니 다. 비정 기적 으로 당신 의 요청 을 선별 하여 직접 알려 드 리 겠 습 니 다.
    3. lighttpd 의 특징
  • 이 보 ⽹ 络 I / O 모델 을 바탕 으로 성능, 병발 은 모두 Nginx 와 비슷 하 다.
  • 확장 라 이브 러 리 는 SO 모드 이 고 ⽐ Nginx 가 유연 합 니 다.
  • 예전 에 국내 에서 이 야 기 를 하 는 확률 이 낮 았 고 안전성 이 Apache 와 Nginx 보다 좋 지 않 았 다.
  • 플러그 인 (mod secdownload) 을 통 해 URL 주소 암호 화 (장점) 를 실현 할 수 있 습 니 다.
  • 지역사회 가 활발 하지 않 고 시장 점유 율 이 낮다.

  • 어떻게 웹 서버 를 선택 합 니까?
  • 정태 적 인 업무: 만약 에 12220 ° 동시 다발 장면 이 라면 가능 한 한 이 야 기 를 나 누 거나 Lighttpd, 12038 ° 자 는 12216 ° Nginx 를 선택한다.
  • 동태 적 인 업무: 이론 적 으로 이 동 된 Nginx 와 Apache 를 모두 사용 할 수 있 으 므 로 Nginx 를 선택 하 는 것 을 권장 합 니 다. 같은 업무 의 서비스 소프트웨어 가 다양 해 지지 않도록 추가 유지 비용 을 증가 하 는 것 을 권장 합 니 다.동적 업 무 는 Nginx 가 전단 대 리 를 겸 할 수 있 고 전체 11994 ° 요소 의 유형 이나 전체 12140 ° 에 따라 백 엔 드 에 해당 하 는 서버 로 전송 하여 처리 할 수 있 습 니 다.
  • 정적 업무 도 있 고 동적 업무 도 있 습 니 다.
  • 그 밖 에 동시 다발 성 이 그다지 좋 지 않 으 면 ⼜ 는 아파 치 에 익숙 하고, 스토리 보드 를 사용 해도 된다. 아파 치 2.4 버 전도 강하 고, 동시 접속 수도 증가한다.전체적으로 말 하면 12188 의 수 요 를 만족 시 키 는 전제 에서 12216 은 먼저 12163 의 가장 잘 하 는 소프트웨어 를 선택 하고 더 좋 은 소프트웨어 를 발견 하면 새로운 소프트 를 파악 한 후에 점차적으로 교체 할 수 있다.동태 적 이 고 정태 적 인 업 무 는 모두 Nginx 를 선택 하 는 경향 이 있 지만 전 제 는 12163 ℃ 에서 Nginx 를 능숙 하 게 파악 해 야 한 다 는 것 이다.사무 소 를 운영 할 때 소프트웨어 를 맹목적 으로 선택 하지 마 세 요. 이것 은 최종 적 으로 법 통제 국 이 12207 ℃ 에서 기업 에 재난 적 인 손실 을 가 져 올 수 있 습 니 다.Ubuntu 하 nginx 설치 및 가상 사이트 설정 ⽅ 식
  • 만약 에 Ubuntu 16.04 에서 스토리 보드 에 nginx 를 설치 하면 설치 가 끝 난 후에 그 사무 소 는 다음 과 같이 설정 합 니 다. nginx 사이트 설정 은 다음 과 같 습 니 다. nginx 사이트 설정 은 / etc / nginx / 그 중에서 메 인 설정 은 nginx. conf sites - available ⽬ ⽬ ⽬ \록 저장 소 설정 은 12098; 건 입 니 다. 그 중에서 ⼀ 개의 default ⽂ 건 은 가상 사이트 의 설정 템 플 릿 이 고 ⾃ ⼰ 의 가상 사 이 트 는 이 를 템 플 릿 으로 설정 할 수 있 습 니 다.sites - enabled ⼦ ⽬ 녹음 저장 ⼀ 개 대응 하 는 사이트 설정 ⽂ 부품 의 소프트 연결.사이트 savailabel 은 사이트 의 설정 이 12098 건 이 어야 합 니 다. 그리고 sites - enabled 에 해당 하 는 소프트 연결 을 추가 해 야 합 니 다.기본 사이트 루트: / var / www / html / ⽇ 志 ⽂ ⽬ ⽬ 녹음: / var / log / nginx / error. log 기록 사이트 의 오류 입 니 다. 자세 한 오류 정 보 를 보 려 면 www. blog. com 사 이 트 를 예 로 들 어 여러 가상 사이트 설정 의 ⽅ 법 을 볼 수 있 습 니 다.
    #  nginx
    sudo service apache2 stop #  apache
    sudo apt-get install nginx-full -y
    #      
    #1.       sites-available  
    cd /etc/nginx/sites-available
    #2.          ,             
    sudo cp default www.blog.com.conf 
    #3     
    #---------------------       -------------------
    server {
     listen 80; #    
     #      
     root /var/www/html/www.blog.com;
     # Add index.php to the list if you are using PHP
     #          
     index index.html index.htm;
     
     #    ,       ,       
     server_name www.blog.com blog.com;
    }
    #------------------    ------------------------------
    #        ,        ,          
    #4     
    :wq
    #5    sites-enabled   ,     
    cd ../sites-enabled
    sudo ln -s /etc/nginx/sites-available/www.blog.com.con 
    www.blog.com.conf
    #6   nginx  
    sudo service nginx restart (start/stop)
      
    sudo /etc/init.d/nginx restart
    #7         (          ),         /var/www/html
    cd /var/www/html
    sudo chmod -R 755 www.blog.com
    #  index.html
    <html>
    <head>
    <meta charset='utf-8'>
    <title>        </title>
    </head>
    <body>
    
    <h1>      </h1>
    </body>
    </html>
    #    
    :wq
    #8    windows   ,  C:\Windows\System32\drivers\etc\hosts  ,#ip      ip  
    192.168.48.3 www.blog.com 
    #9  windows          : www.blog.com
             
    

    centos 아래 nginx 설치 및 설정 추가 소스:
    sudo rpm -Uvh
    http://nginx.org/packages/centos/7/noarch/RPMS/nginx-releasecentos-7-0.el7.ngx.noarch.rpm
    

    Nginx 설치
    sudo yum install -y nginx
    

    Nginx 를 시작 하고 시동 을 걸 고 이동 을 설정 합 니 다.
    sudo systemctl start nginx.service
    sudo systemctl enable nginx.service
    

    테스트, 브 라 우 저 에서 지 는 것 은 12042 ° localhost 입 니 다. 부족 한 것 을 보 세 요. 사이트 부하 균형 은 12032 ° 서버 의 단위 시간 내 방 문 량 이 12068 ° 일 수록 서버 의 압력 은 12050 ° 일 수록 12068 ° 일 것 입 니 다.서버 붕 괴 를 피하 고, 스토리 보드 사용자 가 더 좋 은 경험 을 할 수 있 도록, 우 리 는 부하 균형 을 통 해 서버 의 압력 을 분담 합 니 다.
    ⻆⾊
    ip
    역할.
    lvs 부하 균형
    10.11.59.220
    분담 을 요청 하 다
    web01
    10.11.59.155
    폴 링 웹 서버
    web02
    10.11.59.154
    폴 링 웹 서버
    이 세 대의 기 계 는 모두 nginx 환경 을 설치 해 야 합 니 다. 웹 01 과 웹 02 구 조 는 전체 12032 개의 것 이 어야 합 니 다.
    부하 균형 서비스 설정
     upstream www_server_pools { #www_server_pools         
     server 10.11.59.154; #      ,  ip     
     server 10.11.59.155;
     } 
     server {
     listen 80;
     server_name www.caoliu.com;
     location / {
     # root /data/www;
     # index index.php index.html index.htm;
     
     proxy_pass http://www_server_pools;#http://     
     proxy_set_header Host $host; #    header     
        
     proxy_set_header X-Forward-For $Remote_addr; #    
     ip  
     } 
     }
    

    * * upstream 모듈 * * nginx ⽀ 부하 균형 을 가 진 모듈, nginxhttp_upstream_moudle, 그것 이 가지 고 있 는 대리: proxypass fast_cgi memcache_패스 스토리 보드 의 폴 링 알고리즘
  • rr 폴 링 알고리즘: 정적 스케줄 링 알고리즘 은 요청 한 시간 순서에 따라 서로 다른 서버 에 배정 되 고 서버 다운 이 떨 어 지면 퍼 가기 요청
  • 을 하지 않 습 니 다.
  • wrr 가중치 알고리즘, 정적 스 케 쥴 링 알고리즘
  • upstream www_server_pools {
     server 10.11.59.154 weight=1; 
     server 10.11.59.155 weight=3;#              3 
     }
    

    ip_hash 는 클 라 이언 트 ip 해시 의 결과 에 따라 그 서버 에 접근 하 는 것 을 확인 합 니 다.
     upstream www_server_pools {
     server 10.11.59.154;
     server 10.11.59.155;
     ip_hash;
     }
    

    세 번 째 알고리즘 fair 는 서버 에 따라 바 쁘 고 한가 하 며, 우선 사무 소 를 요청 하 는 서버 urlhash 는 url 해시 의 결과 에 따라 다른 서버 에 접근 합 니 다.

    좋은 웹페이지 즐겨찾기