squid+nginx负载均衡实现单机跑多个squid
来源:百度文库 编辑:神马文学网 时间:2024/04/26 07:57:49
如今,在大访问量的网站中,squid反向代理已经成为一种常用的缓存技术。但是,众所周知,squid本身不支持SMP,因此其原本是不支持在单台服务器同一端口(例如要反向代理web必须指定80端口)下开多个进程的。
而今多核多内存服务器已成趋势,如果单台服务器只运行一个squid反向代理跑web则显得太浪费,而根据官方意见要想运行多个squid实例,要么就指定不同的IP不同端口来实现。
而nginx是一个高性能的 HTTP 和反向代理服务器软件,运用nginx的负载均衡功能,我们就能很好的实现在同一台服务器中跑多个squid的目的,充分发挥多核大内存的作用。
具体步骤如下:
1.将N个squid安装到不同目录,并指定好多个用户以及不同的监听端口,这样便于监控时查看,例如:
squid1:/opt/squid1 监听在127.0.0.1:8081
squid2:/opt/squid2 监听在127.0.0.1:8082
squid3:/opt/squid3 监听在127.0.0.1:8083
2.编译并安装,配置nginx
./configure
nginx配置文件nginx.conf
worker_processes 10;
worker_rlimit_nofile 51200;
events {
use epoll;
worker_connections 51200;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
#keepalive_timeout 0;
keepalive_timeout 65;
upstream jianglb {
server 127.0.0.1:8081;
server 127.0.0.1:8082;
server 127.0.0.1:8083;
}
#gzip on;
server {
listen 192.168.1.3:80;
server_name www.jianglb.com jianglb.com ;
access_log logs/host.access.log main;
location / {
proxy_pass http://jianglb;
proxy_redirect off;
proxy_set_header Host $host:80;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}
这里有几个配置的注意点:
1.如果需要同时代理加速多个域名,而这些域名是同时做负载均衡的话,不需要分开来指定,upstream只需要一个即可,proxy_pass那里的名称能对应起来即可;
2.proxy_set_header Host $host:80;这里最好加上端口80,因为我一开始没加80,发现nginx转发的时候squid会收到www.jianglb.com:8081这样的头信息,这明显是不对的,一次加上80会比较好。
squid+nginx负载均衡实现单机跑多个squid
nginx做为反向代理实现负载均衡的例子
squid
nginx做为反向代理实现负载均衡的例子 - cc的脚印 - CSDN博客
Nginx 简单的负载均衡配置示例
利用Squid实现防盗链
使用mod_proxy_balancer实现负载均衡
Nginx负载均衡如何进行配置 - 值得 - 博客园
基于nginx的tomcat负载均衡和集群(超简单)
用Squid实现反向缓存代理
服务器负载均衡有哪些实现方法
squid使用
squid 资料
squid日志
nginx和squid配合搭建的web服务器前端系统-信息技术-中国学生网
用Squid实现代理上网及计费NB
[ 永远的UNIX > 用Squid实现代理上网及计费 ]
用Squid实现代理上网及计费NB
基于nginx的tomcat负载均衡和集群(转) - 值得 - 博客园
Nginx安装简记(含PHP支持、虚拟主机、反向代理负载均衡
负载均衡技术的三种实现方法
轻松实现Apache,Tomcat集群和负载均衡--------fgfg
基于DNS的多机均衡负载的实现
SQUID反向代理squid.conf配置文件