关于LMHOSTS和APACHE之间的问题

原创 2007年10月05日 15:20:00
 
       很郁闷,最近做的一个东西的apache服务器跑不起来了,apache.exe占用内存超多,重装几次都不行,猜想可能与我机器的啥配置有冲突了,最后证明的确如此,可没有想到的竟然是与LMHOSTS有关。关闭LMHOSTS一切ok。具体办法是:网上邻居-> 查看网络连接-> 本地连接(你正在使用的那个连接) => 右键点它选"属性" => 选中"internet协议(TCP/IP) => 属性 => 高级 => 切换到"wins"标签 => 去掉"启用LMhosts查询"前的勾.
以下是我在网上找到的关于的资料。不过都没有说明白为啥LMHOSTS和APACHE之间有冲突,有理解的朋友可以给我留言啊!!
LMHOSTS 文件是个纯文本文件,微软提供了一个示例程序 LMHOSTS.SAM,位于 C:/WinNT/System32/Drivers/Etc 目录下(跟以前的示例说明一样,我们这里的路径是“蓝网实验室”所采用的,朋友们可自行参照自己的实际安装情况而灵活改变)。如果我们需要启用 LMHOSTS 文件查询(至于什么时候会用到这种解析方式,我们在下面会讲到),则应该将其改名为 LMHOSTS,当然推荐的方法是制作副本(即另存为 LMHOSTS),这样可免除将原文件失手改错而不得不从安装光盘里解压还原出来的麻烦。下面是“蓝网实验室”NT服务器中 LMHOSTS 文件的部分内容:
#
# The following example illustrates all of these extensions:
#
# 102.54.94.97 rhino #PRE #DOM:networking #net group's DC
# 102.54.94.102 "appname /0x14" #special app server
# 102.54.94.123 popular #PRE #source server
# 102.54.94.117 localsrv #PRE #needed for the include
#
# #BEGIN_ALTERNATE
# #INCLUDE //localsrv/public/lmhosts
# #INCLUDE //rhino/public/lmhosts
# #END_ALTERNATE
#
# end of this file.
 
由上面的示例我们可以看出,LMHOSTS 文件跟我们在前面已经接触过的 HOSTS 文件的格式一样,当然其规则也一样,比如:
#字符是用来注释的;
IP 地址必须放在一行的第一栏,地址和主机名之间必须有空格;
计算机名称最长为 16 个字符,但是只能输入 15 个(为什么?回去看看《关于 WINS(二)》吧^_^)。
 
但是与 HOSTS 不同的是,LMHOSTS 文件中可以指定执行某种特殊功能的特定的命令。它们也是用 # 标记的,但如果看到有下面的特殊字符串,则表明其为命令字:
 
#PRE——这个命令放在 IP 地址和名称后面,表示当系统启动时,先将这个地址预先载入(Preload)到 Cache(内存高速缓存)中。查询时,系统先从 Cache 中开始,如果失败,再利用广播,再失败,才到本 LMHOSTS 文件中顺序读取。
 
#DOM:domain_name——这个命令放在计算机 NetBIOS 名字之后,表明它是一个域控制器(Domain Controller),这里 domani_name 是域名,表明该控制器属于哪一个域。
 
#INCLUDE ——这个命令表明将 filename 所指向的另一个 LMHOSTS 文件加入到本文件中,系统从该文件中读取 IP 地址和 NetBIOS 名字。Heatch 记得当年应付等级考试啃 C 时就遇到过相同的格式,当然在两年前风行一时的 config.sys 多重启动配置时也有相似的例子[Include],即使现在我们用 DreamWaver 做网页不是也还是有 Server-Side Include 吗,说这么多只是想证明它的好处——集中管理 LMHOSTS 文件,即可以将所有用户共享的 LMHOSTS 文件放到服务器上,每个用户再利用 #INCLUDE 命令把它添加到自己的 LMHOSTS 文件中。
 
#BEGIN_ALTERNATE 和 #END_ALTERNATE 命令必须配套使用,它们的作用是可以在一个 LMHOSTS 文件中指定多个 #INCLUDE 命令,即是说,如果我们有两个以上的域控制器,那么我们就可以 INCLUDE 其上的的 LMHOSTS 文件,一旦某个控制器“牺牲”,可立即用别的域控制器来替代。
 
/0xnn——这里的 /0xnn 命令是用来在 LMHOSTS 文件中指定包含非打印字符(Non-Printable)的 NetBIOS 名字,它们必须用引号括起来。正如前面的《关于 WINS(二)》所讲,这些非打印字符只用于特殊的设备名称,并且只能放在计算机名称后面第16个字符的位置(我的计算机名称没有15个字符那么长啊——按空格键嘛),如示例中的102.54.94.102 "appname /0x14"
 
关于 Preload 的特别说明:
1、一个 LMHOSTS 文件中最多只允许 Preload 100 个 IP 地址和计算机名称(我偏要输入 101 个怎么着!——怎么着?多的一个忽略不计!);
2、#INCLUDE 命令所指向的文件中的所有项都必须加上 #PRE 命令(我偏不加又怎么着!——怎么着?忽略不计);
3、修改注册表增加预载数目:主键 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Netbt/Parameters,新建字符串值 MaxPreLoads,输入自己想要的数目。
LMHOSTS 文件的应用场合是没有 WINS 服务器的网络环境,引入 LMHOSTS 文件的目的是用来解决广播方式无法跨越路由器的局限的,LMHOSTS 文件与广播方式相辅相行实现网段内外的全通信。这里我们再来看一下它们的的工作进程:
  1、系统启动时将 LMHOSTS 文件中被设为#PRE的地址和机器名预载到内存中;
  2、客户端发出查询请求时,先在 Cache 中检查是否已存在目的 IP 地址;
  3、找到了自不用说,如果在 Cache 中没有找到,系统改用广播方式再次查找;
  4、这次找到了也自不用说,如果广播查询还是没有找到,就得用到 LMHOSTS 文件了;
  5、找到啦,好!把它也添加到 Cache 中保存起来(看你下次还往哪跑^_^);还是没有找到?!对不起,俺只得报错了,你就在客户端去等着看错误信息吧。
  那么 LMHOSTS 文件的跨域操作又是如何实现的呢?还记得三天前的第一讲吗?我们说到了一个 #DOM:Domain_Name 命令。假定我们这里有两个域:Lanhome01和Lanhome02,其 IP 地址分别为 192.168.0.1 和 192.168.1.10,计算机名分别为 Heatch01 和 Heatch02,现在有一台域 Lanhome01 的工作站 cxy01 想要登录到域 Lanhome02,但我们在网络上没有运行 WINS 服务。如果仅通过广播方式,cxy01无法被 Lanhome02 域控制器审核并验证身份。这里只需在 LMHOSTS 文件添加如下一行即可:
  192.168.1.10    Heatch02 #PRE #DOM:Lanhome02
 
 

Linux三大共享文件的方法

1. Samba     Samba 用于Linux 和windows之间的共享,ubuntu里面默认没有安装samba     在安装好samba之后,就用开始配置samba服务:   ...
  • tianwei7518
  • tianwei7518
  • 2014年03月14日 09:12
  • 706

AM使用指南之二:Nested AM与Root AM之间的Transaction关系

开发环境:JDeveloper 11.1.2.2.0 + Oracle XE Database 10gR2。 在实际应用中,为了达到逻辑重用的目的,会使用嵌套的AM。 在Root AM和Nes...
  • Beckben
  • Beckben
  • 2014年08月20日 20:43
  • 353

完整的HTTP请求会经历以下过程

一次完整的Http请求,虽然说的是浏览器,但是换成ios,android也是完全没毛病的。原文 http://blog.51cto.com/linux5588/1351007 ...
  • u014600626
  • u014600626
  • 2017年12月05日 15:18
  • 270

一次完整的HTTP请求过程

当我们在浏览器的地址栏输入 www.linux178.com ,然后回车,回车这一瞬间到看到页面到底发生了什么呢?   以下过程仅是个人理解:   域名解析 --> 发起TCP的3次握手 --...
  • dengshizhen
  • dengshizhen
  • 2017年03月14日 13:02
  • 1209

Samba常用配置及匿名用户访问

Samba常用配置及匿名用户访问
  • lile777
  • lile777
  • 2016年09月27日 21:19
  • 5681

Am命令用法 基于Android 6.0的源码剖析, 分析am命令

一、概述 作为一名开发者,相信对adb指令一定不会陌生。那么在手机连接adb后,可通过am命令做很多操作: (1) 拨打电话10086 adb shell am start -a andro...
  • u013512708
  • u013512708
  • 2017年03月15日 13:56
  • 343

不同网段之间访问网上邻居的方法

公司内部的台机一开始都是固定IP,然后通过IP来限制上不上网。然后又有4个AP,原来是接在路由器A(192.168.1段),然后由路由开DHCP,让无线能访问网络的,但其它这样会造成的后果就是有些人可...
  • jackhong520
  • jackhong520
  • 2018年01月12日 16:20
  • 19

不同网段之间访问网上邻居的方法

公司内部的台机一开始都是固定IP,然后通过IP来限制上不上网。然后又有4个AP,原来是接在路由器A(192.168.1段),然后由路由开DHCP,让无线能访问网络的,但其它这样会造成的后果就是有些人可...
  • jackhong520
  • jackhong520
  • 2018年01月12日 16:20
  • 19

如何查找MySQL,PHP和Apache配置文件位置

在这篇文章中,我们将学习一些命令用于定位的默认配置文件MySQL数据库服务器(my.conf) ,PHP编程语言(php.ini)和Apache HTTP服务器(http.conf)与Linux的形式...
  • qq393008294
  • qq393008294
  • 2016年12月24日 09:18
  • 1309

一元多项式计算器(链式结构)

//*一元多项式计算器(链式结构) /*问题描述:  设有一元多项式Am(x) 和Bn(x).    Am(x) = A0+A1x1+A2x2+A3x3+… +Amxm    Bn(x) = ...
  • fulianzhou
  • fulianzhou
  • 2014年12月22日 09:07
  • 1272
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于LMHOSTS和APACHE之间的问题
举报原因:
原因补充:

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