博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Varnish,Nginx搭建缓存服务器
阅读量:6694 次
发布时间:2019-06-25

本文共 3528 字,大约阅读时间需要 11 分钟。

hot3.png

一. varnish1.安装pcre库,兼容正则表达式# tar -zxvf pcre-8.10.tar.gz# cd pcre-8.10# ./configure --prefix=/usr/local/pcre# make && make install2.配置安装varnish# tar -zxvf varnish-3.0.2.tar.gz# cd varnish-3.0.2# export PKG_CONFIG_PATH=/usr/local/pcre/lib/pkgconfig/# ./configure --prefix=/usr/local/varnish# make && make install3.修改varnish配置文件/usr/local/varnish/etc/varnish/default.vcl# mv default.vcl default.vcl.bak# vi cq.vclbackend cqserver {.host = "127.0.0.1";.port = "8087";.connect_timeout = 20s;}acl purge {"localhost";"127.0.0.1";"192.168.1.0"/24;}sub vcl_recv {if (req.request == "PURGE") {if (!client.ip ~ purge) {error 405 "Not allowed.";}return (lookup);}if (req.http.host ~ "^www.baidu.com") {set req.backend = cqserver;if (req.request != "GET" && req.request != "HEAD") {return (pipe);}else{return (lookup);}}else {error 404 "caoqing Cache Server";return (lookup);}}sub vcl_hit {if (req.request == "PURGE") {set obj.ttl = 0s;error 200 "Purged.";}}sub vcl_miss {if (req.request == "PURGE") {error 404 "Not in cache.";}}(1)Varnish通过反向代理请求后端IP为127.0.0.1,端口为8087的web服务器,即nginx服务器监听端口;(2)Varnish允许localhost、127.0.0.1、192.168.1.*三个来源IP通过PURGE方法清除缓存;(3)Varnish对域名为www.baidu.com的请求进行处理,非www.baidu.com域名的请求则返回"caoqing Cache Server";(4)Varnish对HTTP协议中的GET、HEAD请求进行缓存,对POST请求透过,让其直接访问后端Web服务器。4.启动varnish# cd /usr/local/varnish/sbin/# ./varnishd -f /usr/local/varnish/etc/varnish/cq.vcl -s file,/var/varnish_cache,1G -T 127.0.0.1:2000 -a 0.0.0.0:80二. nginx1.安装nginx# rpm -ivh zlib-devel-1.2.3-4.el5.i386.rpm# tar zxvf nginx-1.4.1.tar.gz# cd nginx-1.4.1# ./configure --prefix=/usr/local/nginx --with-openssl=/usr/lib --with-pcre=/root/tool/pcre-8.10 --with-http_stub_status_module# make && make install2.启动nginx# cd /usr/local/nginx/sbin# ./nginx3.修改ngnix配置文件测试配置文件/usr/local/nginx/sbin/./nginx -t# cd /usr/local/nginx/conf# vi nginx.conf#使用的用户和组user  root root;#制定工作衍生进程数(一般为CPU总核数两倍)worker_processes  8;#制定文件描述符数量worker_rlimit_nofile 51200;#指定错误日志存放路径error_log  logs/error.log#指定pid存放路径pid        logs/nginx.pid;event{    #使用网络I/O模型     use epoll;#允许的连接数     worker_connections  65535;}http {#访问日志存放路径    access_log logs/access.log;#开启gzip压缩    gzip             on;    gzip_min_length  1000;    gzip_proxied     expired no-cache no-store private auth;    gzip_types       text/plain text/css text/xml text/javascript application/x-javascript application/xml application/rss+xml application/xhtml+xml application/atom_xml;    gzip_disable "MSIE [1-6].(?!.*SV1)";#限定PHP-CGI的连接、发送和读取的时间为300s    fastcgi_connect_timeout 300s;    fastcgi_send_timeout 300s;    fastcgi_read_timeout 300s;#虚拟主机配置server {#监听端口       listen 8087;#主机名称       server_name 127.0.0.1;#google提供的DNS服务       resolver 8.8.8.8       location / {#nginx作为HTTP代理服务器            proxy_pass http://$http_host$request_uri;            proxy_set_header Accept-Encoding '';            proxy_redirect          off;       }}}三. 排错优化1)修改环境变量vi ~/.bashrcPATH=$PATH:/usr/local/nginx/sbin:/usr/local/varnish/sbin:/usr/local/varnish/binexport PATH2)nginx启动与关闭参数:-v:查看版本-V:查看配置模块-t:查看配置文件是否正确-c:制定其他配置文件pkill -9 nginx3)varnish启动与关闭参数: -u:以什么用户运行-g:以什么组运行-f:varnish配置文件 -a:绑定IP和端口-s:varnish缓存位置和大小-w:最小,最大线程和超时时间-T:varnish管理端口,主要用来清除缓存pkill varnishdvarnish服务动态加载配置文件 #varnishadm -T 127.0.0.1:2000vcl.load vcl-name_vcl "配置文件路径" # vcl-name 这里可以任意取名 vcl.use vcl-namevcl.show vcl-name #显示vcl-name配置文件内容 # varnishncsa -w /usr/local/varnish/logs/varnish.log将输出日志写入到制定日志文件。4)修改windows客户端C:\Windows\System32\drivers\etc\hosts192.168.1.202 www.baidu.com

转载于:https://my.oschina.net/u/1449160/blog/198650

你可能感兴趣的文章
计算机网络通信基础概念介绍和问题描述
查看>>
JVM内存划分(-) big picture
查看>>
vue select 慢一步
查看>>
oracle 根据v$wait_chains找到造成等待的SQL
查看>>
ansible自动化部署nginx
查看>>
Tomcat 之 java知识点简介
查看>>
Python网络编程中的select 和 poll I/O复用的简单使用
查看>>
在win7系统下网络频繁掉线集中可能性
查看>>
Python初学心得
查看>>
全球域名净增长量Top10:中国数据上榜 排名第二
查看>>
3月钓鱼网站简报:.COM域名超68% 中国数据居二
查看>>
***防火墙密码恢复手记
查看>>
mysql连接慢的问题
查看>>
Docker容器管理--ubuntu安装docker
查看>>
数据库的启动模式:3种启动模式
查看>>
不求完美,先让事情开始,然后再完善它
查看>>
观点 | 阿里资深技术专家:优秀的数据库存储引擎应具备哪些能力?
查看>>
数据千万条,备份第一条,数据找不回,老板两行泪
查看>>
快速体验 Sentinel 集群限流功能,只需简单几步
查看>>
oracle数据库基础知识
查看>>