`
liangjian103
  • 浏览: 176935 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

讲解使用squid+nginx负载均衡实现单机跑多个squid的配置

阅读更多

squid+nginx负载均衡实现单机跑多个squid.

如今,在大访问量的网站中,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

user  www www;
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会比较好。

 

分享到:
评论

相关推荐

    Nginx+Squid负载均衡相关的PPT

    2. **代理功能**:Squid可以作为客户端和服务器之间的代理,实现对后端服务器的负载均衡,可以结合Nginx共同构建更复杂的负载均衡体系。 **Nginx+Squid联合使用** 结合Nginx和Squid的优点,可以构建一个高效的负载...

    Linux CentOS下搭建DNS+squid+nginx+mysql高可用web服务器.zip_nginx转发mysql

    Linux CentOS下搭建DNS+squid+nginx+mysql高可用web服务器.zip

    LVS+Keepalived+Squid+Nginx

    在构建高性能、高可用性的Web服务架构中,`LVS(负载均衡服务器)`、`Keepalived`、`Squid`(代理缓存服务器)和`Nginx`(反向代理服务器)是四个非常关键的组件。下面将详细介绍这四个技术及其相互配合的工作原理。 1. *...

    squid和nginx配置正向代理访问API接口.rar

    在这个场景中,"squid"和"nginx"都是流行的开源软件,它们可以被配置为正向代理来转发请求到API接口。下面我们将深入探讨这两个工具以及如何配置它们。 首先,让我们了解一下 Squid。Squid 是一个高性能的代理缓存...

    nginx+apache+mysql+php+memcached+squid搭建门户网站

    本文将详细介绍如何通过组合使用Nginx、Apache、MySQL、PHP、Memcached以及Squid来实现这一目标。 #### 二、整体架构设计 在设计服务器架构时,我们采用了如下所示的架构: ``` |客户端|===>|负载均衡器 (Nginx)|...

    使用nginx-haproxy实现七层负载均衡笔记

    总之,Nginx和HAProxy都是通过配置实现七层负载均衡的重要工具。它们都具有良好的性能和灵活性,能够根据应用的具体需求,将客户端的请求高效地分发到后端服务器,从而提高整体的系统性能和可用性。在具体实施时,...

    电子商务网站基础架构 nginx + memcached + tomcat + squid 集群

    它能处理静态资源(如图片、CSS 和 JavaScript 文件),减少对后端应用服务器的压力,并实现负载均衡,将请求分散到多个 Tomcat 实例上。 2. Memcached:这是一个分布式内存对象缓存系统,用于存储经常访问的数据,...

    搭建nginx+apache+mysql+php+memcached+squid服务器集群.zip_nginx正向代理

    在集群中,Nginx通常作为前端的负载均衡器,通过正向代理策略分发请求到后端的Apache服务器,可以实现高效地处理大量并发请求,提高系统响应速度。 2. **Apache**:Apache是最流行的Web服务器之一,支持多种编程...

    性能调优 海量并发 系统架构

    Nginx+Squid负载均衡 配置好的集群 总共三十个文档">Apache+Tomcat+Session+Memcache 高性能群集搭建 J2EE性能调优 Jboss的优化配置 Memcached分布式缓存 Nginx+Tomcat 动静分离 Nginx+tomcat集群Memcached+Session...

    squid反向代理配置例子

    本文将详细讲解如何使用Squid进行反向代理配置,通过提供的文件名,我们可以看到有四种不同的配置场景:单站点代理、多站点代理、以及两种实现Web站点负载均衡的方法(sibling形式和常规方式)。 1. **单站点代理**...

    nginx+apache+mysql+php+memcached+squid搭建集群web环境

    【搭建集群Web环境详解】...然而,实际应用中可能还需要考虑更多因素,如安全配置、负载均衡策略、故障切换机制等,以保证系统的健壮性和可扩展性。不断学习和优化,才能让我们的Web服务更好地应对不断增长的用户需求。

    nginx tomcat负载均衡缓存服务器集群.docx

    【Nginx + Tomcat 负载均衡缓存服务器集群】 在面对高访问量和复杂业务需求时,构建一个高效的服务器集群是必要的。...对于更深入的 Nginx 缓存配置和使用,可以参考张宴的博客或 Nginx 中文网站获取更多信息。

    Nginx、LVS及HAProxy负载均衡软件的优缺点详解.docx

    Nginx、LVS 及 HAProxy 是目前使用最广泛的三种负载均衡软件,每种软件都有其特点和优缺点。 Nginx 的优点: 1. 工作在网络的 7 层之上,可以针对 http 应用做一些分流的策略。 2. 对网络稳定性的依赖非常小,理论...

    Nginx实现负载均衡的方法总结

    以下是一个简单的 Nginx 负载均衡配置实例,展示了如何使用 `ip_hash` 策略: ``` http { upstream myproject { ip_hash; server 125.219.42.4 fail_timeout=60s; server 172.31.2.183; } server { listen ...

    nginx和squid配合搭建的web服务器

    nginx和squid配合搭建的web服务器

    nginx+squid广州技术沙龙资料2009

    【标题】"nginx+squid广州技术沙龙资料2009"揭示了2009年在广州举办的一场关于使用Nginx与Squid构建高效Web服务的技术交流活动。这次沙龙聚焦于如何通过这两种开源软件提升服务器性能,优化网络流量,并实现负载均衡...

    Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡.pdf

    在Nginx中,负载均衡的实现是通过配置反向代理模块来完成的。Nginx作为一款高效的Web服务器和反向代理服务器,其负载均衡策略主要包括轮询(默认)、weight(权重)、ip_hash、fair(第三方)、url_hash(第三方)等...

Global site tag (gtag.js) - Google Analytics