通过配置 Nginx 配置文件 , 实现正向代理、反向代理、负载均衡、Nginx 缓存、动静分离和高可用 Nginx 6种功能 , 并对 Nginx 的原理作进一步的解析 。当需要使用 Nginx 配置文件时 , 参考本文实例即可 , 建议收藏 。
文章插图
1.%20正向代理 正向代理的代理对象是客户端 。正向代理就是代理服务器替客户端去访问目标服务器 。
1.1%20实战一
实现效果:
在浏览器输入%20www.google.com%20,%20浏览器跳转到www.google.com%20 。
具体配置:
server{%20%20%20%20resolver%208.8.8.8;%20%20%20%20listen%2080;%20%20%20%20location%20/%20{%20%20%20%20%20%20%20%20proxy_pass%20http://$http_host$request_uri;%20%20%20%20}}
在需要访问外网的客户端上执行以下一种操作即可:1.%20方法1(推荐)export%20http_proxy=http://你的正向代理服务器地址:代理端口%20%20%202.%20方法2vim%20~/.bashrcexport%20http_proxy=http://你的正向代理服务器地址:代理端口%20%20%20
2.%20反向代理 反向代理指代理后端服务器响应客户端请求的一个中介服务器 , 代理的对象是服务端 。2.1%20实战一
实现效果:
在浏览器输入%20www.abc.com%20,%20从%20nginx%20服务器跳转到%20linux%20系统%20Tomcat%20主页面 。
具体配置:
%20%20%20%20server%20{%20%20%20%20%20%20%20%20listen%20%20%20%20%20%20%2080;%20%20%20%20%20%20%20%20%20%20%20server_name%20%20192.168.4.32;%20%20%20#监听地址%20%20%20%20%20%20%20%20%20%20%20location%20%20/%20{%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20root%20html;%20%20#/html目录%20%20%20%20%20%20%20%20%20%20%20proxy_pass%20http://127.0.0.1:8080;%20%20#请求转向%20%20%20%20%20%20%20%20%20%20%20index%20%20index.html%20index.htm;%20%20%20%20%20%20#设置默认页%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20}%20%20%20%20%20}
2.2%20实战二实现效果:
根据在浏览器输入的路径不同 , 跳转到不同端口的服务中 。
具体配置:
%20%20%20%20server%20{%20%20%20%20%20%20%20%20listen%20%20%20%20%20%20%209000;%20%20%20%20%20%20%20%20%20%20%20server_name%20%20192.168.4.32;%20%20%20#监听地址%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20location%20%20~%20/example1/%20{%20%20%20%20%20%20%20%20%20%20%20%20%20proxy_pass%20http://127.0.0.1:5000;%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20}%20%20%20%20%20%20%20%20%20location%20%20~%20/example2/%20{%20%20%20%20%20%20%20%20%20%20%20%20%20proxy_pass%20http://127.0.0.1:8080;%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20}%20%20%20%20%20}
location 指令说明:- ~%20: 表示uri包含正则表达式 , 且区分大小写 。
- ~*%20: 表示uri包含正则表达式 , 且不区分大小写 。
- =%20: 表示uri不含正则表达式 , 要求严格匹配 。
实现效果:
在浏览器地址栏输入%20http://192.168.4.32/example/a.html%20 , 平均到%205000%20和%208080%20端口中 , 实现负载均衡效果 。
具体配置:
%20%20%20%20upstream%20myserver%20{%20%20%20%20%20%20%20%20%20server%20192.167.4.32:5000;%20%20%20%20%20%20server%20192.168.4.32:8080;%20%20%20%20}%20%20%20%20%20%20%20%20server%20{%20%20%20%20%20%20%20%20listen%20%20%20%20%20%20%2080;%20%20%20#监听端口%20%20%20%20%20%20%20%20server_name%20%20192.168.4.32;%20%20%20#监听地址%20%20%20%20%20%20%20%20%20%20%20location%20%20/%20{%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20root%20html;%20%20#html目录%20%20%20%20%20%20%20%20%20%20%20index%20index.html%20index.htm;%20%20#设置默认页%20%20%20%20%20%20%20%20%20%20%20proxy_pass%20%20http://myserver;%20%20#请求转向%20myserver%20定义的服务器列表%20%20%20%20%20%20%20%20%20%20%20%20%20%20}%20%20%20%20%20}
nginx%20分配服务器策略- 轮询(默认)
按请求的时间顺序依次逐一分配 , 如果服务器down掉 , 能自动剔除 。 - 权重
weight%20越高 , 被分配的客户端越多 , 默认为%201 。比如:%20upstream%20myserver%20{%20server%20192.167.4.32:5000%20weight=10;%20server%20192.168.4.32:8080%20weight=5;%20}%20复制代码 - ip
按请求%20ip%20的%20hash%20值分配 , 每个访客固定访问一个后端服务器 。比如:%20upstream%20myserver%20{%20ip_hash;%20server%20192.167.4.32:5000;%20server%20192.168.4.32:8080;%20}%20复制代码
推荐阅读
- Linux安装Nginx详细教程
- 前端进阶高薪必看-CSS之手写篇
- 三年级作文妈妈的爱5篇 三年级作文妈妈的爱
- Nginx配置一键生成
- 汽车到底用不用贴膜?看完这篇文章你会改变想法
- 《老冯寻宝》第一季《秦岭茶记》汉中西乡篇
- Redis从入门到精通,至少要看看这篇
- Nginx下无法使用中文URL的解决方法
- 西装|朱玲玲老了也风韵不减,穿西装高级大气,一眼能看出是不是阔太太
- 致敬最美逆行者的一封信(致敬最美逆行者的一封信作文5篇)