第一种作用反向代理
反向代理的实现及配置
实现的效果1 在我们电脑端输入一个域名或者ip地址访问我们指定服务器,这个域名或者ip地址不直接指向我们的服务器
假如我们指定域名位 www.myName.com 实际访问地址是172.25.1.101:8080
实现方法: 第一需要了解我们本地电脑解析域名的步骤来修改本地文件将172.25.1.101和www.myName.com做解析对应
nginx 代理 实现 不了解nginx配置文件可以看看我的上一篇nginx.conf略解
核心配置如下
server{
lister 80;
server_name 172.25.1.101;
location / {
proxy_pass http://172.25.1.101:8080;
}
}
当然ip地址是我们nginx的ip地址 server_name 也是它的ip地址,代理地址(proxy_pass)可以是其他地址。
实现效果2: 使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务中
比如:
访问路劲是172.25.1.101/a 访问 172.25.1.101:8080/
访问路劲是172.25.1.101/b 访问 172.25.1.101:8080/
实现核心配置
server{
lister 80;
server_name 172.25.1.101;
location ~ /a/ {
proxy_pass http://172.25.1.101:8080;
}
location ~ /b/ {
proxy_pass http://172.25.1.101:8090;
}
}
nginx 作用二 负载均衡
实现浏览器访问平均分配到两台服务器上的效果及对应配置
比如:浏览器访问http://172.25.1.101/a/hello.html 平均分配到172.25.1.101:8080和172.25.1.101:8090这两台服务器上
nginx核心配置
在http块中加入 其中myserver 是自己起的负载名
upstream myserver {
server 172.25.1.101:8080;
server 172.25.1.101:8090;
}
server {
listen 80;
server_name 172.25.1.101;
location / {
proxy_pass http://myserver;
}
}
注意点 myserver 和代理路劲中的http://myserver 是相同的
nginx 负载策略
第一种 轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。
第二种 weight
weight 代表权重默认为 1,权重越高被分配的客户端越多
用法举例:
upstream myserver {
server 172.25.1.101:8080 weight=2;
server 172.25.1.101:8090 weight=4;
}
第三种 ip_hash
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器
用法举例:
upstream myserver {
ip_hash;
server 172.25.1.101:8080 ;
server 172.25.1.101:8090 ;
}
第四种 fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配
用法举例:
upstream myserver {
server 172.25.1.101:8080 ;
server 172.25.1.101:8090 ;
fair;
}
地三种作用 动静分离
动静分离的概念:大概可以理解为 前后端分离的部署
比如:在服务器的建立一个文件夹存放页面和图片 /data/html 存放页面 和 /data/image存放图片 通过172.25.1.101访问这些资源
核心配置
server{
lister 80;
server_name 172.25.1.101;
location /html/ {
root /data/;
//其他设置性的参数自己百度添加 例如 autoindex属性等
}
location /image/ {
root /data/;
//其他设置性的参数自己百度添加 例如 autoindex属性等
}
}
通过 http://172.25.1.101/html/xxx.html http://172.25.1.101/image/xxx.png访问
上面其他配置的访问类似这个