通常在企业内部,开发、测试以及预生产都会有一套供开发以及测试人员使用的网络环境。运维人员会为每套环境的相关项目配置单独的Tomcat,而后开放一个端口,以 IP+Port 的形式访问。然而随着项目的增多,对于开发和测试人员记住如此多的内网地址,无疑是一件头疼的事情(固然你也可使用浏览器书签管理器或者记录在某个地方)。可是你不永远不会肯定,那天因为升级忽然改了IP,咱们可能又要从新撸一遍配置,因此内网域名仍是很是有必要的。nginx
内网域名具体有哪些优势:docker
192.168.1.170(开发)
192.168.1.180(测试)
192.168.1.190(预生产)
192.168.1.125(DNS+Nginx)浏览器
为了方便,咱们使用docker环境手动搭建一个DNS服务器。服务器
选择andyshinn/dnsmasq的docker镜像,2.75版本,执行命令:网络
docker run -d -p 53:53/tcp -p 53:53/udp --cap-add=NET_ADMIN --name dns-server andyshinn/dnsmasq:2.75
执行完毕之后,经过命令查看是否建立并运行成功:app
[root@test125 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 38ae71377ef1 andyshinn/dnsmasq:2.75 "dnsmasq -k" 22 hours ago Up About an hour 0.0.0.0:53->53/tcp, 0.0.0.0:53->53/udp dns-server
进入容器:运维
docker exec -it dns-server /bin/sh
建立代理文件:tcp
vi /etc/resolv.dnsmasq
添加内容:ide
nameserver 114.114.114.114 nameserver 8.8.8.8
新建本地解析规则配置:测试
vi /etc/dnsmasqhosts
添加解析规则:
192.168.1.125 dev.52itstyle.com test.52itstyle.com sit.52itstyle.com
修改dnsmasq配置文件,指定使用上述两个咱们自定义的配置文件:
vi /etc/dnsmasq.conf
追加下述两个配置
resolv-file=/etc/resolv.dnsmasq addn-hosts=/etc/dnsmasqhosts
退出容器:
exit
重启容器:
docker restart dns-server
安装OpenResty以前须要下载一些必备的依赖:
yum install readline-devel pcre-devel openssl-devel -y yum install wget perl gcc -y
下载最新版本:
wget https://openresty.org/download/openresty-1.13.6.1.tar.gz
解压:
tar -xvf openresty-1.13.6.1.tar.gz
安装配置:
./configure
您可使用下面的命令来编译安装:
make && make install
若是您的电脑支持多核 make 工做的特性, 您能够这样编译安装:
make && make install -j2
为了方便启动,创建软链接:
ln -s /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx
在/usr/local/openresty/nginx/conf文件夹下建立vhosts目录,而后依次建立一下文件(演示文件,正式环境中会有多个项目转发)。
dev.52itstyle.com.conf:
server{ listen 80; server_name dev.52itstyle.com; proxy_set_header Host $host; location /{ proxy_pass http://192.168.1.170:8080; } }
test.52itstyle.com.conf:
server{ listen 80; server_name test.52itstyle.com; proxy_set_header Host $host; location /{ proxy_pass http://192.168.1.180:8080; } }
sit.52itstyle.com.conf:
server{ listen 80; server_name sit.52itstyle.com; proxy_set_header Host $host; location /{ proxy_pass http://192.168.1.190:8080; } }
配置文件:
vi /usr/local/openresty/nginx/conf/nginx.conf
worker_processes 2; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; #导入各个环境 include vhosts/*.conf; }
启动服务:执行 nginx命令便可。
那么如何验证这些域名能够解析到咱们的内网项目,只须要修改本机dns服务器地址便可:
配置完成后,咱们就能够经过dev.52itstyle.com等相关域名访问咱们的内网项目了。
固然,最好是能够直接修改路由器的DNS,这样就不用每一个电脑都配置DNS了。
做者: 小柒2012