nginx 배치 및 간단 한 최적화

2756 단어
Nginx 는 lgor Sysoev 가 러시아 방 문 량 2 위인 rambler. ru 사이트 디자인 을 위해 개발 한 것 이다.본 고 는 nginx 배치 및 간단 한 최적화 방안 에 중심 을 두 고 관심 있 는 친구 들 과 함께 보 여 드 리 겠 습 니 다. Nginx 는 lgor Sysoev 가 러시아 방 문 량 2 위인 rambler. ru 사이트 디자인 개발 한 것 입 니 다.2004 년 발표 이후 지금까지 개원 의 힘 으로 성숙 과 보완 에 가 까 워 졌 다.
Nginx 는 HTTP 서버 로 도 사용 할 수 있 고 역방향 프 록 시, 메 일 서버 로 도 사용 할 수 있 습 니 다.FastCGI, SSL, Virtual Host, URL Rewrite, Gzip 등 기능 을 지원 합 니 다.또한 많은 제3자 모듈 확장 을 지원 합 니 다.
Nginx 의 안정성, 기능 집합, 예시 설정 파일 과 저 시스템 자원 의 소 모 는 그 를 뒤 따 르 게 했다. 전 세계 에서 활발 한 사이트 중 12.18% 의 사용 비율 이 있 는데 약 2220 만 개의 사이트 이다.
nginx 최 적 화 를 연구 할 때 nginx 를 반복 적 으로 설치 하고 정리 하 며 간단 한 배치 스 크 립 트 를 만 들 었 습 니 다. 최신 안정 판 1.14.0, 기본 경 로 를 사용 하여 systemd 시스템 프로 세 스 관리 에 가입 하면 systemd 관리 nginx 의 시작, 종료, 과부하, 상태, 시작 등 을 통 해 자동 으로 시작 할 수 있 습 니 다.
#!/bin/bashyum -y install gcc pcre pcre-develsleep 2cd ~tar -zxvf ~/zlib-1.2.11.tar.gzcd ~/zlib-1.2.11 && ./configure && make && make install cd ~tar -zxvf ~/nginx-1.14.0.tar.gzcd ~/nginx-1.14.0 && ./configure && make && make installcd ~#/usr/local/nginx/sbin/nginxfirewall-cmd --set-default-zone=trustedtouch /lib/systemd/system/nginx.serviceecho “[Unit]Description=nginx After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginxExecReload=/usr/local/nginx/sbin/nginx reloadExecStop=/usr/local/nginx/sbin/nginx quitPrivateTmp=true [Install] WantedBy=multi-user.target” > /lib/systemd/system/nginx.servicesystemctl enable nginx.servicesystemctl restart nginx.serviceecho "nginx done" 이 nginx 를 다시 덮어 쓸 때 awk 로 nginx 프로 세 스 를 찾 은 다음 kill 을 제거 하고 설치 스 크 립 트 를 다시 실행 하면 됩 니 다.
kill - 9 $ps aux | grep 'nginx' | awk 'NR==2{print $2}' 2. nginx 최적화
nginx 최적화 설정 은 nginx. conf 파일 의 main 과 events 세그먼트 에 집 중 됩 니 다.
main 세그먼트 에서 worker 설정 은 work cpu affinity 옵션 을 통 해 작업 유형 에 따라 CPU 밀집 형 또는 IO 밀집 형 으로 실제 업무 상황 에 따라 모든 worker 프로 세 스 가 어느 CPU 핵심 에서 실행 되 는 지 연결 할 수 있 습 니 다. (전 제 는 시스템 이 다 중 핵심 CPU 여야 합 니 다) 예 를 들 어
4. 핵심 CPU 에서 워 커 4 개 를 켜 면 각각 cpu 0 / cpu 1 / cpu 2 / cpu 에 대응 합 니 다. worker processes 4; worker cpu affinity 0001 0010 0100 1000; \ # 4 핵심 CPU 에서 도 워 커 2 개 만 열 수 있 습 니 다. 첫 번 째 worker 는 cpu 0 / cpu 2, 두 번 째 worker 는 cpu 1 / cpu 3. worker processes 2; worker cpu affinity 0101 1010;
envents 세그먼트 에서 집중 적 으로 연결 요청 과 직렬 방식 으로 새 연결 에 접속 합 니 다.
events {worker connections 1024; \ # 모든 worker 의 최대 연결 수. multi accepton; \ # 감 청 된 연결 요청 에 집중 적 으로 접속 할 지 여 부 는 기본 값 은 off 이 고 닫 을 때 한 번 에 하나의 연결 만 받 습 니 다. accept mutex on \ # 기본 값 은 on 입 니 다. 새 연결 에 직렬 로 접속 하 는 것 을 표시 합 니 다. off 시 HTTP 세그먼트 최적화, sendfile, keepalive timeout, gzip 은 ngi 입 니 다.검색엔진
총결산
위 에서 말 한 것 은 소 편 이 여러분 에 게 소개 한 nginx 배치 와 간단 한 최적화 입 니 다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기