Nginx 의 기능 정책 설정 을 자세히 설명 합 니 다.
부하 균형 (배포 서버 만 들 기)
1. 브 라 우 저 기반 배포
브 라 우 저의 배 포 를 바탕 으로 서로 다른 플랫폼 의 브 라 우 저 요청 에 따라 배 포 됩 니 다. 예 를 들 어 모 바 일 브 라 우 저 는 자원 의 작은 속도 로 데 이 터 를 절약 하 는 것 을 중시 하기 때문에 모 바 일 브 라 우 저의 요청 을 모 바 일 플랫폼 을 처리 하 는 웹 서버 에 배포 하고 PC 에서 웹 페이지 를 조회 할 때 체험 을 중시 하기 때문에 IE 브 라 우 저의 요청 을 PC 플랫폼 을 처리 하 는 서버 에 배포 합 니 다.이렇게 하면 서로 다른 플랫폼 에 있 는 사용자 들 이 자신 에 게 맞 는 체험 을 할 수 있 습 니 다!
여러 upstream 추가
vim /usr/local/nginx/conf/nginx.con
upstream web {
ip_hash;
server 192.168.1.10
}
upstream apache {
ip_hash;
server 192.168.1.11
}
server 를 정의 할 때 location 규칙 판단
server{
listen 80;
server_name 192.168.1.100; ( )
location/ {
if( $http_user_agent ~* Elinks ) {
proxy_pass http://web; # Elinks , web
}
if( $http_user_agent ~* Mozilla ) {
proxy_pass http://apache;
# Mozilla , apache ,IE Mozilla
}
}
}
2. 개발 언어 기반 배포
여기 서 언어 환경 배 치 를 개발 하고, 이 글 을 잘 봐 주세요 "http://cuimk.blog.51cto.com/6649029/1335770”
흔히 볼 수 있 는 개발 언어의 접미사 인 aspspx php jsp html 는 서로 다른 언어 개발 프로그램 을 특정한 언어 환경 에 맡 기기 위해 Nginx 의 location 규칙 을 실현 할 수 있 습 니 다.
같은 서버 를 정의 할 때 location 규칙 판단
location~* \.php$ {
proxy_pass http://192.168.1.250; # php , 250
}
location ~* \.jsp$ {
proxy_pass http://192.168.1.251; # jsp , 251
}
location / {
root html
index index.html; # ,
}
3. 소스 주소 기반 배포
모 바 일 사 이 트 를 연결 하 는 것 처럼 들 어가 면 볼 수 있 습 니 다. 당신 이 들 어 가 는 페이지 는 당신 이 있 는 도시 의 페이지 입 니 다. 안의 정 보 는 대부분 당신 이 현지에서 탈퇴 한 활동 입 니 다. 이것 은 바로 그들 이 당신 의 IP 주 소 를 근절 하여 현재 있 는 위 치 를 알 게 한 다음 에 해당 하 는 서버 에 요청 을 전달 하 는 것 입 니 다.
우선 Nginx 는 geoip 모듈 이 필요 하기 때문에 컴 파일 추가
./configure�Cwith-http_geoip_module
우선 여러 upstream 을 정의 합 니 다.
upstream bj.server{
ip_hash;
server 192.168.1.251 # bj IP
}
upstream sh.server {
ip_hash;
server192.168.1.251 # sh IP
}
upstream default.server {
ip_hash;
server 192.168.1.100 #
}
IP 라 이브 러 리 정의
geo$geo {
default default;
192.168.18.0/24 bj;
192.168.17.0/24 sh; # bj sh IP
}
server 에 loscation 규칙 추가
location/ {
proxy_pass http://$geo.server$request_uri
}
이렇게 하면 서로 다른 IP 에 대해 IP 라 이브 러 리 와 일치 하여 어느 지역 에 속 하 는 지 보고 목적 성 있 게 요청 을 나 누 어 줍 니 다.
4. 기본 IP 폴 링 배포
설정 이 매우 간단 하여 RS 두 대 를 실험 하 였 다.
RS 를 upstream 에 정의 합 니 다.
vim /usr/local/nginx/conf/nginx.conf
upstream web {
ip_hash;
server 192.168.18.250;
server 192.168.18.251; # RS
}
server 를 정의 할 때 접근 하 는 모듈 을 지정 합 니 다. 여러 대의 기계 가 기본 폴 링 으로 접근 합 니 다. 당연히 방문 권한 을 사용자 정의 할 수 있 습 니 다.
server {
listen 80; # 80
server_name localhost; #
location/ {
proxy_pass http://web; # ,
}
}
저 는 upstream 을 정의 할 때 'ip hash' 라 는 말 을 추 가 했 습 니 다. 여 기 는 알고리즘 입 니 다. ip 해시 알고리즘 을 사용 하여 같은 채널 에서 온 명확 함 을 백 엔 드 같은 RS 에 만 맡 기 고 알고리즘 이 많 습 니 다. 구 글 에서 알 아 볼 수 있 습 니 다.
속도 제한 설정
속도 제한 도 location 규칙 을 통 해 이 루어 집 니 다.
우선 http 에서 최대 대역 폭 을 지정 해 야 합 니 다 (예 를 들 어 10M)
limit_zoneone $binary_remote_addr 10M;
그리고 server 에 location 규칙 을 추가 합 니 다.
location/ {
root html;
index index.html index.htm;
limit_rate 10k; #
limit_rate_after 100k; #
limit_connone 2; # IP
}
도 난 방지 체인 설정
도 난 방지 체인 원리 도 location 규칙 을 통 해 이 루어 진다.
1. 지정 한 파일 의 도 난 방지 체인
location~*.(gif|jpg|png|swf|flv)$ { #
root/usr/local/nginx/html;
valid_referersnone blocked baidu.com; # baidu
if($invalid_referer) {
rewrite ^/ http://192.168.1.241/1.jpg; #
}
}
2. 디 렉 터 리 에 대한 도 난 방지
location /images/ {
alias /data/images/;
valid_referers none blocked server_names *.xok.la xok.la ;
if ($invalid_referer) {return 403;}
}
그리고 ngx 를 통 해http_accesskey_module 모듈 은 도 난 방지 체인 을 실현 하여 비교적 적 게 사용한다.
미완이다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Nginx 그림 도 난 방지 체인, 캐 시, 압축 예제1. 그림 도 난 방지 체인 간단 하면 가장 좋 고, 가장 간단 한 방법 은 ngxhttp_referer_mmodule 모듈 의 validreferers 매개 변 수 를 구축 하 는 것 도 가장 흔 하고 자주 사용 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.