centos 7.4 컴 파일 설치 nginx

3962 단어 컴 파일nginxLINUX
머리말
    nginx 는 후발 주자 로 서 현재 시장 점유 율 은 apache 에 크게 부족 하지만 성장 속도 와 발전 전망 을 보면 nginx 는 미래의 추세 이다.구체 적 인 데 이 터 는 참고 할 수 있다.https://www.netcraft.com/。전 세계 웹 server 의 점용 율 은 다음 그림 을 참고 하면 뚜렷 한 추 세 를 볼 수 있 습 니 다.
nginx 의 특성
    1. 정적 자원 에 대한 고속 동시 접근 및 캐 시
    2. 역방향 프 록 시 가속 을 사용 할 수 있 고 데이터 캐 시 를 진행 할 수 있 습 니 다.
    3. 간단 한 부하 균형, 노드 건강 검사 와 잘못 사용 하 는 기능 을 가진다.
    4. 원 격 FastCGI 서 비 스 를 지원 하 는 캐 시 가속
    5. FastCGI, Uwsgi, SCGI, Memcached Servers 의 가속 과 캐 시 지원
    6. SSL, TLS, SNI 지원
    7. 모듈 화 된 구조 가 있 습 니 다. 필 터 는 gzip 압축, ranges 지원, chunked 응답, XSLT, SSI 와 이미지 크기 조정 등 기능 을 포함 합 니 다.SSI 필터 에는 여러 SSI 가 포 함 된 페이지 가 있 으 며, FastCGI 나 역 프 록 시 처 리 를 거치 면 병렬 처 리 될 수 있 습 니 다.
    8. 다른 웹 server 의 특성
nginx 의 특징
    1. 비동기 네트워크 I / O 모델 기반
    2. 고성능, 높 은 병발 을 지원 하 는 특성 을 가지 고 있 으 며, 병발 연결 은 수만 에 달 할 수 있 습 니 다.
    3. 작은 파일 에 대한 높 은 병행 지원 이 좋 고 성능 이 높 습 니 다.
    4. 아파 치 와 같은 DSO 모드 는 지원 되 지 않 습 니 다. 확장 라 이브 러 리 는 주 프로그램 에 컴 파일 해 야 합 니 다 (단점)
    5. 프로 세 스 가 자원 을 차지 하 는 것 이 비교적 낮다.
    6, 웹 지원, 역방향 프 록 시, 캐 시 3 대 중점 기능 을 모두 우수 하 다
    7. 시장 점유 율 이 해마다 급증
왜 nginx 의 성능 이 강 합 니까?
    nginx 는 최신 epoll 과 kqueue 비동기 네트워크 I / O 모델 을 사용 하고 아파 치가 사용 하 는 전통 적 인 select 모델 을 사용 합 니 다.현재 리 눅 스에 서 높 은 동시 방문 을 견 딜 수 있 는 Squid, Memcached 소프트웨어 는 모두 epoll 모델 을 사용 하고 있다.여기 서 둘 의 차 이 를 조금 소개 해 드 리 겠 습 니 다.
지표.
select
epoll
성능
연결 수가 증가 함 에 따라 성능 이 급 격 히 떨 어 지면 서 수천 명의 병렬 연결 수 를 처리 할 때 성능 이 매우 떨어진다.
연결 수가 증가 함 에 따라 성능 은 기본적으로 떨 어 지지 않 았 다.수천 개의 병렬 연결 을 처리 할 때 성능 이 매우 좋다.
연결 수
연결 수 에 제한 이 있 고 처리 한 최대 연결 수 는 1024 를 초과 하지 않 습 니 다.처리 할 연결 수가 1024 개 를 넘 으 면 재 컴 파일 이 필요 합 니 다.
연결 수 무제 한
내재 처리 메커니즘
선형 폴 링
콜백
참고 자료: < 올 드 보이 에 게 리 눅 스 운영: 웹 클 러 스 터 실전 >
컴 파일 설치 nginx
    1. 컴 파일 환경 설치
]#yum install -y "development tools"
]#yum install -y pcre-devel
]#yum install -y openssl-devel

    2. 홈 페이지 를 통 해 해당 하 는 소스 코드 를 다운로드 합 니 다.http://nginx.org/
    3. 압축 을 풀 고 필요 에 따라 파 라 메 터 를 수정 합 니 다.
]#vim  src/http/ngx_http_header_filter_module.c
static u_char ngx_http_server_string[] = "Server: Apache" CRLF;   <===     server_tokens off         
]#vim src/core/nginx.h
#  define NGINX_VERSION      "2.4.2"               <===             
#  define NGINX_VER          "Tengine/" NGINX_VERSION
]#./configure --prefix=/usr/local/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.pid \
--lock-path=/var/run/nginx.lock \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_dav_module \
--with-http_stub_status_module \
--with-threads \
--with-file-aio \
]#make && make install
]#vim /etc/profile.d/nginx.sh                     <===      
  1 export PATH=/usr/local/nginx/sbin:$PATH
]#nginx                                 <===    

왜 이 두 개의 인 자 를 수정 해 야 합 니까?클 라 이언 트 를 찾 아서 테스트 를 해 보 겠 습 니 다.
]#curl -I 192.168.32.112
HTTP/1.1 200 OK                        
Server: Tengine/2.4.2                            <===           web server, ***   
Date: Sun, 29 Oct 2017 12:17:13 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Sun, 29 Oct 2017 10:22:52 GMT
Connection: keep-alive
ETag: "59f5abfc-264"
Accept-Ranges: bytes
]#vim /etc/nginx/nginx.conf                    
http{
    server_tokens off; 
}
]#curl -I 192.168.32.112
HTTP/1.1 200 OK
Server: Apache                                 <===       src/http/ngx_http_header_filter_module.c    ,              web server。                                                            
Date: Sun, 29 Oct 2017 12:30:34 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Sun, 29 Oct 2017 10:22:52 GMT
Connection: keep-alive
ETag: "59f5abfc-264"
Accept-Ranges: bytes

좋은 웹페이지 즐겨찾기