简单的Nginx+Squid+Tomcat架构

jopen 10年前

简单的Nginx+Squid+Tomcat架构

配置细节:

1. #Ninx Conf

user  nobody nobody;

worker_processes 10;

error_log  /usr/local/nginx/logs/nginx_error.log  crit;

pid        /usr/local/nginx/logs/nginx.pid;

worker_rlimit_nofile 10240

events

{

   use epoll;

   worker_connections 10240;

}

http

{

   include       mime.types;

   default_type  application/octet-stream;

   server_names_hash_bucket_size 128;

   client_header_buffer_size 32k;

   large_client_header_buffers 4 32k;

   sendfile on;

   tcp_nopush     on;

   keepalive_timeout 60;

   tcp_nodelay on;

   gzip on;

   gzip_min_length  1k;

   zip_buffers     4 16k;

   gzip_http_version 1.0;

   gzip_comp_level 2;

   gzip_types       text/plain application/x-javascript text/css application/xml;

   gzip_vary on;

server

   {

       listen  80;

       server_name www.andylhz.com;

   location / {

       proxy_pass http://www.andylhz.com:8889;

     }

#图片的访问转发给Squid

location  ~* .*.(gif|png|jpg|jpeg|bmp|swf)$ {

       proxy_pass http://www.andylhz.com:9999;

       }

}

proxy_set_header   X-Forwarded-For  $remote_addr;

log_format  access  '$remote_addr - $remote_user [$time_local] $request '

                  '"$status" $body_bytes_sent "$http_referer" '

                  '"$http_user_agent" "$http_x_forwarded_for"';

access_log  /usr/local/nginx/logs/access.log  access;

client_max_body_size     10m;

client_body_buffer_size  128k;

proxy_connect_timeout    600;

proxy_read_timeout       600;

proxy_send_timeout       600;

proxy_buffer_size        8k;

proxy_buffers            4 32k;

proxy_busy_buffers_size 64k;

proxy_temp_file_write_size 64k;

   }

2. #Squid Conf

http_port 172.16.0.246:9999   vhost vport   #监听本机的9999的端口

acl OverConnLimit maxconn 100

http_access deny OverConnLimit

acl Manager proto cache_object

acl Localhost src 127.0.0.1 172.16.0.246   #访问控制

http_access allow Manager Localhost

http_access deny Manager

visible_hostname www.andylhz.com

cache_mgr liuhz@andylhz.com

cache_effective_user squid

cache_effective_group squid

tcp_recv_bufsize 65535 bytes

cache_dir ufs /usr/local/squid/var/cache 100 16 256

cache_store_log /usr/local/squid/var/logs/store.log

cache_log /usr/local/squid/var/logs/cache.log

forwarded_for on

logformat combined %>a %ui %un [%tl +0800] "%rm %ru HTTP/%rv" %Hs %h" "%{User-Agent}>h" %Ss:%Sh

access_log /usr/local/squid/var/logs/access.log combined

#缓存本机tomcat的内容

cache_peer 172.16.0.246 parent 8889  0 no-query originserver name=a round-robin  

3. #Tomcat conf

配置Tomcat使用端口8889端口。