squid와 varnish 캐시 프록시 서버
squid
응용 장면: 웹 액세스 가속(정/역방향 해석용) 정방향: IP 위장, "×××”역방향: 공용 네트워크 사용자 대신 웹 서버에 접근
캐시 영역: 하드디스크 패키지: squid-3.3.8-26.e17.x86_64.rpm 시스템 서비스: squid 메인 프로그램:/usr/sbin/squid 메인 매칭 파일:/etc/squid/squid.conf 기본 감청 포트: TCP 3128 기본 액세스 로그:/var/log/squid/access.log
예: 역방향 프록시 1단계: 웹 서버 구축 1)yum로 웹 패키지 설치 yum-y 설치 httpd
2) httpd 서비스를 활성화하고 시스템을 켜서 자동으로 실행하도록 설정합니다
httpd 서비스는 기본적으로 TCP 80 포트를 통해 클라이언트 요청을 감청합니다:netstat-anptu | grep httpd
3) 웹 액세스를 위한 테스트 파일은 사이트 루트 디렉터리/var/www/html에서 index라는 이름을 만듭니다.html의 첫 페이지문echowebabc>/var/www/html/index.html
단계 2: Squid 프록시 배포 1) yum을 사용하여 squid 패키지를 설치합니다. yum-y install squid
2) 수정/etc/squid/squid.conf 프로필:vim/etc/squid/squid.confhttp_port 80 vhost 역방향 프록시 설정, 프록시 감청 포트를 80으로 수정
visible_hostname www.sina.com 호스트 이름을 설정합니다. 기본적으로 이 문장이 없습니다.
cache_peer 192.168.2.100 parent 80 originserver 정의 백엔드 실제 서버 정보
cache_dir ufs/var/spool/squid 200 16 256 하드디스크 캐시, 캐시 용량 200M, 자동으로 16개의 1급 하위 디렉터리와 256개의 2급 하위 디렉터리 만들기
http_access allow all 컴퓨터의 모든 호스트에서 프록시 서버를 사용할 수 있도록 허용
3) squid 서비스를 시작하고 켜서 시작하도록 설정: systemctl start squid systemctl enable squid
4) squid 서비스는 TCP 80 포트를 통해 클라이언트 요청을 감청합니다: netstat-anptu | grep 80
3단계: 클라이언트 테스트 2) 클라이언트가 브라우저에서 curl에 접근하기http://192.168.4.5192.168.2.100 서비스 페이지로 돌아왔습니다.
varnish
적용: 방향 에이전트만 하고 웹 서비스 캐시 영역에 빠르게 접근합니다. 하드디스크와 메모리 기본 감청 포트: TCP 80 프로필:/etc/varnish/etc/init.d/varnish 시작 프로그램/etc/sysconfig/varnish 프로필, varnish 정의 자체 속성/etc/varnish/default.vcl 기본 프로필, 백엔드 노드 정의
/usr/bin/varnishadm 클라이언트 프로그램/usr/bin/varnishstat 상태 모니터링
캐시 관리 캐시 내용 지우기 명령 형식: varnishadm -T IP:port-S securefile ban.URL 페이지 파일 이름
캐시 정리 목록 보기: varnishadm ban.list
varnish 로그 varnishlog [-w file] 공유 메모리의 로그 varnishncsa [-w file] 액세스 로그
varnish 상태 분석 varnishstat-Client connections accepted: 클라이언트가 연결 총 수량을 성공적으로 보냈음을 나타냅니다. - Client requests received: 클라이언트가 HTTP 요청을 보낸 총 수량을 나타냅니다. - Cache hits: 적중 캐시 횟수를 나타냅니다. - Cache misses는 캐시가 적중하지 않은 개수를 나타냅니다.
예: 웹 서버 192.168.2.100, Varnish 프록시 서버 192.168.4.5192.168.2.5 단계 1: 웹 서버 구축 1)yum를 사용하여 웹 패키지 설치 yum-y install httpd
2) httpd 서비스를 활성화하고 시스템을 켜서 자동으로 실행하도록 설정합니다
httpd 서비스는 기본적으로 TCP 80 포트를 통해 클라이언트 요청을 감청합니다:netstat-anptu | grep httpd
3) 웹 액세스를 위한 테스트 파일은 사이트 루트 디렉터리/var/www/html에서 index라는 이름을 만듭니다.html의 첫 페이지 파일 echo webbca/var/www/html/index.html
단계 2: 원본 설치 Varnish1) 설치 소프트웨어yum-y 설치 gccreadline-devel pcre-devel//설치 소프트웨어는useradd-s/sbin/nologin varnish//계정 만들기 tar-xzf varnish-3.0.6에 의존한다.tar.gzcd varnish-3.0.6./configure --prefix=/usr/local/varnishmake && make install
2) 시작 스크립트 및 프로필cpredhat/varnish를 복사합니다.initrc/etc/init.d/varnishcp redhat/varnish.sysconfig/etc/sysconfig/varnishln-s/usr/local/varnish/sbin/varnishd/usr/sbin/(바로 가기 만들기)ln-s/usr/local/varnish/bin/*/usr/bin/
3) Varnish 파일 수정vim/etc/sysconfig/varnish(전단 구성, 클라이언트 연결) VARNISH_LISTEN_PORT=80 기본 포트 VARNISH_STORAGE_SIZE=64M 캐시 크기 정의 VARNISH_STORAGE = "malloc, ${VARNISH_STORAGE_SIZE}"(메모리 기반 캐시, malloc 기반 메모리, file 기반 하드디스크)
4) 에이전트 프로필 mkdir/etc/varnishcp/usr/local/varnish/etc/varnish/default를 수정합니다.vcl/etc/varnish/uidgen >/etc/varnish/secret (비밀번호 파일)vim/etc/varnish/default.vcl (백엔드 설정, 웹 서버 연결) backend default {.host = "192.168.2.100";.port = "80";}
시작 서비스: systemctl restart varnish
3단계: 클라이언트 테스트 1) 클라이언트가 브라우저를 열어 Firefox에 접근http://192.168.4.5
4단계: 기타 작업 1) varnish 로그 보기 varnishlog//varnish 로그 varnishncsa//액세스 로그
2) 캐시 데이터를 업데이트하고 백엔드 웹 서버에서 페이지 내용을 업데이트한 후 사용자가 프록시 서버에 방문한 것이 이전의 데이터인지 확인하면 캐시의 데이터가 만료되어 업데이트가 필요하다는 것을 나타낸다(기본적으로도 자동으로 업데이트되지만 실시간으로 업데이트되지 않는다).varnishadm –S/etc/varnish/secret –T 127.0.0.1:6082ban.url 페이지 파일 이름 (캐시 제거) 캐시 데이터 삭제, 정규 표현식 지원
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【AWS 메모 ⑦】 리버스 프록시 설정(Squid3.5)Squid3.5에서 리버스 프록시 설정을 일로 사용할 기회가 있었으므로 비망록적인 것을 남겨 둔다. 서브넷 서브넷 이름 라우팅 테이블 설정 public-subnet private-web-subnet 보안 그룹 이름 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.