使用hosts文件建立健壮的网络开发/测试环境

原创 2006年05月23日 22:05:00

相信大多数朋友都为网络应用程序的部署问题伤过脑筋,本机上运行好好的程序,换台机器就出问题,或者需要更改很多相关设置。尤其是在同时编写WebService服务端和客户端的时候,程序调试是在本机进行,所以,一些网络相关的特性不能表现出来。比如,我们测试的服务器地址和真实运行的服务器地址不同。

其实这个问题,我们只需使用系统的DNS预解析来解决

windows操作系统下有一个hosts文件,系统用它来为某个域名指定IP地址,我们可以利用它来模拟一个真实的网络程序运行环境。

用文本编辑器打开hosts文件(windows系统位于x:/windows/system32/drivers/etc/下,X为系统所在盘符,文件没有扩展名),会看到类似如下内容:

------------------------------------------------------------------------------------

# Copyright (c) 1998 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP stack for Windows98
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

127.0.0.1       localhost

------------------------------------------------------------------------------------

# 开头的为注释,最后一行127.0.0.1       localhost是说将localhost指定为IP127.0.0.1,也就是我们的回路IP

因此,我们可以添加我们自己的指定IP解析,比如:

127.0.0.1     www.mywebsite.com

保存。那么在浏览器中输入www.mywebsite.com,我们会打开127.0.0.1这个IP地址。

利用该文件的好处是,IIS所接收到的请求权限完全是远程状态的,而不是本机的(为了方便调试,开发工具会对本机IP开放特殊权限),所以避免了因为开发工具对于本机IP权限放宽,导致程序移植之后无法用相应权限运行的问题。

利用这个特性,你完全可以在编写WebService的时候使用真实域名地址,这样在客户端程序调试的时候使用hosts的配置,而当程序正式上线运行的时候,将hosts文件中相应的项删掉即可。客户端编译好的模块无需再次编译。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

使用Maven自动打包配置文件生成开发环境,测试环境,生产环境

写在前面项目中往往有开发环境、测试环境、生产环境,这几个环境有些配置文件可能是不一样的,三个环境切换时以前基本是靠手动注释文件来打成不同的包。如果不同的配置文件过多,粗心打包后,就会导致配置文件出错,...

使用CppUnit建立简单的测试环境

TDD相信很多人都了解,它是敏捷软件开发中不可缺少的一个环节,能使你编写出更高质量,使你更放心的代码(当然,并不是指使用了TDD之后,就不会出现bug,呵呵,你懂的……) 那么,要使用TDD就要有一个...

asp搭建测试环境单文件版

  • 2015-08-16 23:53
  • 693KB
  • 下载

RocketMQ使用步骤--- 开发测试环境搭建及Java用例

RocketMQ使用JAVA语言编写,可以在任意安装了JRE环境的平台上运行。但,必须要运行在安装JRE64位的操作系统上,RocketMQ官方暂时不提供API文档,接口使用可参考源码中的实例代码,或...

Hibernate下搭建JUNIT的测试环境,使用beforeclass和afterclass实现sessionFactory建立一次

sessionFactory建立一次除了beforeclass和afterclass,还有单例,static语句块两种方法 实体类: package com.zzk.hibernate.m...

使用 Docker 构建开发、测试环境

 docker 为开发人员和系统管理员提供了一个可供开发,分发(ship)和运行应用的平台。将Docker化的应用及其依赖环境不需要经过任何修改就可以分发到任何地方--提供给QA,团队成员或者分...

JavaHost:使用虚拟DNS省掉开发环境配置hosts文件

JavaHost:使用虚拟DNS省掉开发环境配置hosts文件 学习如何使用java修改DNS解析记录,采用Properties文件替代hosts文件。 在不同运行环境访问不同将数据源服务器,为了...

JavaHost:使用虚拟DNS省掉开发环境配置hosts文件

学习如何使用java修改DNS解析记录,采用Properties文件替代hosts文件。 在不同运行环境访问不同将数据源服务器,为了方便切换是否使用域名替代IP? 如果使用域名的话,在开发环境就需...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)