国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Nginx > 正文

squid+nginx負載均衡實現單機跑多個squid

2024-08-30 12:21:35
字體:
來源:轉載
供稿:網友

    如今,在大訪問量的網站中,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.mycodes.net mycodes.net ;
        access_log  logs/host.access.log  main;


        location / {
                proxy_pass        http://mycodes;
                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.mycodes.net:8081這樣的頭信息,這明顯是不對的,一次加上80會比較好。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 怀仁县| 柘城县| 昌宁县| 界首市| 古蔺县| 南陵县| 通化市| 河西区| 公安县| 大姚县| 宝丰县| 静海县| 龙胜| 邢台县| 延边| 尼木县| 遵义县| 福州市| 同江市| 康平县| 云南省| 会昌县| 漠河县| 西丰县| 马关县| 且末县| 唐海县| 呼和浩特市| 北流市| 合水县| 即墨市| 丽水市| 页游| 阿克苏市| 房产| 景宁| 呼伦贝尔市| 惠水县| 革吉县| 砚山县| 名山县|