问题描述
服务器A,B,C三台机器。A,B之间可以连通,B,C之间可以连通;但是A和C不能连通。
问题方案简述
通过在B服务器上安装nginx做个代理,A可以通过访问B来替代访问C,B作为C的代理;
操作讲解
nginx安装
1、在服务B上安装nginx,并启动nginx,确认nginx正常
yum install -y nginx
systemctl status nginx
安装好之后默认状态是这样的:
启动nginx
systemctl start nginx
确认启动正常
systemctl status nginx
配置
1、修改nginx的配置文件,修改/etc/nginx/nginx.conf,修改成如下格式
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn; #这里定义的是日志如何记录
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
stream {
upstream servers_http11422 {
server 10.10.13.12:11422 max_fails=3 fail_timeout=5s; #节点C的地址及C上服务的端口
}
server {
listen 11422; #节点B上监听的端口
proxy_pass servers_http11422;
}
upstream servers_http8073 {
server 10.10.13.12:8073 max_fails=3 fail_timeout=5s; #节点C的地址及C上服务的端口
}
server {
listen 8073; #节点B上监听的端口
proxy_pass servers_http8073;
}
}
说明:在A节点上访问B上监听的端口的时候,nginx会将对B上对应端口的访问,转移到C的对应端口上去,是有一一对应关系的。
生效
1、重新加载修改的配置文件
nginx -s reload
说明:这次精力有限,只把用到的一些操作记录了下来,回头可以单独补一篇关于nginx的安装、配置、使用的说明文档作为这块内容的扩展。