09-ngx_http_proxy_module模块
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了09-ngx_http_proxy_module模块相关的知识,希望对你有一定的参考价值。
ngx_http_proxy_module模块常见指令:
1、proxy_pass URL; 该指令用于设置被代理服务器的协议、主机名、IP地址和端口等形式。
2、proxy_set_header field value; 设定发往后端主机的请求报文的请求首部的值; Field:要更改信息所在的头域 Value:更改的值,支持使用文本、变量或者变量的组合 proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
3、proxy_cache_path 定义可用于proxy功能的缓存; proxy_cache_path path [levels=levels] [use_temp_path=on|off] keys_zone=name:size [inactive=time] [max_size=size]… levels:设置在对于path指定目录的第几级hash目录中缓存数据 key_zone:nginx服务器的缓存索引从简进程在内存中为缓存数据建立索引,用来定义放存缓存索引的内存区域的名称和大小 inactive;表示缓存有效时间 max_size:设置硬盘中缓存数据大大小
4、proxy_cache zone | off; 指明要调用的缓存,或关闭缓存机制;
5、 proxy_cache_key string; 缓存中用于“键”的内容; 默认值:proxy_cache_key $scheme$proxy_host$request_uri;
6、proxy_cache_valid [code …] time; 定义对特定响应码的响应内容的缓存时长;
7、proxy_cache_use_stale 使用过期缓存
8、proxy_cache_methods GET | HEAD | POST …; 根据客户端请求报文请求方式,来选着需要缓存的数据
9、proxy_hide_header field; 该指令用于设置nginx服务器在发送响应报文时,隐藏一些头信息
10、proxy_connect_timeout time; 该指令来设定nginx服务器域后端被代理服务器尝试连接的超时时间。默认为60s;最长为75s;
11、proxy_read_timeout time; 该指令设置nginx服务器向后端被代理服务器发出read请求后,等待响应的超时时间
12、proxy_send_timeout time; 该指令设置nginx服务器向后端被代理服务器发出write请求后,等待响应的超时时间
ngx_http_headers_module:该模块由代理服务器响应给客户端的响应报文添加自定义首部,或修改首部的值。
1、add_header name value [always]; 添加自定义首部; add_header X-Via $server_addr; add_header X-Accel $server_name;
2、expires [modified] time; expires epoch | max | off; 用于定义Expire或Cache-Control首部的值;
小实验:配置反向代理服务器LNAMP,并验证缓存功能
各节点均为centos7.2,其中controller1 节点安装nginx实现反向代理,controller2节点安装httpd,php,wordpress,controller3安装mariadb。
首先controller3节点安装mariadb,创建数据库wordpress并授权给carl用户
MariaDB [(none)]> create database wordpress; MariaDB [(none)]> grant all privileges on wordpress.* to ‘carl‘@‘%‘ identified by ‘jl3040265‘; MariaDB [(none)]> flush privileges;
controller2节点安装httpd,php,php-mysql,并为wordpress配置环境
yum install httpd php php-mysql 1.修改httpd主配置文件ServerName 为www.mywordpress 2.解压缩wordpress 至/var/www/html目录下 3.切换至wordpress目录,cp wp-config-sample.php wp-config.php 4.配置wp-config.php,能够启动wordpress
controller1节点安装nginx,配置反向代理功能
在nginx主配置文件的http配置段中加入cache配置信息 proxy_cache_path /var/nginx levels=1:2 keys_zone=proxycache:20M max_size=1g; [[email protected] conf.d]# mkdir -pv /var/nginx 配置虚拟机反向代理
server { listen 80; server_name www.test.com; location /wordpress { proxy_pass http://9.110.187.121:80/; proxy_cache proxycache; proxy_cache_key $request_uri; proxy_cache_methods GET HEAD; proxy_cache_valid 200 302 20m; proxy_cache_valid 404 5m; } }
访问www.test.com 可以看到效果,ls /var/nginx 可以看到缓存的文件。
以上是关于09-ngx_http_proxy_module模块的主要内容,如果未能解决你的问题,请参考以下文章