欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

代理服务(3):nginx的反向代理

程序员文章站 2022-05-26 11:02:22
...

1、nginx的作用和特点

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

2、安装nginx和缓存功能

[aaa@qq.com /]# tar xzvf ./ngx_cache_purge-2.0.tar.gz -C /usr/src/
[aaa@qq.com /]# yum -y install pcre-devel zlib-devel
[aaa@qq.com /]# useradd -M -s /sbin/nologin nginx
[aaa@qq.com 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
[aaa@qq.com /]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/

3、配置nginx缓存

[aaa@qq.com /]# mkdir -p /var/cache/nginx/cache_temp
[aaa@qq.com /]# 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;		访问文件的句柄数2048
			 32     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,共享内存大小为200MB
			 43         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、验证

[aaa@qq.com /]# nginx
http://www.benet.com 访问网络资源
http://www.benet.com/purge/ 清空当前主机访问的缓存
代理服务(3):nginx的反向代理
注意:反向代理 (https)
listen 443 ssl;

相关标签: 云计算、大数据