代理服务(3):nginx的反向代理
1、nginx的作用和特点
1)作用
发布静态网页
支持动态配置和动静分离配置
反向代理工具,发布web服务器使用
缓存工具将外网请求信息进行缓存
2)配置nginx缓存的特点
加快用户访问的速度
对静态数据进行高效缓存
提高IP地址利用率
增强并发访问量
如图所示:

2、安装nginx和缓存功能
[root@nginx /]# tar xzvf ./ngx_cache_purge-2.0.tar.gz -C /usr/src/
[root@nginx /]# yum -y install pcre-devel zlib-devel
[root@nginx /]# useradd -M -s /sbin/nologin nginx
[root@nginx nginx-1.6.0]# ./configure --prefix=/usr/local/nginx --user=nginx --with-http_stub_status_module --add-module=/usr/src/ngx_cache_purge-2.0
[root@nginx /]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/
3、配置nginx缓存
[root@nginx /]# mkdir -p /var/cache/nginx/cache_temp
[root@nginx /]# vim /usr/local/nginx/conf/nginx.conf
2 user nginx; nginx的管理用户3 worker_processes 1; 使用的进程12 events { event配置13 use epoll; 使用epoll模式14 worker_connections 4096; 每个进程允许连接的数量15 } 16 worker_rlimit_nofile 2048; 访问文件的句柄数204832 keepalive_timeout 15; 连接保持时间33 charset utf-8; 默认的字符编码34 client_body_buffer_size 512k; 客户请求的缓存大小35 proxy_connect_timeout 15; 客户访问代理服务器的超时时间36 proxy_read_timeout 60; 代理服务器读取数据的超时时间37 proxy_send_timeout 5; 代理服务器发送给客户端的超时时间38 proxy_buffer_size 512k; 代理服务器的缓存大小39 proxy_buffers 4 512k; 设置4个缓存区40 proxy_temp_file_write_size 512k; 客户端通过代理写数据时的缓存大小41 proxy_temp_path /var/cache/nginx/cache_temp; proxy的临时文件存在目录42 proxy_cache_path /var/cache/nginx/proxy_cache levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=10g; 缓存文件路径,两级目录,缓存名字是cache_one,共享内存大小为200MB43 upstream backend_server { 定义方向代理池44 server 192.168.200.10 weight=1 max_fails=2 fail_timeout=30s;45 server 192.168.200.20 weight=1 max_fails=2 fail_timeout=30s;46 }49 server {50 listen 192.168.100.30:80;51 server_name www.benet.com;52 53 location / {54 root html;55 index index.html index.htm;56 proxy_next_upstream http_502 http_504 error timeout; 实现容灾和重复重复处理问题57 proxy_cache cache_one; 保存缓存58 proxy_cache_valid 200 304 12h; 缓存状态信息59 proxy_cache_key $host$uri$is_args$args; 第二级目录缓存数据60 proxy_set_header host $host; 记录远程客户端的IP地址61 proxy_set_header X-Foreader-for $remote_addr; 远程主机请求转发到群集62 proxy_pass http://backend_server; 代理到后端服务器63 expires 1d; 保存时间为1天64 } 65 location ~ /purge(/.*) { 抓取清除缓存的请求,注:Cache_proxy Purge, 这个url中,必须以波浪号开头,不要加"^"66 allow 127.0.0.1; 允许本地67 allow 192.168.100.0/24; 允许100.0网段的主机68 deny all; 拒绝使用69 proxy_cache_purge cache_one $host$1$is_args$args; 清除缓存70 } 71 location ~ .*\.(php|jsp|cgi|asp)?$ { 不缓存动态网页72 proxy_pass http://backend_server; 代理到后端服务器73 proxy_set_header X-Forearded-for $remote_addr; 远程主机请求转发到群集74 }
4、验证
[root@nginx /]# nginx
http://www.benet.com 访问网络资源
http://www.benet.com/purge/ 清空当前主机访问的缓存

注意:反向代理 (https)
listen 443 ssl;
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
