Tuesday, April 17, 2007

解决该死的双硬盘蓝屏(错误代码:0×00000007b)!

组织上又分配给俺一块120G的硬盘,配置好跳线,BIOS等必要项后,开机在出现XP进度条后,竟然蓝屏了!错误代码:0×00000007b.Google并Baidu了两下,出来一堆文章,包括微软自己给出的解决方案,无非是修复安装或者重装系统等方法.有些网友给出了修改BIOS中的硬盘启动项和启动磁盘的ID等办法,什么乱七八糟的,均试过无效,彻底失望之时,又发现一篇文章给出的办法是修改IRQ中断,说是可能有冲突,我就奇怪了,系统都进不去,怎么能体现出来中断冲突嘛.但却给了我一个提示,在出现进度条后出现的蓝屏,说明是系统在加载某样东西地出现错误.对,就这么干.

修改BIOS设置,拨下跳线和第二块硬盘,进入系统后,右键"我的电脑"-"管理"-"设备管理器".

在右边栏里找到"IDE ATA/ATAPI 控制器"这一项,展开后,其中有三项,第一个是你正在运行的硬盘,其它两项"主要IDE通道"和"次要IDE通道",就在这两项里面做手脚:

首先在"主要IDE通道"上右键,点选"属性",接着在"属性"窗口中单击"高级设置"选项卡,看到了吧,"设备0"和"设备1"两个,把这两个的"设备类型"这一项全部改成"自动检测",单击确定.相同的操作对"次要IDE通道".接下来关机,设置跳线,插上第二块硬盘,改好BIOS,开机.怎么样?可恨的蓝屏没再出来吧?嘿嘿… …

Posted by Wyulnnhtg at 05:21:35 | Permalink | No Comments »

Sunday, April 15, 2007

干掉微软正版增值计划的通知程序。。。

最近不少同事的电脑开始提示盗版软件受害者,虽然它不影响计算机的正常使用,但很多软件补丁程序不通过正版验证(Windows Genuine Advantage Validation)您就不能下载,系统带的自动更新功能更是无法使用。

 

并且在开机的时候会出现提示,并会登录一次微软的网站。在此,我向大家提供两个网上给出的破解程序,但我没有测试,不知道会不会有其它问题,有兴趣的同事可以试一试。

 

推荐用以下方法来解决这个问题:

 

首先以管理员用户登录系统,并打开注册表,以WgaLogon为关键字,搜索,把找到的全部删除。再以WgaTray为关键字,同样把找到的全部删除。
然后进入安全模式下,打开%Windir%\system32目录,找到WgaTray.exe,注意看到旁边还有个WgaLogon.dll,就一并删除。
%Windir%\system32\dllcache下把WgaTray.exeWgaLogon.dll也删掉。
重启,这下整个世界清静了,该死的通知不会再出现了。。。
另外记得把自动更新改成自动下载并提示安装,在出现让你安装的时候,不要安装Windows Genuine Advantage 通知(即:KB905474)这个补丁。。。并选中下次不再提示。

Posted by Wyulnnhtg at 05:48:24 | Permalink | Comments (1) »

Wednesday, March 14, 2007

串口还能这么玩。。。

环境如下主板:
技喜:GA-8I875
硬盘:Maxton 120G STAT

先说句题外话,技喜的这款主板真不是盖的,单位一年要烧好几块,技嘉公司管修不给换,问题一直得不到彻底解决,我先鄙视一个!
由于没有软驱,同时手上也没有串口驱动,所以装系统造成很大麻烦,说什么也不认硬盘(用的番茄版,带串口驱动的也不成)!没办法,回头开始观察COMS。。。 偶然发现了在Integrated Peripherals设置中有一项On-Chip STAT,其中STAT Port0 Configure as引起了我的注意(当然,我的STAT线是接在STAT0_BS上的),进去看了看,有选项IDE Pri. Master。。我的光驱是在IDE Sec. Master,不如一试。改成此项,光盘引导,嘿嘿,认了。。。没想到,串口还能这么玩,爽。。。没有串口驱动一样玩串口了!不过,后来猜想,可能速率和串口要相差不少,串口发挥不出串口的效率,有点遗憾啊!建议除非万不得以,尽量要使用串口模式来玩串口,买了个串口盘,再设成IDE用,未免有些得不偿失了。。。
Posted by Wyulnnhtg at 02:32:08 | Permalink | No Comments »

Saturday, March 10, 2007

解决aspnet_wp.exe占用内存问题。

设置aspnet进程定时重建(类似IIS6中AppPool里的定时重启),这样可以避免服务器长时间运行aspnet占用大量空闲内存,有利于提高aspnet运行效率。 aspnet配置文件位置为 C:WINNTMicrosoft.NETFrameworkv1.1.4322CONFIGmachine.config 用文本编辑器打开该文件,找到以内容按注释修改 enable=”true” timeout=”01:00:00″  –超时时间,指定多长时间后重建aspnet进程,建议设为数小时,格式”小时:分钟:秒” idleTimeout=”00:20:00″  –aspnet多长时间无动作时关闭进程,建议数十分钟 … memoryLimit=”40″  –aspnet最多占用服务器内存数,默认40% …
Posted by Wyulnnhtg at 11:23:06 | Permalink | No Comments »

Wednesday, March 7, 2007

远程桌面(3389)连接至指定会话(session)的方法.

不知道有没有人遇到过这样的变态问题,在管理服务器的时候,用远程桌面连接,在会话中还进行着任务的时候由于某种原因(断网或者误点)退出了远程桌面,之后再连的时候已经连不到原来的会话中了,而是新建立了一个会话,也看不到原来的会话中进行的任务了.现找到一办法和大家分享如下:

不管哪个会话,先登录进去…
CMD下输入
query session查看在进行任务那个会话的ID
然后再用tscon ID将当前会话转到需要的那个会话中 

原来的任务马上会重现眼前的…嘿嘿…

Posted by Wyulnnhtg at 04:16:43 | Permalink | No Comments »

Sunday, August 13, 2006

Win2003下安装Pcanywhere导致Awgina.dll出错的解决办法

原因
如果计算机中装有 Symantec pcAnywhere,而 pcAnywhere 的“图形标识与授权”(GINA) 筛选器 Awgina.dll 阻止您登录计算机,就会出现此问题。

安装 pcAnywhere 之后,它会将默认的 Windows GINA 文件 Msgina.dll 替换为 Awgina.dll 文件。文件 Awgina.dll 的有些版本可能会导致此问题。

解决方案
要解决此问题,请根据您的具体情况使用以下某种方法,或两种方法都用:

方法 1:关闭 PcAnywhere GINA 筛选器
在安全模式下重新启动计算机,然后关闭 pcAnywhere GINA 筛选器。为此,请按照下列步骤操作:
1. 在安全模式下重新启动计算机。为此,请按照下列步骤操作:
a. 重新启动计算机。
b. 当看到“请选择要启动的操作系统”消息时,请按 F8 键。
c. 在“Windows 高级选项菜单”上,使用箭头键选择“安全模式”,然后按 Enter 键。
d. 如果您使用的是双启动或多启动计算机,请从列表中选择“Microsoft Windows XP”,然后按 Enter 键。

2. 删除 GinaDLL 注册表项。为此,请按照下列步骤操作:警告:“注册表编辑器”使用不当可造成严重问题,这些问题可能需要重新安装操作系统。Microsoft 不保证能够解决因为“注册表编辑器”使用不当而产生的问题。使用“注册表编辑器”需要您自担风险。
a. 单击“开始”,然后单击“运行”。
b. 在“打开”框中,键入 regedit,然后单击“确定”。
c. 找到并单击下面的注册表项:

HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\WinLogon
d. 在右窗格中,右键单击“GinaDLL”,然后单击“删除”。
e. 在提示您确定删除时,单击“是”。
f. 在“文件”菜单上,单击“退出”以退出“注册表编辑器”。

3. 重新启动计算机。

方法 2:从计算机中删除 pcAnywhere。

Posted by Wyulnnhtg at 09:00:25 | Permalink | No Comments »

Saturday, August 12, 2006

端口映射的几种实现方法

采用端口映射(Port Mapping)的方法,可以实现从Internet到局域网内部机器的特定端口服务的访问。笔者总结了在教学与组网实践中采用的几种端口映射方法,在此与大家交流探讨。
  利用IIS实现WWW和FTP服务的重定向

  Windows 2000和Windows XP都包含了IIS组件,其中的WWW和FTP服务具有主目录重定向设置,与端口映射相比,虽名称不同但作用类似。本文以Windows 2000下IIS 5.0的WWW和FTP服务举例说明。

  1、WWW服务的重定向

  打开管理工具中的Internet服务管理器,进入“Internet信息服务”对话框,选择Web站点名称,例如:“默认Web站点”,查看其属性,在属性页面的“主目录”标签下,我们可以设置WWW服务器的主目录位置。设定主目录为“另一计算机上的共享位置”,则可以在“网络目录”栏目内,以“\\{服务器}\{共享名}”格式填写局域网内部的WWW服务器上已经设为共享的主目录,例如:\\Server6\www。

  我们也可以选择“重定向到URL”,然后在“重定向到”栏目输入局域网内部的WWW服务器的链接,例如http://192.168.0.6
2、FTP服务的重定向

  与WWW服务的重定向相似,打开管理工具中的Internet服务管理器,进入“Internet信息服务”对话框,选择FTP站点名称,例如:“默认FTP站点”,查看其属性,在属性页面的“主目录”标签下,我们可以设置FTP服务器的主目录位置。

  WinRoute Pro的端口映射功能

  WinRoute Pro是一个工作于NAT(网络地址翻译)方式的Internet共享软件。它本身自带了端口映射功能。

  运行WinRoute Administration并登录,在主菜单上选择“Settings→ Advanced→Port Mapping”,出现端口映射的设置界面。端口映射条目的添加、编辑界面如图所示。可以设置的选项包括协议、监听端口、端口类型(单一端口还是某个范围的连续端口)、目的主机、目的端口等。

  专用的端口映射工具PortTunnel

  PortTunnel是一个实现端口映射的专用工具。它是一个直接运行的软件。

如果操作系统为Windows NT/Windows 2000/Windows XP,第一次运行时选择Start,PortTunnel会自动以服务方式运行。点击[Add]按钮添加条目,点击[Edit]按钮编辑现有条目,点击[Delete]按钮删除条目。“新建/编辑”条目的界面见下图。

  

  在这个“新建/编辑端口映射”对话框中,我们要给该条目命名,然后设定输入端口(Port In)、绑定地址(Bind address)、输出端口(Port Out)和输出地址(Address Out)。其中,“绑定地址”是指监听该主机的哪一个IP(内部IP还是外部IP)。设为“Any(0.0.0.0)”则监听该主机的全部IP。

  PortTunnel专门针对HTTP、FTP、SMTP服务的端口映射,提供了较多的参数设置,在相应的标签菜单下调整。此外,PortTunnel还提供了安全性设置和日志、统计等功能。

Posted by Wyulnnhtg at 08:41:18 | Permalink | No Comments »

局域网中无法访问的解决方法

    在局域网内安装了Windows XP的电脑不能与安装了Windows 98的电脑互相访问,安装了Windows XP的电脑与安装了Windows XP的电脑也不能互相通信。在工作站访问服务器时,工作站的“网上邻居”中可以看到服务器的名称,但是点击后却无法看到任何共享内容,或者提示找不到网络径、无权访问等问题,归纳为以下几点:
在XP首次使用的时候要在网上邻居的属性里面新建一个网络连接进行网络安装向导。

  1、检查计算机之间的物理连接。

  网卡是网络连接的基本设备,在桌面计算机中,每个网卡后面的指示灯应该是亮的,这表示连接是正常的。如果不亮,请检查集线器或交换机是打开的,而且每个客户端连接的指示灯都是亮的,这表示链接是正常的。接下来检查网线的水晶头是否接触良好。

  2、确保所有计算机上都安装了TCP/IP,并且工作正常。

  在Windows XP中默认安装了TCP/IP。但是,如果出了网络问题想卸载后重新安装TCP/IP就不容易了:在“本地连接”属性中显示的此连接使用下列项目列表中单击Internet协议(TCP/IP)项,您将发现卸载按钮不可用(被禁用)。
  这是因为传输控制协议/Internet协议(TCP/IP)堆栈是Microsoft XP/ 2003的核心组件,不能删除。在这种情况下,如果需要重新安装TCP/IP以使TCP/IP堆栈恢复为原始状态。可以使用NetShell实用程序重置TCP/IP堆栈,使其恢复到初次安装操作系统时的状态。方法是:在命令提示符后键入以下命令,然后按ENTER键:netsh int ip reset c:\resetlog.txt,其中,Resetlog.txt记录命令结果的日志文件,一定要指定,这里指定了Resetlog.txt日志文件及完整路径。运行此命令的结果与删除并重新安装TCP/IP协议的效果相同。

3、使用ping命令测试网络中两台计算机之间的连接:

  ping其它计算机IP,在命令提示处,键入ping x.x.x.x(其中x.x.x.x是另一台计算机的IP地址),然后按ENTER键。应该可以看到来自另一台计算机的几个答复,如:

  Reply from x.x.x.x:bytes=32 time<1ms TTL=128

  如果没有看到这些答复,或者看到”Request timed out”,说明本地计算机可能有问题。如果ping命令成功执行,那么您就确定了计算机可以正确连接,可以跳过下一步。如果没有看到这些答复,或者看到”Request timed out”,说明本地计算机可能有问题。PING本地IP,如果看到”Request timed out”,说明本地计算机可能有问题。

  4、使用ping命令测试网络中名称解析是否正常

  ping computername,其中computername是远程计算机的名称。通过ping命令用名称测试计算机连接。确定计算机的名称的方法是:在命令提示处,输入SYSTEMINFO。或者在桌面上右击我的电脑-属性,然后单击计算机名称选项卡。如果看到该命令的成功答复,说明您在计算机之间具有基本连接和名称解析。名称解析跟NETBIOS密切相关,看下面的步骤。

5、正确安装网络组件

  首先右击网上邻居-属性,选择要共享的网卡。把IP设置在局域网的同一个网段上。比如192.168.1.X网段。然后看一下TCP/IP的高级属性中,是否开启NETBIOS。

在利用WINNT4.0构建的网络系统中,对每一台主机的唯一标识信息是它的NetBIOS名,系统是利用WINS服务、信息广播方式及Lmhost文件等多种模式将NetBIOS名解析为相应IP地址,从而实现信息通讯。

在内部网络系统中(也就是通常我们所说的局域网中),利用NetBIOS名实现信息通讯是非常方便、快捷的。但是在Internet上对一台主机的唯一标识信息是它的FQDN格式的域名(163.com),在Internet是利用DNS标准来实现将域名解析为相应IP地址,WIN2K支持动态DNS,运行活动目录服务的机器可动态地更新DNS表。

WIN2K网络中可以不再需要WINS服务,但是WIN2K仍然支持WINS,这是由于向后兼容的原因。目前,大多数网络是混合网,既有Win98等系统,又有WINXP/WIN2K等系统,因此需要在TCP/IP协议上捆绑NETBIOS解析计算机名。

  查看是否选定“文件和打印服务”组件,如果已将其取消选中,“浏览服务”将不绑定到NetBIOS接口。成为备份浏览器并且没有启用“文件和打印共享”的基于Windows的计算机无法将浏览列表与客户机共享。任何将要包括在浏览列表中的计算机也都必须启用“文件和打印共享”。

6、启用打印与文件共享。

在网上邻居和本地连接属性里可以看到是否安装了打印机与文件共享。验证:如果在网上邻居中看不到自己的机器,说明你没有安装打印机与文件共享。

7、启动”计算机浏览器”服务

  计算机浏览器”服务在网络上维护一个计算机更新列表,并将此列表提供给指定为浏览器的计算机。如果停止了此服务,则既不更新也不维护该列表。

WIN2K/XP要确保计算机浏览服务正常启动。打开计算机管理->服务和应用程序->服务,在右窗中确保“Computer Browser”没有被停止或禁用。

8、运行网络标识向导

我的电脑选择“属性”,然后单击“计算机名”选项卡单击“网络 ID”按钮,开始“网络标识向导”:单击“下一步”,选择“本机是商业网络的一部分,用它连接到其他工作着的计算机”;单击“下一步”,选择“公司使用没有域的网络”;单击“下一步”按钮,然后输入你的局域网的工作组名,再次单击“下一步”按钮,最后单击“完成”按钮完成设置。

9、Win2k安装NetBEUI协议

在Win2k中NetBEUI协议是一个高效协议在局域网中使,因此必须安装此协议:

网上邻居->属性->本地连接->属性—->安装——>协议——->NetBEUI Protocol

10、起用Guest(来宾)帐户

  Windows XP的Guest帐户允许其他人使用你的电脑,但不允许他们访问特定的文件,也不允许他们安装软件。对Windows XP Home Edition计算机或工作组中的Windows XP Professional计算机的所有网络访问都使用来宾帐户。使用net user guest确保为网络访问设置了来宾帐户,如果该帐户是活动的,命令输出中会出现一行类似下面这样的内容:Account active Yes;如果该帐户不是活动的,请使用下面的命令授予来宾帐户网络访问:net user guest /active:yes

或者打开控制面板->用户帐户或者在管理工具->计算机管理->本地用户和组中打开Guest帐户

11、允许Guest(来宾)帐号从网络上访问。

  在运行里输入gpedit.msc,弹出组策略管理器,在‘计算机配置-Windows设置-本地策略-用户权利指派’中,有“拒绝从网络访问这台计算机”策略阻止从网络访问这台计算机,如果其中有GUEST帐号,解决办法是删除拒绝访问中的GUEST帐号。

12、防火墙:
确保WINXP自带的防火墙没有开启,打开本地连接属性->高级,关掉Internet连接防火墙。如果使用了第三方的防火墙产品,参考其使用手册,确保防火墙没有禁止以下端口的通讯:UDP-137、UDP-138、TCP-139、TCP-445(仅WIN2K及以后的操作系统)。

Windows XP最新的SP2补丁对ICF做了很大的改进,功能更强大了,ICF有了自己的设置项,安装SP2后,默认情况下,启用ICF防火墙,不允许任何外部主动连接,即使是本地的应用程序要访问网络也需要在许可列表中做设置。

但是防火墙阻断正常的网络浏览服务通讯,结果是别人在网上邻居中看不到你的计算机,有没有两全其美的办法在开启防火墙的前提下允许浏览服务。
办法是,如果开启了ICF,打开属性,在服务这栏,选择添加,添加服务的对话框共有四个编辑框,最上边是描述服务名称,以便于记忆,从上到下第二个是应用服务的IP地址或名称,输入127.0.0.1表示本机。

下面几个是内外端口号,旁边的tcp/udp表示这个端口是udp连接还是tcp连接。
按照下面的表格输入3个服务

  名称            协议       端口

  NetBIOS Name Service    UDP       137

  NetBIOS Datagram Service UDP       138

  NetBIOS Session Service   TCP       139

  137/UDP — NetBIOS名称服务器,网络基本输入/输出系统(NetBIOS)名称服务器(NBNS)协议是TCP/IP上的NetBIOS (NetBT)协议族的一部分,它在基于NetBIOS名称访问的网络上提供主机名和地址映射方法。

  138/UDP — NetBIOS数据报,NetBIOS数据报是TCP/IP上的NetBIOS (NetBT)协议族的一部分,它用于网络登录和浏览。

  139/TCP — NetBIOS会话服务,NetBIOS会话服务是TCP/IP上的NetBIOS (NetBT)协议族的一部分,它用于服务器消息块(SMB)、文件共享和打印。

13、检查RPC、Plug and Play服务已启动,检查相应的系统文件夹的权限,重新注册以下的动态链接库:

  regsvr32 netshell.dll

  regsvr32 netcfgx.dll

  regsvr32 netman.dll

14、设置帐号和密码

  由于WinNT内核的操作系统,在访问远程计算机的时候,好像总是首先尝试用本地的当前用户名和密码来尝试,可能造成无法访问,在这里把用户密码添加进去就可以了。

15、多种方法访问“网络计算机”

  例如要打开网络中名为“Killer”的计算机,其IP地址为192.168.1.8,如果你不清楚其它机器的IP地址,你可以使用“PING计算机名”来获得它的IP地址。

用计算机名访问,NETBIOS提供的服务。点击“开始”菜单,单击“运行”,在地址栏输入“\Killer”,单击“确定”。

  用IP地址访问,在地址输入栏中输入“\192.168.1.8”,单击“确定”。

  用搜索计算机的方法访问,计算机更新列表需要时间,搜索计算机可以加快更新列表。点击“网上邻居”右键中的“搜索计算机”,输入计算机名,点击“立即搜索”,就可以看到你要访问的计算机。直接双击右边计算机名就可以打开它了。

  用映射驱动器的方法访问,进入DOS方式,输入“NET VIEW \killer”,回车这是查看计算机Killer上有哪些共享文件夹,如D。再输入NET USE Z:\Killer\D将计算机IBM-ZB共享的文件夹D映射为H:盘,在命令提示符下键入“Z:”。你会发现你已经连到Killer计算机上了。

Posted by Wyulnnhtg at 08:38:28 | Permalink | No Comments »

转两篇Win环境下的Apache Tomcat的配置文章

[一]Windows2000下Apache2.0.46与Tomcat5.0.2整合配置方法 

一、软件准备:
假设你有一台能正常运行win2000 server的软硬件环境
1.j2sdk1.4.1:

http://java.sun.com/j2se/
 下载!(注意是Windows(all languages, including English)的sdk版)
2.Apache2.0.46:
http://httpd.apache.org/download.cgi/apache_2.0.46-win32-x86-no_src.msi
下载!
3.Tomcat5.0.2:
http://jakarta.apache.org/builds/jakarta-tomcat/release/v5.0.2-alpha/bin/jakarta-tomcat-5.0.2.exe
下载!
4.mod_jk.dll:
http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk/release/v1.2.4/bin/win32/mod_jk_2.0.46.dll
下载!
(说明,由于mod_jk2-2.0.43.dll与Apache2.0.46配置没成功,现用mod_jk-2.0.46.dll代替)

二、软件的安装:
(此处略)
三、Apache2.0.46与Tomcat5.0.2的整合配置
1.)配置Apache2.0.46
1.将下载的mod_jk-2.0.46.dll复制到D:\Apache2\modules下。
2.设置主页文件类型:打开D:\Apache2\conf下的httpd.conf,查找”DirectoryIndex”, 在index.html的后面添加index.jsp并保存,注意相互之间应有空格。(或如下面步骤3所设)
3.设置虚拟主机,让Apache自动控制html与jsp的解析: 打开D:\Apache2\conf\httpd.conf,在最后加入下面这段代码并保存。
#设置Apache与Tomcat之间的连接,让Apache遇到jsp文件时,在后台将其交由Tomcat去处理
# Using mod_jk2.dll to redirect dynamic calls to Tomcat
LoadModule jk_module modules/mod_jk_2.0.46.dll
JkWorkersFile “D:/Tomcat 5.0/conf/workers.properties”
JkLogFile “D:/Tomcat 5.0/logs/mod_jk2.log”
JkLogLevel info

#设置虚拟主机
&lt;VirtualHost 192.168.0.11&gt;
ServerAdmin
[url=mailto:admin@cld.cn]admin@cld.cn[/url]

DocumentRoot f:/StudioOnion/WEB_Project/shsc
ServerName shsc.cld.cn
DirectoryIndex index.html index.htm index.jsp
ErrorLog logs/shsc-error_log.txt
CustomLog logs/shsc-access_log.txt common
JkMount /servlet/* ajp13 #让Apache支持对servlet传送,用以Tomcat解析
JkMount /*.jsp ajp13 #让Apache支持对jsp传送,用以Tomcat解析
&lt;/VirtualHost&gt;

2.)配置Tomcat5.0.2
1.在D:\Tomcat 5.0.2\conf下新建一个文件workers.properties 注意文件后缀,其内容如下:
workers.tomcat_home=d:\Tomcat5.0.2#让mod_jk模块知道Tomcat
workers.java_home=d:\jdk1.4.1 #让mod_jk模块知道j2sdk
ps=\
worker.list=ajp13 #模块版本,现有ajp14了,不要修改
worker.ajp13.port=8009 #工作端口,若没占用则不用修改
worker.ajp13.host=localhost #本机,若上面的Apache主机不为localhost,作相应修改
worker.ajp13.type=ajp13 #类型
worker.ajp13.lbfactor=1 #代理数,不用修改

四、测试:
1.启动Apache2.0..46与Tomcat5.0.2 。
2.在地址栏中分别输入
http://localhost/
,与
http://localhost:8080/
若结果相同,那恭喜你,Apache2.0.46与Tomcat5.0.2整合成功了!!!
否则再来一边(^_^)



[二]Windows下Apache+Tomcat+MySQL+jsp+php的服务器整合配置经验总结

     jsp是优秀的,它基于Java技术,利用JavaBean/Servlet制作动态网站,Java强大的面向对象编程使Jsp相对于php和asp有着得天独厚的优势。但学习jsp相对于php和asp来说是有难度的。我想原因之一就是jsp服务器环境的配置要棘手一些。对于动态网页制作,在交大asp曾很长时间占据上风,不太多的“高手”(也许很多人认为使用jsp的是高手吧)使用jsp,交大比较成功的jsp网站如世纪星网(Tomcat)、网络教育学院网站(Resin)、交大招生就业网(Tomcat),服务器是Linux 9,运行相对来说比较稳定可靠。

  linux和windows下整合思想是相同的,利用apache来解析*.html/*.htm静态网页,当遇到*.jsp和servlet时,通过一个apache中的module把jsp页面抛给Tomcat(或者resin)来处理,在linux下通过编译来制作这个module,要麻烦一些,本文通过现成的win下的一个module来完成整合。

  废话不说啦,下面开始整合:

  所需软件

  (1) j2sdk-1_4_2-windows-i586.exe
  jdk的版本关系倒不是很大,不影响Apache和Tomcat的整合,配置环境变量时注意一些就行了
  (2) apache_2.0.49-win32-x86-no_ssl.exe
  apache版本对整合影响不是太大,但最好利用此版本。
  (3) jakarta-tomcat-4.1.30.exe
  版本最好用这个版本,其他的我没有试过,有可能会导致整合不成功。
  (4) php-4.3.3-Win32.zip
  是一个压缩包,下载下来直接解压就行了。
  (5) mod_jk.dll
  这个module是放到apache中的module中去的,利用它来使Tomcat和Apache之间通讯。
  (6) mysql-max-3.23.46a-win.zip
  数据库mysql,其版本对整合影响不大.
  (7) jdbc驱动
  mysql的驱动程序,和数据库连接时用

  一.安装j2sdk
  在Windows下,直接运行下载的j2sdk-1_4_1_01-windows-i586.exe文件,根据安装向导安装到一个目录,例如安装到d:\server\j2sdk

  1.配置环境变量:
  添加CLASSPATH变量,变量值为
  ./;%CLASSPATH%;D:\server\j2sdk1.4.0\lib\dt.jar;d:\server\j2sdk1.4.0\lib\tools.jar;
  d:\server\j2sdk1.4.0\bin
  这个配置保证java运行时可以找到class类。

  2.添加JAVA_HOME变量,变量值为d:\server\j2sdk1.4.0

  3.在原来的path变量中,添加d:\server\j2sdk1.4.0\bin,这样无论在何处运行java名令都行。重新启动
  cmd进入dos,运行java和javac看有没有反应,如果出现命令的帮助,那么java就安装成功了
  也可以运行一个java小程序看看.

CODE:[Copy to clipboard]public class test{
public static void main(String args[]){
System.out.println(“看到这个说明java安装成功!”);
}
}
  把上以程序存放在test.java文件中,一定要是test.java才行,然后利用命令编译
  javac test.java
  如果没有错误,则说明编译成功,如果有错,在程序书写正确的基础上,刚说明java环境变量没有配置好,刚重新配置。如果编译成功,则运行:
  java test
  注意,不是java test.java!如果无误,刚会打印出:
  看到这个说明java安装成功!
  gxgx,jdk安装成功啦!可以进行下一步.

  二.apache安装
  1.运行apache_2.0.49-win32-x86-no_ssl.exe,一路点”确定”和”接受”就行,路径选 d:\server\apache group\apache2
  此时apache已经安装成功,且已运行,在IE中输入http://localhost/可以看到apache的主页。安装成功!
  2.修改httpd.conf
  apache的配置文件是httpd.conf,位于apache根目录的下的conf文件夹下
  (1).修改默认网站根目录:
  在d:\server下建立文件夹www,以此作为网站的根目录
  DocumentRoot “D:/server/Apache Group/Apache2/htdocs”
  改为DocumentRoot “D:/server/www
  (2).修改字符设置
  apache解析中文网页时会产生乱码,修改
  AddDefaultCharset ISO-8859-1为AddDefaultCharset GB2312
  (3).修改默认主页
  当访问目录时,apache会自动导入的主页,优先级以先后顺序为准
  把 DirectoryIndex index.html index.html.var 改为
  DirectoryIndex index.html index.jsp index.php default.jsp default.php index.html.var
  (4).设置错误页面
  这样对于你的网站会更安全些,如果没设置,别人在你的网址后随便输入一个路径,会显示404错误,并且会显示你的服务器版本号,服务器配置一目了然,为了避免这种情况,可以设置错误页面。当出现404错误,即找不到网页时,把访问者导入到一个错误页面。
  找到:

CODE:[Copy to clipboard]#
# Customizable error responses come in three flavors:
# 1) plain text 2) local redirects 3) external redirects
#
# Some examples:
#ErrorDocument 500 “The server made a boo boo.”
#ErrorDocument 404 /missing.html
#ErrorDocument 404 “/cgi-bin/missing_handler.pl”
#ErrorDocument 402 http://www.example.com/subscription_info.html
#
  httpd.conf中的这一部分,#ErrorDocument 404 /missing.html
  一行修改为ErrorDocument 404 /error/noFile.htm,其中noFile.htm为d:\server\www\error\下一个错误文件,需要你自己建立。当发生404错误时,进入noFile.htm页面,可以提示网页没有找到。这样就不可能看到你的服务器软件信息了。也可以设置其它的错误导向的页面,具体http响应错误编号请查阅相关资料。
  重新启动apache,如果没意外,此时已经安装成功,把静态页面放到 d:\server\www\error\目录下,看能不能成功解析。
  随便输入一个:http://localhost/sdagasgdasasg.htm,看是不是导向你设置的404错误,即noFile.htm错误页面.
  成功了吧!

  三.php安装
  解压php-4.3.3-Win32.zip,到d:\server\php目录下.下配置PHP和Apache,使之能解析php程序。
  将d:\server\php\目录中的“php.ini-dist”改名“php.ini”,并复制到
  C:\windows\system32
  (Win2K目录为:C:\winnt\system32)下,在apache的配置文件httpd.conf中下入以下几行,使之支持php.

CODE:[Copy to clipboard]ScriptAlias /php/ “d:/server/php/”
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php
AddType application/x-httpd-php .phtml
Action application/x-httpd-php “/php/php.exe”
  在d:\server\www下建立网页:index.php,内容为:

CODE:[Copy to clipboard]<html>
<head><title>php测试</title></head>
<?php
phpinfo();
?>
</html>
  用文本编辑器编辑好为存为index.php,重新启动apache,在IE中输入
  http://localhost/index.php
  如果出现php的环境变量,说明php,安装成功,如果不能解析<?php phpinfo(); ?>中的部分,则说明没有成功安装。

  四.Tomcat的安装
  我用的是jakarta-tomcat-4.1.30.exe安装文件,在windows下一路点”确定”就行了,比霞虻ィ沧澳柯嘉:\server\tomcat
  下面设置环境变量:
  同jdk的环境变量,添加变量TOMCAT_HOME,值为d:\server\tomcat;增加变量CATALINA_HOME,值为d:\tomcat\server,在path变量中加入d:\server\tomcat\bin
  下面启动tomcat,运行tomcat目录下的,bin/startup.bat文件就行啦,出现tomcat运行控制台,tomcat成功启动.
  在IE中输入http://localhost:8080/,看到大猫的吧,则tomcat安装成功.

  五.安装MySQL
  第一步:解压 mysql-max-3.23.46a-win.zip,运行mysql安装文件,把mysql安装到d:\server\mysql
  第二步:在环境变量path中加入 d:\server\mysql\bin
  第三步:进入d:\server\mysql\bin目录,运行winmysqladmin,刚会出现对话框,设置mysql用户密码,假设帐号为:root 密码为:123
  第四步:进入dos,进入mysql/bin下,运行以下命令打开mysql
  mysqld-nt –standalone
  则mysql开启,然后运行:
  mysql
  如果开启,则出现以下文字:
  Welcome to the MySQL monitor. Commonds end with ; or \g.
  Your MySQL connection id is 1 to server version: 3.23.46-nt
  Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
  mysql>
  注意:此时mysql没有设置密码,为了不让别人进入你的数据库,请为mysql设置密码,具体操作请参阅mysql 的中文说明文档。

六.安装MySQL的驱动类jdbc
  解开jdbc驱动包,把里面的org文件夹复制到jsp可以找到的位置就行啦。可以是tomcat的根目录common/classes 文件夹下,也可以是jsp网站class类WEB-INF/class/下。当加载驱动程序时,以便能找到相关的类。或者把jdbc包的路径加入到classpath变量中。

  七.Tomcat和Apache的整合配置
  Tomcat只是一个用来解析*.jsp文件的容器,它不是服务器,其解析静态htm/html文件的能力远远不如apache,整合后在同一个端口使apache来解析静态网页,而遇到*.jsp网页时,交由tomcat来解析.
  第一步:把 mod_jk.dll复制到apache根目录module文件夹下。
  第二步:配置APACHE
  打开apache根目录下conf\httpd.conf 添加以下语句:

CODE:[Copy to clipboard]#——————————————
#connecting to tomcat using ajp13
LoadModule jk_module modules/mod_jk.dll
JkWorkersFile “d:/server/tomcat/conf/workers.properties”
JkMount /servlet/* ajp13
JkMount /*.jsp ajp13
#—————————————————–
  注意:以上语句的基本意思是:
  loadModule一行:加载mod_jk.dll动态链接库模块,使之与tomcat通讯
  jkWorkersFile:指明工作时tomcat相关文件workers.properties位置
  jkMount:两行指明当遇到*.jsp和servlet时,交由ajp13协议,继而转发给tomcat处理。
  第三步:建立workers.properties文件,在tomcat根目录conf下建立workers.properties文件,内容为:
  

CODE:[Copy to clipboard]workers.tomcat_home=d:\server\tomcat
workers.java_home=d:\server\j2sdk1.4.0
ps=\
# worker.list=ajp13
worker.list=ajp12,ajp13

worker.ajp12.port=8007
worker.ajp12.host=localhost
worker.ajp12.type=ajp12
worker.ajp12.lbfactor=1
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1

worker.loadbalancer.type=lb

worker.loadbalancer.balanced_workers=ajp12, ajp13

worker.inprocess.type=jni
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)classes
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)jaxp.jar
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)parser.jar
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)jasper.jar
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)servlet.jar
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)webserver.jar
worker.inprocess.class_path=$(workers.java_home)$(ps)lib$(ps)tools.jar
worker.inprocess.cmd_line=-config
worker.inprocess.cmd_line=$(workers.tomcat_home)/conf/jni_server.xml
worker.inprocess.cmd_line=-home
worker.inprocess.cmd_line=$(workers.tomcat_home)
worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll
worker.inprocess.stdout=$(workers.tomcat_home)$(ps)inprocess.stdout
worker.inprocess.stderr=$(workers.tomcat_home)$(ps)inprocess.stderr
worker.inprocess.sysprops=tomcat.home=$(workers.tomcat_home)
  注意以上文件第一、二行填上tomcat和jdk的相关目录.

  第四步:配置tomca/conf下的server.xml文件,这个是tomcat的主要配置文件,重要配置如下:
  1.虚拟目录设置:
  找到下面内容:
  <Host name=”localhost” debug=”0″ appBase=”/webapps” unpackWARs=”true” autoDeploy=”true”>
  修改为:
  <Host name=”localhost” debug=”0″ appBase=”d:/server/www” unpackWARs=”true” autoDeploy=”true”>
  使tomcat主目录为d:\server\www.
  找到下面内容:
  <Context path=”examples” docBase=”/examples” debug=”0″ reloadable=”true” crossContext=”true”>
  修改为
  <Context path=”" docBase=”/” debug=”0″ reloadable=”true” crossContext=”true”>
  这个我的理解是应该是使tomcat根目录下的jsp作为一个虚拟主机吧.

  2.设置tomcat监听端口,找到下面的内容:
  

CODE:[Copy to clipboard]<Connector className=”org.apache.coyote.tomcat4.CoyoteConnector”
port=”8080″ minProcessors=”5″ maxProcessors=”75″
enableLookups=”true” redirectPort=”8443″
acceptCount=”100″ debug=”0″ connectionTimeout=”0″
useURIValidationHack=”false” disableUploadTimeout=”true” />
  默认的端口是8080,但这个大家都知道,最好修改一下,职修改为: 8123

  3.找到以下8009端口的地方,这个很重要,通过8009,tomcat与apache互相通讯,如果下面的部分被<!—->注释掉,一定要把<!—->去掉.
  

CODE:[Copy to clipboard]<!– Define a Coyote/JK2 AJP 1.3 Connector on port 8009 –>
<Connector className=”org.apache.coyote.tomcat4.CoyoteConnector”
port=”8009″ minProcessors=”5″ maxProcessors=”75″
enableLookups=”true” redirectPort=”8443″
acceptCount=”10″ debug=”0″ connectionTimeout=”0″
useURIValidationHack=”false”
protocolHandlerClassName=”org.apache.jk.server.JkCoyoteHandler”/>
  第五步:配置tomcat的conf/web.xml文件:
  类似于apache下404错误页面的配置,在最后</web-app>一行之前加入以下内容:

CODE:[Copy to clipboard]<error-page>
<error-code>404</error-code>
<location>/error/noFile.htm</location>
</error-page>

<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
<location>/error/error.jsp</location>
</error-page>
  第一个<error-page></error-page>之间的是404未找到jsp网页的错误导向页面,使之发生404错误时,网页导向至/error/noFile.htm,也可以用类似方法添加其多的错误代码导向页面。
  第二个<error-page></error-page>之间的是当jsp网页出现java.lang.NullPointerException导常时导向至/error/error.jsp错误页面。那么需要在第个jsp网页中加入以下内容:
  <%@ page errorPage=”/error/error.jsp” %>
  典型的error.jsp错误页面的程序写法如下:

CODE:[Copy to clipboard]<%@ page contentType=”text/html;charset=GB2312″%>
<%@ page isErrorPage=”true”%>
<html>
<head><title>错误页面</title></head>
<body>
出错了:</p> 错误信息: <%= exception.getMessage() %><br>
Stack Trace is : <pre><font color=”red”><%
java.io.CharArrayWriter cw = new java.io.CharArrayWriter();
java.io.PrintWriter pw = new java.io.PrintWriter(cw,true);
exception.printStackTrace(pw);
out.println(cw.toString());
%></font></pre>
</body>
</html>
  当出现NullPointerException异常时tomcat会把网页导入到error.jsp,且会打印出出错信息。

  第五步主要是安全考虑,在正常情况下,如果找不到网页即出现404错误或者jsp程序出错,在客户端会列举出类似于如下的信息(以tomcat为例,resin类似):
HTTP Status 404 - /sdags.jsp
——————————————————————————–
type Status report
message /sdags.jsp
description The requested resource (/sdags.jsp) is not available.
——————————————————————————–
Apache Tomcat/5.0.19
  这样服务器版本会被别人看到,如果完成第五步的配置,就不会出现这种情况.

  第六步:配置httpd.conf文件
  这种方法把tomcat和apache的根目录设置为同一目录,但是必须限制客户对目录下一些文件的访问,比如存入class 的web-inf,在httpd.conf下添加以下代码:

CODE:[Copy to clipboard]#deny the access to WEB-INF
<Directory ~ “/WEB-INF/”>
Order allow,deny
Deny from all
</Directory>
  这样,当试图记问http://localhost/web-inf/时,apache将会拒绝.

  到此为至,tomcat和apache的整合就完成啦.重新启动tomcat和apache,把jsp网页放到d:\server\www\下,例如:

CODE:[Copy to clipboard]<html>
<h1>JSP test<hr>
<%out.println(“Hello World!”);%>
</html>
  存为index.jsp,在IE中输入http://localhost:8123/index.jsp
  如果出现了
  Hello World!
  刚说明tomcat运行正常,在IE中输入http://localhost/index.jsp,如果也出现
  Hello World!
  恭喜你!整合成功啦,你在jsp漫长艰辛的道路上迈出了一大步~!

Posted by Wyulnnhtg at 05:03:23 | Permalink | No Comments »

Friday, August 4, 2006

网页技巧二十一例

1. 如何在网页中加入注释
◆代码:< !– 这是注释 –>

2. 如何在网页中加入EMAIL链接并显示预定的主题
◆代码:< a href=”mailto:yourmail@***.***?Subject=你好”>Send Mail< /a>

3. 如何制作电子邮件表单
◆在<FORM>中输入Action=”youremail@XXX.XXX” ,提交采用POST方法。

4. 如何避免别人将你的网页放入他的框架(FRAME)中
◆在源代码中的<HEAD>…< /HEAD>之间加入如下代码:
<s cript language=”javas cript”><!–
if (self!=top){top.location=self.location;}
–>< /s cript>

5. 如何自动加入最后修改日期
◆在源代码中的<BODY>…< /BODY>之间加入如下代码:
< s cript Language=”Javas cript”><!–
document.write(“Last Updated:”+document.lastModified);
–>< /s cript>

6. 如何让背景图象不滚动
◆代码:<BODY Background=”bg.gif” Bgproperties=”fixed” >
◆在Dreamweaver中用「Text」-「Custom Style」-「Edit Style Sheet」-「New」-Redefine HTML Tag中选择Body,然后在Background中的Attachment里选fixed

7. 如何将网页定时关闭
◆在源代码中的<BODY>后面加入如下代码:
< s cript LANGUAGE=”Javas cript”> <!–
setTimeout(’window.close();’, 60000);
–> < /s cript>
在代码中的60000表示1分钟,它是以毫秒为单位的。

8. 将网页加入收藏夹
◆请使用如下代码:(注意标点符号)
< a href=’#’ onclick=”window.external.addFavorite(’http://qiangwei.126.com’,'【梦想天空】qiangwei.126.com 各种网页工具教程DW、FLASH、FIREWORKS及CGI教学、聊天交友……’)” target=”_top”>将本站加入收藏夹< /a>

9. 如何定义网页的关键字(KeyWords)
◆格式如下:
< meta name=”keywords” content=”dreamweaver,flash,fireworks”>
content中的即为关键字,用逗号隔开
◆在Dreamweaver中用「Insert」-「Head」-KeyWords命令

10. 如何设置命令来关闭打开的窗口
◆在源代码中加入如下代码:
< a href=”/” onclick=”javas cript:window.close(); return false;”>关闭窗口< /a>

11. 如何在网页中加入书签,在页面内任意跳转
◆在源代码中需要插入书签的地方输入,在调用的地方输入Top,其中的top是你设定的书签名字。
◆在Dreamweaver中用菜单的「Insert」-「Name Anchor」命令插入书签,调用时,在Link中输入#top,top为书签名。

12. 如何为不支持框架的浏览器指定内容
◆在源代码中加入下面代码:
< BODY><noframes>本网页有框架结构,请下载新的浏览器观看< /noframes></ BODY>

13. 如何在网页中加入单个或几个空格
◆在源代码中输入 ,每个 之间请用空格分开。
◆在Dreamweaver中用<CTRL>+<SHIFT>+<SPACE>插入空格或任输几个字符,然后将其色彩设成背景的色彩!

14. 如何在网页中加入书签,在多个页面之间任意跳转
◆方法与上面类似,不过做链接时要在书签名前加上网页文件名,如:other.htm#top,这样一来就会跳转到other.htm页面中的top书签处。

15. 如何使表格(TABLE)没有边框线
◆将表格的边框属性:border=”0″

16. 如何隐藏状态栏里出现的LINK信息
◆请使用如下代码:
< a href=”http://qiangwei.126.com”;; onMouseOver=”window.status=’none’;return true”>梦想天空< /a>

17. 如何定时载入另一个网页内容
◆在源代码中的<HEAD>…< /HEAD> 加入如下代码:
< meta http-equiv=”refresh” content=”40;URL=http://qiangwei.126.com”>
40秒后将自动http://qiangwei.126.com所在的网页

18. 如何为网页设置背景音乐
◆代码:< EMBED src=”music.mid” autostart=”true” loop=”2″ width=”80″ height=”30″ >
src:音乐文件的路径及文件名;
autostart:true为音乐文件上传完后自动开始播放,默认为false(否)
loop:true为无限次重播,false为不重播,某一具体值(整数)为重播多少次
volume:取值范围为”0-100″,设置音量,默认为系统本身的音量
starttime:”分:秒”,设置歌曲开始播放的时间,如,starttime=”00:10″,从第10开始播放
endtime: “分:秒”,设置歌曲结束播放的时间
width:控制面板的宽
height:控制面板的高
controls:控制面板的外观
controls=”console/smallconsole/playbutton/pausebutton/stopbutton/volumelever”
console:正常大小的面板
smallconsole:较小的面板
playbutton:显示播放按钮
pausebutton:显示暂停按钮
stopbutton:显示停止按钮
volumelever:显示音量调节按钮
hidden:为true时可以隐藏面板

19. 如何去掉链接的下划线
◆在源代码中的<HEAD>…</HEAD>之间输入如下代码:
<style type=”text/css”> <!–
a { text-decoration: none}
–> < /style>
◆在Dreamweaver中用「Text」-「Custom Style」-「Edit Style Sheet」-「New」-Redefine HTML Tag中选择a,然后在decoration中选中none

20. timeline中的layer走曲线
◆要使得timeline中的layer走曲线,你得先让他走出直线来,然后在最后一frame和第一frame中间的任何一frame上点右键,可以看到有个 add keyframe ,点一下,然后把你的layer移动到你要的位置,dw会自动生成曲线,good luck !

21.内框架<iframe>使用

◆iframe标记的使用格式是: 
<iframe src=”url” width=”x” height=”x” scrolling=”[option]” frameborder=”x”
name=”main”></iframe>
src:文件的路径,既可是html文件,也可以是文本、asp等; width、height:”内部框架”区域的宽与高; 
scrolling:当src的指定的html文件在指定的区域不显不完时,滚动选项,如果设置为no,则不出现滚动条;如为auto:则自动出现滚动条;如为yes,则显示; 
frameborder:区域边框的宽度,为了让“内部框架“与邻近的内容相融合,常设置为0。
name:框架的名字,用来进行识别。
比如: 当你想用父框架控制内部框架时,可以使用: target=”框架的名字”来控制。

例子:<iframe name=”mm” src=”http://www.263.net”; width=”100%” height=”100%” marginwidth=”0″ marginheight=”0″ hspace=”0″ vspace=”0″ frameborder=”0″ scrolling=”no”></iframe>

Posted by Wyulnnhtg at 06:45:14 | Permalink | No Comments »