程式猿進階之路“內網域名”
企業場景
一般在企業內部,開發、測試以及預生產都會有一套供開發以及測試人員使用的網路環境。運維人員會為每套環境的相關專案配置單獨的Tomcat,然後開放一個埠,以 IP+Port 的形式訪問。
然而隨著專案的增多,對於開發和測試人員記住如此多的內網地址,無疑是一件頭疼的事情(當然你也可以使用瀏覽器書籤管理器或者記錄在某個地方)。但是你不永遠不會確定,那天由於升級突然改了IP,我們可能又要重新擼一遍配置,所以內網域名還是非常有必要的。
內網域名具體有哪些優點:
-
方便記憶
-
變更IP,只需要修改DNS即可
伺服器環境
192.168.1.170(開發) 192.168.1.180(測試)
192.168.1.190(預生產)
192.168.1.125(DNS+Nginx)
DNS安裝
安裝容器
為了方便,我們使用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
執行完畢以後,通過命令檢視是否建立並執行成功:
配置DNS
進入容器:
docker exec -it dns-server /bin/sh
建立代理檔案:
vi /etc/resolv.dnsmasq
新增內容:
nameserver 114.114.114.114nameserver 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.dnsmasqaddn-hosts=/etc/dnsmasqhosts
退出容器:
exit
重啟容器:
docker restart dns-server
Nginx安裝
安裝OpenResty之前需要下載一些必備的依賴:
yum install readline-devel pcre-devel openssl-devel -yyum 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:
test.52itstyle.com.conf:
sit.52itstyle.com.conf:
配置檔案:
啟動服務:執行 nginx命令即可。
本機驗證
那麼如何驗證這些域名可以解析到我們的內網專案,只需要修改本機dns伺服器地址即可:
配置完成後,我們就可以通過dev.52itstyle.com等相關域名訪問我們的內網專案了。
當然,最好是可以直接修改路由器的DNS,這樣就不用每個電腦都配置DNS了。
本文轉自爪哇筆記 作者:小柒2012
原文連結:https://mp.weixin.qq.com/s/rs3WnIi6wrOZQ68LpeZ9EQ
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31137683/viewspace-2213342/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 程式設計師的進階之路程式設計師
- Typescript進階之路TypeScript
- 虛擬網路監控進階之路-DeepFlow
- 程式猿生存指南-7 相親之路(下)
- 程式猿生存指南-6 相親之路(中)
- 程式猿生存指南-5 相親之路(上)
- React 進階之路(六)React
- React 進階之路(四)React
- React 進階之路(五)React
- Vue 進階之路(十四)Vue
- Django進階之路(一)Django
- React 進階之路(三)React
- React 進階之路(二)React
- React 進階之路(一)React
- 程式猿生存指南-3 跨越階層
- Linux-高手進階之路Linux
- 關於iOS進階之路iOS
- Linux運維進階之路Linux運維
- 高階 Android 工程師的進階之路Android工程師
- 程式設計大神進階之路:Python技巧小貼士程式設計Python
- 圖解|搞定分散式?程式設計師進階之路圖解分散式程式設計師
- 程式猿修仙之路--演算法之選擇排序演算法排序
- 程式猿修仙之路--演算法之希爾排序演算法排序
- Vue開發之路由進階Vue路由
- 前端工程師的進階之路前端工程師
- DataBinding系列(四):DataBinding進階之路
- Java初級~中級~高階進階之路Java
- Python 進階之路 (五) map, filter, reduce, zip 一網打盡PythonFilter
- 專業程式設計師進階之路:從需求出發程式設計師
- 程式設計進階之路,雖無捷徑但有長短程式設計
- Go進階之網路程式設計Go程式設計
- 從BST到LSM的進階之路
- flutter的進階之路之常用元件Flutter元件
- 09-Python之路---函式進階Python函式
- Git小白到老鳥的進階之路Git
- 【進階之路】併發程式設計(三)-非阻塞同步機制程式設計
- 【API進階之路】破圈,用一個API代替10人內容團隊API
- Java成長之路--一個非科班生的進階之路Java