Tomcat与IIS整合手记

 

安装配置 IIS6 Tomcat6

 

一、装好 Window2003Server+SP2 IIS6 ,将首页文档改为 index.asp 。将下列内容插入 index.asp 中:

 

<center><h1> 现在的时间是: <%=time%></h1></center>

 

如果是本机,则在浏览器中打入 http://localhost 。如果配置正确,浏览器应该显示当前时间。

由于 asp 的配置网上很多,这里不再赘述。

二、安装 Java JDK ,一路默认安装即可。本文安装目录为: E:\Program Files\Java\jdk1.6.0_11

三、设置环境变量:我的电脑 --> 属性 --> 高级 --> 环境变量:

       添加: java_home   内容: E:\Program Files\Java\jdk1.6.0_11

添加: tomcat_home    内容: D:\Tomcat6

修改或添加: classpath     内容: .;%java_home%\lib\tools.jar;%java_home%\lib\dt.jar

修改: Path    在最后面添加内容: ;%java_home%\bin

四、安装 Apache Tomcat 6.0.18 ,本文安装目录为 d:\Tomcat6 (没有空格)目录下。可以考虑“全部安装”。安装完毕后,启动 Tomcat 。这时电脑右下角应有 Tomcat 正在运行的标志 。如果没有或 Tomcat 未启动,则重新启动服务器。重启后,电脑右下角应有 Tomcat 正在运行的标志。如果仍不正常,请重装 Tomcat

五、 Tomcat 运行后,在浏览器中打入 http://localhost:8080 ,回车后应出现 Tomcat 的默认页面。点击左边的“ Examples ”,看看示例能否正常运行。如果能,则 Tomcat 基本配置完毕。

六、在 D:\vm\jsp 目录下新建一个 jsp 文件: index.jsp ,内容如下:

 

<center>index.jsp: 现在时间是 : <%=new java.util.Date()%></center>

 

七、为 Tomcat 配置站点。先用“写字板”或“ FrontPage ”等文本编辑软件将 D:\Tomcat6\conf 目录下的 server.xml 文件打开,再保存一下,这样以后用“记事本”打开就没有乱码了。编辑 server.xml ,在 </engine> 前加入以下代码:

 

<Host name="test1.com"  appBase="D:\vm\jsp"

            unpackWARs="true" autoDeploy="true"

            xmlValidation="false" xmlNamespaceAware="false">

       <Alias>test1.com</Alias>

       <Context path="" reloadable="true" docBase="D:\vm\jsp" />

</Host>

 

其中: test1.com 是域名,通过修改客户机上的 C:\WINDOWS\system32\drivers\etc 目录下的 hosts 文件,可以访问 test1.com 。用记事本打开 hosts 文件,在最下方添加:

192.168.0.111   test1.com

保存并关闭。其中: 192.168.0.111 就是服务器的 IP 地址,请根据实际情况修改。如果是服务器和客户机是一台电脑,则改为 127.0.0.1 。这样在访问 test1.com 时实际访问的就是您的服务器。

此时,在浏览器上打 http://test1.com:8080 回车后,应出现 JSP 的当前时间。

八、回到 IIS 管理器,建立一个网站,主机头为 test1.com ,目录为 D:\vm\jsp ,保存。首页文档为 index.htm

九、在 D:\vm\jsp 目录下新建一个 htm 文件: index.htm ,内容如下:

 

<center> 这是 IIS index.htm 文件! </center>

 

十、此时,在浏览器上打 http://test1.com 回车后,应出现“这是 IIS index.htm 文件!”。

到此, IIS Tomcat 分别配置成功!

 

IIS6 Tomcat6 整合

 

一、 将“连接器”文件 isapi_redirector2.dll 复制到 d:\Tomcat6\bin\win32 目录下( win32 目录要新建)。

二、在 d:\Tomcat6\conf 目录新建两个文件: jk2.properties workers2.properties

 

jk2.properties 的内容如下

## THIS FILE MAY BE OVERRIDEN AT RUNTIME. MAKE SURE TOMCAT IS STOPED

## WHEN YOU EDIT THE FILE.

 

## COMMENTS WILL BE _LOST_

 

## DOCUMENTATION OF THE FORMAT IN JkMain javadoc.

 

# Set the desired handler list

# handler.list=apr,request,channelJni

#

# Override the default port for the socketChannel

# channelSocket.port=8019

# Default:

# channelUnix.file=${jkHome}/work/jk2.socket

# Just to check if the the config  is working

# shm.file=${jkHome}/work/jk2.shm

 

# In order to enable jni use any channelJni directive

# channelJni.disabled = 0

# And one of the following directives:

 

# apr.jniModeSo=/opt/apache2/modules/mod_jk2.so

 

# If set to inprocess the mod_jk2 will Register natives itself

# This will enable the starting of the Tomcat from mod_jk2

# apr.jniModeSo=inprocess

 

(好像几乎全是注释掉的)

 

workers2.properties 的内容如下

[shm:]

info=Shared memory file. Required for multiprocess servers

file=d:\Tomcat\work\jk2.shm

size=1000000

 

[channel.socket:localhost:8009]

info=Ajp13 worker, connects to tomcat instance using AJP 1.3 protocol

tomcatId=localhost:8009

 

[uri:/]

[uri:/*.jsp] 

[uri:!/*.asp]

 

( 注意要给 d:\Tomcat\work\ 目录 everyone 写的权限 )

其中: [uri:/] 代表根路径的首页文件归 Tomcat 处理; [uri:/*.jsp] 代表 jsp 文件归 Tomcat 处理; [uri:!/*.jsp] 代表 asp 文件 Tomcat 处理;其余文件归 IIS 处理。

 

三、创建一个注册文件 jk2.reg ,内容如下:

 

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\2.0]

“workersFile”=”D:\\Tomcat6\\conf\\workers2.properties”

“extensionUri”=”/akarta/isapi_redirector2.dll”

“logLevel”=”debug”

“serverRoot”=”D:\\Tomcat6”

 

保存后双击运行这个文件,导入注册表中。

 

四、设置 IIS 网站的 IsApi 筛选器:

指向文件 D:\Tomcat6\bin\win32\isapi_redirector2.dll

确定后是下面这样:

五、在 IIS 中创建虚拟目录 jakarta jakarta 是一个规定的名字,必须这么创建,这个虚拟目录要指向 isapi_redirector2.dll 所在的目录,并且设置为可执行 IsApi

六、在 IIS 的服务器扩展中添加允许 isapi_redirector2.dll 执行

重启 IIS Tomcat

 

 

 

访问一下 http://test1.com ,这时先看看 IIS 默认网站的 IsApi tomcat 是否为绿色。如果不是,砸烂电脑。

可以看到 jk2.shm 已经被创建了,如果有问题在事件查看器中可以看到筛选器的错误说明

绿色后就可以通过 IIS 访问 Tomcat 了,包括 Tomcat 的虚拟路径也可以。

IIS      http://test1.com/

tomcat   http://test1.com/

 

七、 workers2.properties 中的设置

这个文件中 [uri:/*] 之类的设置会告诉筛选器符合哪些条件的路径交给 tomcat 处理,像 [uri:/*] 会使筛选器把所有的地址都交给 tomcat 处理,这样 IIS 中原来 ASP 的处理便全部都不能用了。

也可以指定某些地址才转向 Tomcat ,像

[uri:/]

[uri:/*.jsp]

[uri:/admin/*]

[uri:/jsp-examples/*]

[uri:!/*.asp]( 注意“!”号 )

表示 /*.jsp  /admin/*  /jsp-examples/* 才转向 tomcat ,其他不符合这些条件的仍由 IIS 本身处理。

[uri:!/*.asp]( 注意“!”号 ) 表示 *.asp 的文件不交给 Tomcat 处理。

[uri:/] 表示根目录的默认文件归 Tomcat 处理,这样可以直接打开 index.jsp 这个文件。

八、让 IIS Tomcat 支持中文文件名:

IIS :编辑 Windows2003 的注册表(要重新启动才能生效):

HKLM\System\CurrentControlSet\Services\InetInfo\Parameters\FavorDBCS = 0

 

Tomcat

1> jsp 文件最开头加入下面这行(这里是解决中文不能显示的问题):

<%@ page language="java" contentType="text/html; charset=UTF-8" %>

 

 

2> 然后改 tomcat server.xml 文件(这里是解决含有中文的文件、图片的不能下载、显示的问题):

<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups="false" redirectPort="8443" acceptCount="100"

debug="0" connectionTimeout="20000"

disableUploadTimeout="true" URIEncoding="UTF-8" />

 

URIEncoding="UTF-8" 加上这句就可以识别中文文件了,也就是不光可以在 jsp 中显示中文,还可以下载显示。

 

九、总结:

       1 )调好 IIS

       2 )安装 JDK1.6 ,默认安装即可;

       3 )安装 Tomcat6 ,安装目录选 D:\TOMCAT6 (不要有空格);

       4 )设置服务器的环境变量;

       5 )重启计算机后,设置 Tomcat6 conf 下的 server.xml 文件,设置虚拟主机,使 IIS Tomcat 用同一路径;

       6 )测试 IIS Tomcat 8080 端口)

       7 )注册文件

8 )在 d:\Tomcat6\conf 目录下创建 jk2.properties workers2.properties

9 IIS 建立 web 服务扩展

10 IIS 网站建立 ISAPI 筛选器

11 IIS 网站建立 jakarta 虚拟目录,指向 D:\TOMCAT\bin\win32 ,权限为可执行

12 )测试整合结果

13 )处理中文显示和中文文件名识别的问题。

14 )注意 D:\TOMCAT 目录要 everyone 可读取; D:\TOMCAT\work 目录要 everyone 可写。

15 )如果您是做虚拟主机的,要求客户在你指定的绝对目录下编译,负责你按照他编译的目录设置你的服务器,否则数据库将无法被支持。

16 )经过上述设置如果还不行,砸毁你的电脑。

 

 

 

 

 

 

 

php 教程 :IIS 6 PHP 最佳配置方法

[ 日期: 2009-06-07 ]

来源:   作者:

 

php 教程 :IIS 6 PHP 最佳配置方法

虽然 LAMP 组合很不错,但是如果想要架设一台同时支持 PHP ASP ASP.NET JSP Perl Web 虚拟主机服务器,还是用 Windows 2003 IIS 6 最好。网上有很多介绍在 IIS 6 上配置 PHP 的文章,但是那些方法不是性能不好,就是升级麻烦。

下面的方法可以让你在第一次配置好后,能够非常方便的进行升级。

这里所说的升级,是指从某个 php4 版本升级到另一个 php4 版本,或者从某个 php5 版本升级到另一个 php5 版本,而不是指从 php4 升级到 php5

准备:

1 、一台安装好的 Windows 2003 服务器,并且已经安装了 IIS 6

2 、下载 windows 版的 PHP 二进制压缩包

安装:

解压缩 PHP 二进制压缩包到 C:\php 目录下(这里假设 C: 盘是系统盘,即安装了 Windows 系统的盘,如果系统盘是 D: 盘,则解压缩到 D:\php 目录下,以此类推,下同)。

然后打开 我的电脑 ”->“ 属性 ”->“ 高级 ”->“ 环境变量 ”->“ 系统变量 ”->“path” ,编辑其值,在前面增加下面的路径地址:

C:\php;C:\php\dlls;C:\php\extensions;C:\php\sapi;

php.ini-dist php.ini-recommended 复制到 C:\Windows 目录下,并改名为 php.ini ,一般正式发布网站的服务器用 php.ini-dist ,而作为调试用的服务器用 php.ini-recommended 更好。当然一般情况下,这个 php.ini 还是需要根据实际情况来修改的。

下面来介绍一下几个必要的修改选项:

extension_dir = "C:\php\extensions"

这个是 PHP 扩展所放置的目录,请确保跟你实际安装的目录相同。

extension=php_mbstring.dll
;extension=php_big_int.dll
extension=php_bz2.dll
extension=php_cpdf.dll
extension=php_crack.dll
extension=php_curl.dll
extension=php_db.dll
extension=php_dba.dll
extension=php_dbase.dll
extension=php_dbx.dll
extension=php_domxml.dll
;extension=php_exif.dll
;extension=php_fdf.dll
;extension=php_filepro.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_hyperwave.dll
extension=php_iconv.dll
;extension=php_ifx.dll
;extension=php_iisfunc.dll
extension=php_imap.dll
;extension=php_interbase.dll
extension=php_java.dll
extension=php_ldap.dll
;extension=php_mcrypt.dll
extension=php_mhash.dll
extension=php_mime_magic.dll
extension=php_ming.dll
extension=php_mssql.dll
extension=php_msql.dll
;extension=php_oci8.dll
extension=php_openssl.dll
;extension=php_oracle.dll
extension=php_pdf.dll
extension=php_pgsql.dll
;extension=php_printer.dll
extension=php_shmop.dll
;extension=php_snmp.dll
extension=php_sockets.dll
;extension=php_sybase_ct.dll
extension=php_w32api.dll
extension=php_xmlrpc.dll
extension=php_xslt.dll
extension=php_yaz.dll
extension=php_zip.dll

上面这些,开头没有加分号的是打开的扩展,加了分号的是没有打开的扩展。上面的设置包含了在 Windows 2003 上默认安装情况下可以打开所有扩展(这里列出的是 php 4 的)。

session.save_path = b:\sessions

这个是 session 文件默认保存的目录,这个目录必须是一个存在的目录,不然默认的 session 功能会无效。我这里设置的是一个 ramdisk 上的一个目录。将 session.save_path 设置在 ramdisk 上可以加快 session 处理的速度。如果你没有安装 ramdisk ,你可以把它指定到其他盘的任何一个目录下,如 C:\sessions 目录、 C:\Windows\Temp 目录等。

OK ,基本工作作完了,现在该配置 IIS 了。

打开 “ Internet 信息服务 (IIS) 管理器 ,在 “ Web 服务扩展 里,选择 添加一个新的 Web 服务扩展 ,扩展名可填写 “PHP ISAPI 扩展 ,要求的文件选择: C:\php\sapi\php4isapi.dll (如果安装的是 PHP5 ,则此处是 C:\php\sapi\php5isapi.dll ,下同),并设置扩展状态为允许。

打开 网站 ”->“ 属性 ”->“ISAPI 筛选器 ”->“ 添加 ,筛选器名称可填写 “PHP” ,可执行文件仍然选择 C:\php\sapi\php4isapi.dll

打开 网站 ”->“ 属性 ”->“ 主目录 ”->“ 应用程序设置 ”->“ 配置 ”->“ 应用程序扩展 ”->“ 添加 ,可执行文件还是选择 C:\php\sapi\php4isapi.dll 。扩展名填写 “.php” ,动作限制为 “HEAD,GET,POST”

打开 网站 ”->“ 属性 ”->“ 文档 ”->“ 启用默认内容文档 ”->“ 添加 ,可以将 index.php 添加为默认内容文档。

然后选择 服务器机器名 ”->“ 所有任务 ”->“ 重新启动 IIS” 来重启 IIS

测试

在默认网站发布目录下,建立一个测试页面:

下载: phptest.php

<?php
    phpinfo();
?>

如果打开这个页面能够看到 php 安装配置信息,就算是安装成功了。

如果想要更优化的执行 php 程序,可以安装 ZendOptimizer-2.6.0-Windows-i386.exe ,这个东西安装非常简单,这里就不介绍了。

升级

现在升级就非常简单了。只需要将新版本的 PHP 二进制压缩包下载下来,将原来的 C:\php 目录删除,将新版本解压缩到 C:\php 目录中,然后重新启动一下 IIS 就可以了。不需要修改任何配置,也不需要往 System32 目录中复制任何文件。是不是很方便啊?

 

 

 

 

同时支持 Perl PHP ASP JSP 语言的 Web 服务器

时间 :2009-05-26 09:48:00   来源 : 网翼教程网    作者 :   【背景色 杏仁黄秋叶褐胭脂红芥末绿天蓝雪青灰银河白

PerlPHPASPJSP 是当前四种最流行的网站设计语言,常言道鱼与熊掌皆我所欲,两者不可兼得,那么有没有一种方法,可以做到鱼与熊掌兼得,同时支持这四种语言的Web 服务器呢,今天我就介绍一下基于Windows Server 2003 的同时在一个80 端口支持这四种语言的方法。

    我们的策略是:安装三个Web 服务器,Apache 负责支持perlphpIIS 负责支持aspTomcat 负责支持jsp ,通过Apacheproxy_module 将三个服务器集成到一个80 端口。

    安装的方法是,先安装IISApacheTomcat ,配置Apache 使用80 端口,Tomcat 使用8080 端口,IIS 使用8081 端口。

    接着在Apache 中修改httpd.conf 文件,启用proxy_moduleproxy_http_module ,修改的内容是:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

    然后在Apachehttpd.conf 文件中增加如下几行:

ProxyPass /php !
ProxyPass /asp/ http://localhost:8081/
ProxyPassReverse /asp/ http://localhost:8081/
ProxyPass /jsp/ http://localhost:8080/
ProxyPassReverse /jsp/ http://localhost:8080/

    然后在<Directory> 中设置各个服务所在网站的目录权限,这样php 目录即可跑apache ,支持phpperl ,而asp 目录则跑IISjsp 目录跑Tomcat ,全部都可共享80 端口,一个端口同时支持PerlPHPASPJSP 四种语言,兼容性很好,性能也不错。

    另外,将上述命令放在<VirtualHost> 中,可以实现不同的虚拟主机使用不同的Web 服务器,同一个端口同样可以跑多个Web Server ,这对于那些出售虚拟主机的人来说很有用,如果你想在一台Windows 服务器上配置不同的Web 服务的话也可以尝试一下。

    以上配置在 Windows Server 2003 Apache 2.2.6 Tomcat 6.0.16 IIS 6.0 的环境下调试通过,运行正常。

你可能感兴趣的:(tomcat)