代理服务(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;


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

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部