,
可以看到一次1,一次二,目前是两个不加任何策略配置
接下来我们加上ip_hash 的策略
接着访问多次8085
,发现他只会映射到8001上面去,这个就是ip_hash策略的作用:根据不通ip的哈希值,指定到固定端口上面去,ip_hash是很常用的一种策略,可以解决一点点的session不共享问题
其他的几种策略这里不再赘述,
可以去看看这里 https://blog.csdn.net/balalamm/article/details/79916483
使用nginx代理二级目录我们经常会遇到这样的 结构
比如说这是某个应用的接口地址,他有v1和v2两个版本
放在不同的服务器或者端口上,我们想使用下面的url来请求
和
这时候我们就可以是用nginx来处理
我们的目标是
请求 :8085/v1/ 转到8001端口
请求 :8085/v2/ 转到8002端口
修改配置文件,这里暂时用不到upstream 节点了
修改成这个样子
加一个location 就行,是不是很简单,注意8001/后面的斜杠 /一定不能少
效果图 v1/
V2/
Nginx的功能是十分强大,以上只是基础,其他的功能比如:使用nginx防盗链,请求日志记录,拦截请求等等,使用nginx实现要比在应用程序中实现简单快捷很多,总而言之就是nginx很有学习的必要。
附录:nginx常量对照表(原文 https://blog.csdn.net/echizao1839/article/details/80872378)
$http_user_agent, $http_cookie, 等等。下面是nginx支持的所有内置变量:
$arg_name:请求中的的参数名,即“?”后面的arg_name=arg_value形式的arg_name
$args:请求中的参数值
$binary_remote_addr:客户端地址的二进制形式, 固定长度为4个字节
$body_bytes_sent:传输给客户端的字节数,响应头不计算在内;这个变量和Apache的mod_log_config模块中的“%B”参数保持兼容
$bytes_sent:传输给客户端的字节数 (1.3.8, 1.2.5)
$connection:TCP连接的序列号 (1.3.8, 1.2.5)
$connection_requests:TCP连接当前的请求数量 (1.3.8, 1.2.5)
$content_length:“Content-Length” 请求头字段
$content_type:“Content-Type” 请求头字段
$cookie_name:cookie名称
$document_root:当前请求的文档根目录或别名
$document_uri:同 $uri