Day8
一、配置多IP,多端口,多域名
搭建一个虚拟机多IP进行多个访问服务
一个企业通常会有多个服务在一台服务器上,但是一个服务对应ip:port,这个时候要么换端口,要么配置多个IP,或者增加网卡达到增加IP的效果。接下来做的是在一个网卡下配置子ip的步骤
1 | ip a #查看网卡名和信息 |
如果报403错误,检查涉及的目录权限,index文件是否存在,selinux是否关闭. 如果想要修改子IP或者删除IP,使用nmcli connection modify ens33 ipv4 “192.168.146.130/24,192.168.146.132/24”,它会将131的ip改成132,因为nmcli中的ipv4.address是一个列表属性,可以理解成数组,从上到下展示。
配置多个端口
这个比较简单,在conf文件内直接复制下server块,把端口改一下就好,如果想要该root文件也可以,这样就实现了同一ip不同端口访问不同的服务
配置多个域名
这个和第一个比较像,区别就是把server_name后面改成域名,在没有申请多个域名的情况下,可以在/etc/hosts文件内增加‘IP 域名’,达到本地域名服务
alias,rewrite
- alias是将原本root后面的目录直接用对应的目录代替,原本的目录访问是root+locatio路径的拼接,使用alias后就是直接替换
1
2
3
4
5
6
7
8
9server {
listen 80;
server_name 192.168.146.130;
location /static/ {
alias /html/nginx/ip130/;#使用alias后,static等于/html/nginx/ip130/,需要注意的是,后面的斜杠不很少
index index.html;
}
} - rewrite重定向,他将原访问路径的指向重新指定为另一个目录
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19server {
listen 80;
server_name 192.168.146.130;
location / {
rewrite ^/$ /html permanent;
#表示永久根路径重定向
#后面还可以选:last 停止当前匹配,用重写后的URI重新匹配其他location块
#redirect,返回302临时重定向,浏览器地址栏变化
#permanent,返回301永久重定向,SEO友好,浏览器会缓存
#break,停止所有`rewrite`处理,直接使用重写后的URI
index index.html;
}
location /html {
root /html/nginx/ip130;
index index.html;
}
}
二、反向代理和负载均衡配置
基本介绍
- 反向代理是在原真实服务器的基础上,用另外一台服务器来监听服务,然后将收到的请求转发到真实的后台服务器(RS),只需要在conf配置文件中加一个proxy_pass参数,只想RS服务器的IP就可以,也就是说,这个服务最少要两台服务器。
- 负载均衡的配置和反向代理配置差不多,区别就是在conf文件下多了一个upstream块,然后proxy_pass的指向变为了upstream后接的名字。
实例
在做以下实验前请检查:1.selinux是否关闭。2.firewalld是否关闭。3.nginx访问目录权限的所属组和主是否更改为nginx
Server IP:
LB:192.168.146.134
RS-A:192.168.146.130
RS-B:192.168.146.133
LB的配置:
1 | upstream LB_Proxy{ |
RS-A的配置:
1 | server{ |
RS-B的配置和RS-A一致,只需要把ip和路径修改一下就可以。
在做完以上配置后,记得重新加载nginx服务,然后每台服务器先curl一下自己,看有没有问题。最后用LB分别curl另外两台,看结果有没有变,变化了就代表负载均衡策略生效了。






