nginx 군집 과 동정 분리 초기 설정
4764 단어 nginx
1. 먼저 nginx - echo 모듈 소스 코드 다운로드:https://github.com/agentzh/echo-nginx-module/tags
2. 특정한 경로 로 압축 을 풀 고 / path / to / echo - nginx - module 로 가정 합 니 다.
3. $ ./configure --prefix=/opt/nginx --add-module=/path/to/echo-nginx-module
4. make install
테스트 를 통 해 nginx 설치 가 끝 난 후에 도 위의 명령 을 사용 한 후에 nginx 의 설정 파일 내용 은 교체 되 지 않 고 echo 모듈 에 대한 지원 만 추 가 했 습 니 다.
# cd /usr/local/src/
# wget http://nginx.org/download/nginx-1.4.2.tar.gz
# wget https://github.com/alibaba/nginx-http-concat/archive/master.zip -O nginx-http-concat-master.zip
# unzip nginx-http-concat-master.zip
# tar -xzvf nginx-1.4.2.tar.gz
# cd nginx-1.4.2
# ./configure --prefix=/usr/local/nginx-1.4.2 --with-http_stub_status_module \
--add-module=../nginx-http-concat-master
# make
# make install
주: 1. concat 모듈 의 기본 js 파일 의 요청 형식 은 application / x - javascript 이 고, nginx 에서 js 파일 의 요청 형식 은 application / java - script 이 므 로 설정 파일 에 통합 할 파일 형식 을 지정 해 야 합 니 다.
2. 테스트 를 통 해 concat 는 루트 설정 을 통 해 읽 은 정적 파일 에 만 유효 하 며 proxypass 설정 의 파일 가 져 오 는 방식 이 잘못 되 었 습 니 다.다음 설정 참조:
location /seajsdemo/resources {
concat on;
concat_types text/html application/javascript;
root /usr/local/tomcat/webapps;
}
worker_processes 2;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on;
#cluser
upstream tomcat_server{
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}
#server listen
server {
listen 80;
server_name localhost;
charset utf-8;
#proxy static resource , load static resource from file system , 'project_web' is name of project
location /project_web/resources {
root /usr/local/tomcat-newcenter/webapps;
}
#dispatch request
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://tomcat_server;
}
}
}
모든 요청 은 시간 순서에 따라 서로 다른 백 엔 드 서버 에 하나씩 배정 되 며, 백 엔 드 서버 다운 이 떨 어 지면 자동 으로 제거 할 수 있 습 니 다.
2、weight
폴 링 확률 을 지정 하고 weight 와 방문 비율 이 정비례 하여 백 엔 드 서버 의 성능 이 고 르 지 않 은 경우 에 사용 합 니 다.
예 를 들 면:
upstream bakend {
server 192.168.159.10 weight=10;
server 192.168.159.11 weight=10;
}
3、ip_hash
모든 요청 은 ip 에 접근 하 는 hash 결과 에 따라 분 배 됩 니 다. 모든 방문객 이 백 엔 드 서버 에 고정 적 으로 접근 하면 session 문 제 를 해결 할 수 있 습 니 다.
예 를 들 면:
upstream resinserver{
ip_hash;
server 192.168.159.10:8080;
server 192.168.159.11:8080;
}
4. fair (제3자)
백 엔 드 서버 의 응답 시간 에 따라 요청 을 분배 하고 응답 시간 이 짧 은 우선 분 배 를 합 니 다.
upstream resinserver{
server server1;
server server2;
fair;
}
5、url_hash (제3자)
url 에 접근 한 hash 결과 에 따라 요청 을 할당 합 니 다. 모든 url 을 같은 백 엔 드 서버 로 지정 하고 백 엔 드 서버 가 캐 시 일 때 유효 합 니 다.
예: upstream 에 hash 문 구 를 추가 하고 server 문 구 는 weight 등 다른 매개 변 수 를 기록 할 수 없습니다. hashmethod 는 hash 알고리즘 을 사용 합 니 다.
upstream resinserver{
server squid1:3128;
server squid2:3128;
hash $request_uri;
hash_method crc32;
}
tips:
upstream resinserver {\ # 부하 균형 장치 의 Ip 및 장치 상 태 를 정의 합 니 다.
ip_hash;
server 127.0.0.1:8000 down;
server 127.0.0.1:8080 weight=2;
server 127.0.0.1:6801;
server 127.0.0.1:6802 backup;
}
부하 균형 을 사용 해 야 하 는 server 에 추가
proxy_pass http://resinserver/;
모든 장치 의 상태 설정:
1. 다운 은 목록 앞의 server 가 부하 에 잠시 참여 하지 않 음 을 표시 합 니 다.
2. weight 는 기본적으로 1. weight 가 클 수록 부하 의 가중치 가 커진다.
3.max_fails: 요청 실패 횟수 를 기본 으로 1. 최대 횟수 를 초과 하면 proxy 로 되 돌려 줍 니 다.next_upstream 모듈 정의 오류
4.fail_timeout:max_fails 회 실패 후 일시 정지 시간 입 니 다.
5. backup: 다른 모든 비 backup 기기 다운 이나 바 쁠 때 backup 기 계 를 요청 합 니 다.그래서 이 기계 의 압력 이 가장 가 벼 울 것 이다.
nginx 는 여러 그룹의 부하 균형 을 동시에 설정 하여 사용 하지 않 는 server 에 사용 할 수 있 도록 지원 합 니 다.
client_body_in_file_only 는 On 으로 설정 되 어 있 습 니 다. client post 에서 온 데 이 터 를 파일 에 기록 하여 debug 로 사용 할 수 있 습 니 다.
client_body_temp_path 기록 파일 의 디 렉 터 리 를 최대 3 층 까지 설정 할 수 있 습 니 다.
location 에서 URL 을 일치 시 킵 니 다. 방향 을 바 꾸 거나 새로운 프 록 시 부하 균형 을 이 룰 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.