1.安装nginx
[cc lang=”python”]
[[email protected] ~]# yum install nginx
[/cc]
2.ngx_http_proxy_module模块
在nginx的主配置文件中打开。
[cc lang=”python”]
server{
listen
server_name
location /{
proxy_pass
}
}
location /{
proxy_pass http://172.16.249.164:80;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location ~* \.(jpg|txt)$ {
proxy_pass http://172.16.249.164;
}
[/cc]
有url重写的话,会使用重写后的结果,转向后端代理。
在后端的主机记录客户端的真实IP:
1)修改nginx的主配置文件中加入下段:
[cc lang=”python”]
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
[/cc]
2)在后端主机上修改日志格式:
[cc lang=”python”]
LogFormat “%{X-Real-IP}i %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”” combined
[/cc]
3.proxy_cache_path缓存代理模块
1)在nginx的全局配置http里面配置:
[cc lang=”python”]
proxy_cache_path /cache/nginx/ levels=1:1:1 keys_zone=mycache:32m;
[/cc]
/cache/nginx/ 保证改文件属组主为nginx
[cc lang=”python”]
[[email protected] ~]# mkdir -p /cache/nginx
[[email protected] ~]# chown -R nginx.nginx /cache/nginx/
[/cc]
1:1:1 允许缓存的目录级别
2)在localtion中直接引用:
[cc lang=”python”]
proxy_cache mycache;
proxy_cache_valid 200 1d;
proxy_cache_valid 301 302 10m;
proxy_cache_valid any 1m;
proxy_cache_use_stale error timeout http_500 http_503 http_504;
[/cc]