2019-04-30day44
1. Nginx 소개
Nginx 는 현재 가장 유행 하 는 정적 웹 서비스 소프트웨어 인 Nginx (engine x) 는 고성능, 높 은 병행 을 지원 하 는 ww 서비스 와 프 록 시 서비스 소프트웨어 이다.러시아 인 Igor Sysoev 가 개발 한 것 으로 러시아 대형 사이트 www. rambler. ru 에 최초 로 활용 됐다.나중에 앉 아서 소스 코드 를 BSD 라이선스 형식 으로 오픈 하여 전 세계 적 으로 사용 하도록 제공 했다.
2. Nginx 3 주요 기능
(1) 웹 서비스: 자신 은 정적 웹 서비스,
apache, lighttpd, IIS (windows) 는 동적 웹 서비스 PHP (fastcgi pass) JAVA (proxy pass) Python (uwsgi pass) memcache (memcache pass) 도 지원 합 니 다.
(2) 부하 균형 / 역방향 대리
haproxy, lvs, F5, netscaler F5, cetscaler (하드웨어)
(3) 캐 시 서버
squid, varnish Nginx 는 초기 에는 http 만 지원 하고 현재 tcp / udp 는 지원 합 니 다.
3. Nginx 특징:
2008 년, 당시 Apache 맏형, Nginx 는 어떻게 상 대 를 뛰 어 넘 었 을 까.Apache 43% Nginx 42%
최대 특징: 정적 작은 파일 이 높 고 병발 하 며 자원 을 적 게 차지 합 니 다.소프트웨어 자체 가 작다.
(1) 높 은 병발 지원: 수만 개의 병발 링크 수 (특히 정적 작은 파일 업무 환경) 를 지원 할 수 있 습 니 다 (2) 자원 소모 가 적 습 니 다. 3 만 개의 병발 연결 에서 10 개의 Nginx 스 레 드 를 켜 면 200 MB 메모리 가 소모 되 지 않 습 니 다.(3) HTTP 역방향 프 록 시 및 가속 캐 시, 즉 부하 균형 기능 을 할 수 있 으 며 RS 노드 서버 에 대한 건강 검진 기능 을 내장 할 수 있 습 니 다. 이것 은 전문 적 인 haproxy 소프트웨어 나 lvs 기능 에 해당 합 니 다.
squid 등 전문 캐 시 소프트웨어 등 캐 시 기능 을 갖 추고 있 습 니 다.
4. Nginx 주요 응용 장면:
(1) 정적 웹 서버:
Nginx 를 사용 하여 HTML, JS, CSS, 작은 그림 등 정적 데 이 터 를 실행 합 니 다 (이 기능 은 lighttpd 소프트웨어 와 유사 합 니 다).
(2) 동적 웹 서버 실행 에 협조:
Nginx FastCGI 와 결합 하여 PHP 등 동적 프로그램 실행 (예: fastcgi pass 방식 사용) Nginx 결합 proxypass 는 자바 동적 프로그램 (tomcat / resin 서비스) 을 지원 합 니 다.Nginx 결합 uwsgi패스 는 Python 을 지원 합 니 다.
(3) 역방향 에이전트 / 부하 균형
http 부하 균형
(4) 웹 캐 시 서버 를 만 듭 니 다.
학습 차별 화: 전기 경마
5. 역방향 대리 와 부하 균형
대리: 해외 대리 구 매, 마이크로 상: 대리: 다른 사람 을 대신 해서 일 합 니 다.정방 향 프 록 시: 랜 내 PC 대신 외부 응용 서비스 (효율 이 낮 음) 역방향 프 록 시 를 요청 합 니 다. 인터넷 을 대체 하 는 사용자 가 네트워크 서버 의 자원 을 요청 합 니 다.(효율 이 낮 음) 부하 균형: 퍼 가기, 효율 이 높 고 동시 다발 성 이 높 을 때 LVS 사용
6. 왜 Nginx 의 전체적인 성능 이 Apache 보다 높 습 니까?
Nginx 는 최신 epoll (Linux 2.6 커 널) 과 kquue (freebsd) 비동기 네트워크 I / O 모델 을 사용 하고 아파 치 는 전통 적 인 select 모델 을 사용한다.현재 리 눅 스에 서 높 은 동시 방문 을 견 딜 수 있 는 squid, memcached 소프트웨어 는 모두 epoll 모델 을 사용 하고 있다.아파 치 는 전통 적 인 selection 모델, Nginx 가 사용 하 는 epoll 모델 을 사용한다.select 모델: 친구 들 이 기숙사 로 찾 아 갈 게 요. 하나씩 찾 아 요.효율 이 낮다.epoll 모델: 친구 가 기숙사 에 찾 아 갈 게 요. 먼저 숙 관 아 줌 마 에 게 어느 기숙사 에 있 는 지 물 어보 고 구체 적 인 기숙사 로 곧장 가세 요.효율 이 높다.select 모델: 아이 가 오줌 을 싼다: 오줌 을 싸 면 오줌 을 싼다.epoll 모델: 아이 가 오줌 을 누 는 것: 모든 아이들 에 게 오줌 을 싸 려 면 나 서 라 고 미리 알려 주세요.아 줌 마 는 누가 나 서 는 지 보면 돼.
7. 소프트웨어 설치 방법:
yum 설치: rpm 설치: 컴 파일 설치: 원본 설치: 바 이 너 리 설치:
8. Nginx 설치
두 가지 설치 방법: yum 설치: yum 설치 nginx - y epel 소스: 버 전 낮은 Nginx 공식 소스: 버 전 높 은 설정 공식 소스:
[root@web ~]# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
컴 파일 설치 (중점)
1. 번역 을 많이 한다.
2. 컴 파일 과정 연습
pcre: URL 재 작성 소프트웨어, 즉 위 정적 을 실현 하려 면 이 소프트웨어 가 필요 합 니 다.
pcre 전 칭 (Perl Compatible Regular Expressions), 중국어 "perl 호 환 정규 표현 식", 공식 사이트 는http://www.pcre.org/, pcre 라 이브 러 리 를 설치 하 는 것 은 Nginx 가 URI 재 작성 기능 을 갖 춘 Rewrite 모듈 을 지원 하도록 하 는 것 이 며, pcre 라 이브 러 리 를 설치 하지 않 으 면 Nginx 는 Rewrite 모듈 기능 을 사용 할 수 없 으 며, Nginx 의 Rewrite 모듈 은 거의 기업 응용 에 필수 적 이다.
다운로드:
wget http://nginx.org/download/nginx-1.16.0.tar.gz
설치 의존 도:
yum install pcre pcre-devel -y
yum install openssl openssl-devel -y
컴 파일 설치 절차:
tar xf nginx-1.16.0.tar.gz
cd nginx-1.16.0/
useradd -s /sbin/nologin nginx -M
id nginx
./configure --user=nginx --group=nginx --prefix=/application/nginx-1.16.0/ --with-http_stub_status_module --with-http_ssl_module --with-pcre
make
make install
ln -s /application/nginx-1.16.0/ /application/nginx
매 단계 마다 echo $를 실행 합 니까?정확 한 지 검증 하고 0 대표 절 차 를 되 돌려 줍 니 다.
configure 매개 변수의 역할:
-- prefix = PATH 경로
-- user = USER 사용자
-- group = 그룹
-- with - http - stub - status - module 상태
--with-http_ssl_모듈 암호 화 443
컴 파일 설치 설정:
[root@web02 /application/nginx]# tree
.
├── client_body_temp
├── conf
│ ├── fastcgi.conf # , PHP
│ ├── fastcgi.conf.default
│ ├── fastcgi_params
│ ├── fastcgi_params.default
│ ├── koi-utf
│ ├── koi-win
│ ├── mime.types #
│ ├── mime.types.default
│ ├── nginx.conf #
│ ├── nginx.conf.default
│ ├── scgi_params
│ ├── scgi_params.default #
│ ├── uwsgi_params #uwsgi
│ ├── uwsgi_params.default
│ └── win-utf
├── fastcgi_temp
├── html #
│ ├── 50x.html
│ └── index.html #
├── logs
│ ├── access.log #
│ ├── error.log #Nginx
│ └── nginx.pid #
├── proxy_temp
├── sbin
│ └── nginx #
├── scgi_temp
└── uwsgi_temp
9 directories, 21 files
yum 설치 설정 경로:
[root@webol ~]# rpm -ql nginx
/etc/logrotate.d/nginx
/etc/nginx
/etc/nginx/conf.d
/etc/nginx/conf.d/default.conf
/etc/nginx/fastcgi_params
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/mime.types
/etc/nginx/modules
/etc/nginx/nginx.conf
/etc/nginx/scgi_params
/etc/nginx/uwsgi_params
/etc/nginx/win-utf
/etc/sysconfig/nginx
/etc/sysconfig/nginx-debug
/usr/lib/systemd/system/nginx-debug.service
/usr/lib/systemd/system/nginx.service
/usr/lib64/nginx
/usr/lib64/nginx/modules
/usr/libexec/initscripts/legacy-actions/nginx
/usr/libexec/initscripts/legacy-actions/nginx/check-reload
/usr/libexec/initscripts/legacy-actions/nginx/upgrade
/usr/sbin/nginx
/usr/sbin/nginx-debug
/usr/share/doc/nginx-1.16.0
/usr/share/doc/nginx-1.16.0/COPYRIGHT
/usr/share/man/man8/nginx.8.gz
/usr/share/nginx
/usr/share/nginx/html
/usr/share/nginx/html/50x.html
/usr/share/nginx/html/index.html
/var/cache/nginx
/var/log/nginx
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.