企業(yè)場景
一般在企業(yè)內部(科幫網)阵子,開發(fā)凶杖、測試以及預生產都會有一套供開發(fā)以及測試人員使用的網絡環(huán)境。運維人員會為每套環(huán)境的相關項目配置單獨的Tomcat款筑,然后開放一個端口智蝠,以 IP+Port 的形式訪問。然而隨著項目的增多奈梳,對于開發(fā)和測試人員記住如此多的內網地址杈湾,無疑是一件頭疼的事情(當然你也可以使用瀏覽器書簽管理器或者記錄在某個地方)。但是你不永遠不會確定,那天由于升級突然改了IP,我們可能又要重新擼一遍配置限次,所以內網域名還是非常有必要的。
內網域名具體有哪些優(yōu)點:
- 方便記憶
- 變更IP浮驳,只需要修改DNS即可
服務器環(huán)境
192.168.1.170(開發(fā))
192.168.1.180(測試)
192.168.1.190(預生產)
192.168.1.125(DNS+Nginx)
DNS安裝
安裝容器
為了方便,我們使用docker環(huán)境手動搭建一個DNS服務器捞魁。
選擇andyshinn/dnsmasq的docker鏡像至会,2.75版本,執(zhí)行命令:
docker run -d -p 53:53/tcp -p 53:53/udp --cap-add=NET_ADMIN --name dns-server andyshinn/dnsmasq:2.75
執(zhí)行完畢以后谱俭,通過命令查看是否創(chuàng)建并運行成功:
[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
配置DNS
進入容器:
docker exec -it dns-server /bin/sh
創(chuàng)建代理文件:
vi /etc/resolv.dnsmasq
添加內容:
nameserver 114.114.114.114
nameserver 8.8.8.8
新建本地解析規(guī)則配置:
vi /etc/dnsmasqhosts
添加解析規(guī)則:
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
Nginx安裝
安裝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文件夾下創(chuàng)建vhosts目錄昆著,然后依次創(chuàng)建一下文件(演示文件县貌,正式環(huán)境中會有多個項目轉發(fā))。
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;
#導入各個環(huán)境
include vhosts/*.conf;
}
啟動服務:執(zhí)行 nginx命令即可凑懂。
本機驗證
那么如何驗證這些域名可以解析到我們的內網項目煤痕,只需要修改本機dns服務器地址即可:
配置完成后,我們就可以通過dev.52itstyle.com等相關域名訪問我們的內網項目了。
當然摆碉,最好是可以直接修改路由器的DNS祟敛,這樣就不用每個電腦都配置DNS了。