其实这些事squid都可以做,而且比nginx做得更好,缺点就是squid对多核一直支持不好,大并发大连接下可能效果不理想,所以利用nginx试试。
-
#用户 [用户组]
-
user root;
-
-
#启动进程,一般和CPU数量一致
-
worker_processes 1;
-
-
#[ debug | info | notice | warn | error | crit ] 错误日志的级别及位置
-
error_log /var/log/nginx/error.log
debug;
-
-
#一个nginx进程打开的最多文件描述符数目,最好与ulimit -n的值保持一致
-
worker_rlimit_nofile 51200;
-
-
events {
-
#工作进程的最大连接数量,根据硬件调整
-
worker_connections 4096;
-
-
#[ kqueue | rtsig | epoll | /dev/poll | select | poll ] 使用
epoll(linux2.6的高性能方式)
-
use epoll;
-
}
-
-
http {
-
resolver 61.128.128.68;
-
proxy_cache_path /test/proxy_cache levels=1:2
keys_zone=cache_one:500m inactive=15d max_size=200g;
-
proxy_temp_path /test/proxy_tmp;
-
proxy_buffers 4 64k;
-
server {
-
listen 8080;
-
resolver 61.128.128.68;
-
proxy_cache cache_one;
-
-
location ~\.html$ {
-
deny all;
-
}
-
-
-
if ($host ~* (.*)\.sina) {
-
set $sub_name $1;
-
rewrite .* http://$sub_name.163.com;
-
}
-
-
location / {
-
proxy_pass http://$host$request_uri;
-
proxy_connect_timeout 60;
-
proxy_send_timeout 120;
-
proxy_read_timeout 120;
-
}
-
-
location ~ .*\.(php|jsp|cgi|asp)?$ {
-
proxy_pass http://$host$request_uri;
-
}
-
-
}
- }