Nginx做反向代理和缓存服务器的配置文件
创建缓存目录
mkdir -p /data/cdn_cache
1 缓存服务配置文件
[root@linux-node1 ~]#/etc/nginx/conf.d/proxy.conf
定义一个名称为cache_one的缓存zone(名称可以自定义)
#CDN
proxy_temp_path /data/cdn_cache/proxy_temp_dir;
proxy_cache_path /data/cdn_cache/proxy_cache_dir levels=1:2 keys_zone=cache_one:50m inactive=1d max_size=1g;
proxy_connect_timeout 5;
proxy_read_timeout 60;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_404;
2 反向代理配置文件
定义一个名称为www.example.com.pool反向代理组
[root@linux-node1 ~]# /etc/nginx/conf.d/upstream.conf
upstream www.example.com.pool
{
server 192.168.56.12:8080 weight=10 max_fails=3;
server 192.168.56.13:8080 weight=10 max_fails=3;
}
3 网站配置文件
[root@linux-node1 ~]# vim /etc/nginx/conf.d/www.example.com.conf
定义一个缓存区location 指定使用缓存配置文件中定义的cache_one zone 缓存以 gif|jpg|png|html|htm|css|js|ico|swf|pdf结尾的文件
定义一个回源区location 如果缓存区没有,就到回源区访问
server
{
listen 80;
server_name www.example.com;
access_log logs/www.example.com-access.log main;
location ~ .*\.(gif|jpg|png|html|htm|css|js|ico|swf|pdf)$
{
#Proxy
proxy_redirect off;
proxy_next_upstream http_502 http_504 http_404 error timeout invalid_header;
proxy_set_header Host $host;
proxy_set_header X-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass www.example.com.pool;
#Use Proxy Cache
proxy_cache cache_one;
proxy_cache_key "$host$request_uri";
add_header Cache "$upstream_cache_status";
proxy_cache_valid 200 304 301 302 8h;
proxy_cache_valid 404 1m;
proxy_cache_valid any 2d;
}
location /
{
proxy_redirect off;
proxy_next_upstream http_502 http_504 http_404 error timeout invalid_header;
proxy_set_header Host $host;
proxy_set_header X-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass www.example.com.pool;
client_max_body_size 40m;
client_body_buffer_size 128k;
proxy_connect_timeout 60;
proxy_send_timeout 60;
proxy_read_timeout 60;
proxy_buffer_size 64k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
}
}