nginx端口转发+域名映射 |
您所在的位置:网站首页 › 域名跳转到ip › nginx端口转发+域名映射 |
前段时间在Centos7下成功搭建了apache文件服务器 → 时光隧道 如上图,我只能通过IP+端口的方式来访问,现在我想提升一下逼格,通过自定义域名就可以访问,比如my.apache.com!说干就干!!! 1、端口转发 I、修改配置文件目前我要访问文件服务器,需要输入IP+端口,如果不想输端口(默认80端口),就要做80端口转8000端口。 首先想到的是采用nginx做端口转发,可以通过在nginx.conf中添加配置(尽量不要改动里面的配置,出现错误很难察觉) vi /usr/local/nginx/conf/nginx.conf添加以下配置 然后在nginx.conf同级目录创建my.apache.conf,输入以下内容: server { listen 80; server_name my.apache.com; location / { proxy_pass http://localhost:8000; } } II、访问现在我们尝试一下用自定义的域名访问 打开本地hosts文件,文件路径为: C:\Windows\System32\drivers\etc刷新页面,可以发现可以访问了
此次演示负载均衡的项目很简单,就是一段获取本机地址的代码,如下: @GetMapping("/host") public JsonData host(){ try { InetAddress addr = InetAddress.getLocalHost(); return JsonData.buildSuccess(addr.getHostAddress()); } catch (UnknownHostException e) { e.printStackTrace(); } return null; } II、环境搭建部署环境我是准备用三台机器(一台机器+两台docker搭建的环境),其中一台部署nginx,转发请求到另外两台部署了项目的机器。部署项目的机器地址分别是172.17.0.7和172.17.0.8。 III、配置文件核心就是nginx的配置文件了,nginx.conf配置如下: 说明:我是用docker在宿主机上搭建了两台机器环境(搭建方法),分别用8082和8083映射两台docker的8082(项目地址就是8082)。所以我访问 http://宿主机ip:8081/api/v1/user/host 就可以转发到宿主机 ip:8082 或宿主机 ip:8083 ,然后映射到docker中的8082。nginx默认负载均衡策略为轮询。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |