varnish 실험
두 개의 lamp 에 wordpress 를 배치 하고 Nginx 로 반대 하여 아래 를 측정 합 니 다.그 다음 에 nginx 이후 에 varnish 캐 시 를 배치 하고 다시 테스트 한 다음 에 varnish 가 없 는 상황 을 비교 합 니 다.
실험 환경:
총 7 대의 호스트 1 대 는 클 라 이언 트 호스트, nginx 프 록 시 1 대, 1 대 는 varnish 서버, 2 대 는 백 엔 드 lamp 서버, 1 대 는 nfs 서버 로 wordpress 를 설치 합 니 다.
실험 과정
2. nginx 프 록 시 에 nginx 를 설치 한 다음 설정 파일 을 수정 합 니 다. yum install nginx vim / etc / nginx / nginx. conf 는 http 컨 텍스트 에 다음 과 같은 내용 을 추가 합 니 다.
upstream web {
server 172.16.10.4:80;
server 172.16.10.5:80;
}
vim /etc/nginx/conf.d/var.conf # ,
server {
listen 80 default;
server_name test.io;
location / {
proxy_pass http://172.16.10.3:6081;
}
}
nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
systemctl start nfs
3. nfs 서버 설정
yum -y install nfs-utils wordpress
vim /etc/exports
/usr/share/wordpress/ 172.16.10.4(rw,no_root_squash) 172.16.10.5(rw,no_root_squash) #no_root_squash , root, 。
service rpcbind start
service nfs start
exportfs -v #
exportfs -v
/usr/share/wordpress
172.16.10.4(rw,wdelay,no_root_squash,no_subtree_check,sec=sys,rw,no_root_squash,no_all_squash)
/usr/share/wordpress
172.16.10.5(rw,wdelay,no_root_squash,no_subtree_check,sec=sys,rw,no_root_squash,no_all_squash)
4. 백 엔 드 램프 서버 두 대 에서 다음 작업 을 수행 합 니 다. (1) phop 과 httpd 설정
yum -y install httpd php mysql-server php-mysql
vim /var/www/html/index.php
브 라 우 저 로 접근http://172.16.10.4/index.php php 페이지 에서 php 와 httpd 설치 성공 증명 (2) nfs 파일 시스템 마 운 트:
yum -y install nfs-utils
mkdir /var/www/html/wordpress/
mount 172.16.200.105:/usr/share/wordpress /var/www/html/wordpress/
(3) 그리고 mysql 설정
service mysqld start mysql_secure_installation \ # my sql 초기 화 프로그램 을 실행 하고 루트 에 비밀 번 호 를 설정 한 다음 에 남 은 사용자 와 라 이브 러 리 my sql - u root - p \ # 비밀 번 호 를 입력 한 후 my sql my sql > create database wordpress 에 들 어 갑 니 다. \ #전용 라 이브 러 리 mysql 만 들 기 > grant all on wordpress. * '123' 으로 확 인 된 wordeuser @ '172.16.%.%'; \ #사용자 (4) 를 만 들 고 권한 을 부여 합 니 다.그리고 다음 단 계 는 설정 파일 을 만 드 는 것 을 알려 줍 니 다. wordpress 디 렉 터 리 에서 이 파일 을 만 든 다음 내용 을 붙 여 넣 습 니 다.
cd / var / www / html / ordpress / vim wp - config. php 는 웹 페이지 에 제 시 된 파일 내용 을 붙 여 넣 으 면 됩 니 다. 여 기 는 파일 내용 을 표시 하지 않 고 제목 을 입력 하고 사이트 사용자 이름과 비밀 번 호 를 입력 하면 wordpress 에 들 어 갑 니 다 (5) 테스트 는 클 라 이언 트 서버 에 httpd - tools 를 설치 하여 방금 한 클 라 이언 트 를 테스트 합 니 다.
yum - y install httpd - tools ab - c 10 - n 100 172.16.1.2 / ordpress \ # \ # \ # \ # 압력 측정, varnish 가 없 을 때의 병행 능력 테스트 (6) nginx 이후 varnish 서버 증가
/ etc / nginx / conf. d / var. conf 를 수정 하고 lication 을 varnish 서버 ip 주소 로 변경 합 니 다.
location / {
proxy_pass http://172.16.10.3;
}
그리고 varnish 서버 에 varnish 를 설치 합 니 다.
yum - y install varnish cd / etc / varnish / varnish 감청 주 소 를 80 포트 로 변경: vim varnish. params VARNISHLISTEN_PORT = 80 \ # 이 곳 의 6081 을 80 포트 vim default. vcl 로 변경 하여 파일 내용 을 다음 과 같이 변경 합 니 다.
import directors;
backend web1 {
.host="172.16.10.4";
.port="80";
}
backend web2 {
.host="172.16.10.5";
.port="80";
}
sub vcl_init {
new server = directors.round_robin();
server.add_backend(web1);
server.add_backend(web2);
}
sub vcl_recv {
if (req.method == "PURGE") {
return(purge);
}
if (req.url ~ "(?i)\.jsp$") {
set req.backend_hint = server.backend();
}
if (req.http.Authorization || req.method == "POST") {
return (pass);
}
if (req.http.Cookie ~ "wordpress_logged_in_") {
return (pass);
}
}
sub vcl_pipe {
return (pipe);
}
sub vcl_pass {
return (fetch);
}
sub vcl_backend_response {
if (bereq.url ~ "\.(css|js|png|gif|jp(e?)g|swf|ico|txt|eot|svg|woff)") {
unset beresp.http.cookie;
set beresp.http.cache-control = "public, max-age=2700000";
}
}
sub vcl_deliver {
}
그리고 varnish 를 시작 하여 브 라 우 저 로 172.16.10.2 / ordpress 를 방문 합 니 다. wordpress 페이지 에 방문 하면 실험 이 성공 했다 는 것 을 증명 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.