具体操作步骤为:
1、打开控制面板,找到Windows防火墙打开
2、找到高级设置打开
3、找到入站规则下的新建规则
4、跟着新建规则向导,选择端口->TCP->输入特定端口80->允许链接->设置可访问的网络类型(可全选)->输入名称(如HTTP)->完成
JDK:jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe
tomcat: apache-tomcat-6.0.35.exe
我只要这2个软件就可以,都不用创建环境变量什么的,我看过我的环境变量都没有。网络上都是抄来抄去,我这些都是自己实践出来的。
步骤:
1、先装JDK,如装在D:\JDK目录
2、第二再装tomcat,在装tomcat时,会自动找jdk目录,所以我们要先装jdk,不然tomcat就不能安装。还有在装tomcat在安装时会有一项填用户名和密码的,一定要填,不然网络上说默认是admin,密码为空,这样就不安全了。
安装一切都没啥技巧,所以我就简单说就行。
3、关键是下面配置多站点方法,这也是每一个站长所想要的,比如你的程序放在如D盘的webroot目录下的aaa目录即d:\webroot\aaa,另一个站是d:\webroot\bbb目录,有2个站要发布。那我们就要修改tomcat安装目录下的有一个conf目录下的server.xml文件,如果要把默认端口都改成80那就是改3个地方,如下:
(1)修改80端口
<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Documentation at :
Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
Java AJP Connector: /docs/config/ajp.html
APR (HTTP/AJP) Connector: /docs/apr.html
Define a non-SSL HTTP/1.1 Connector on port 8080
-->
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
把那上面port="8080"里面的8080改成80就可以了.
(2)其二
<Engine name="Catalina" defaultHost="localhost">
这个红色部份后面localhost可改可不改,如果不改就可以避免有些人用IP访问,如果改成域名,那就是用IP访问时,就访问那个域名对应的站点。现在才懂的原理跟apache里面的要禁止默认站点开启一样的道理。
(3)其三
<Host name="要绑的域名" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Logger className="org.apache.catalina.logger.FileLogger" directory="D:\webroot\aaa\logs" prefix="aaa_log." suffix=".txt" timestamp="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="D:\webroot\aaa\logs" prefix="aaa_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
<Context path="" docBase="D:\webroot\aaa"></Context>
</Host>
<Host name="要绑的第二个主机的域名" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Logger className="org.apache.catalina.logger.FileLogger" directory="D:\webroot\bbb\logs" prefix="bbb_log." suffix=".txt" timestamp="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="D:\webroot\bbb\logs" prefix="bbb_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
<Context path="" docBase="D:\webroot\bbb"></Context>
</Host>
以上2个主机的目录是d:\webroot\aaa和d:\webroot\bbb这2个目录,对应的程序放在这2个目录下就可以了,还有一个域名改一下就可以,其他都不要改,网络上大多人抄来抄去,有些人说appBase也要改,这个值不要改,还有web.xml也不要改,这3处改好后重启一下tomcat就可以了,它会主动在tomcat的安装目录下的conf\Catalina这个目录会自动生成以你绑定的域名为文件夹,所以这里面的目录不用手工建或创建啥xml文件,它会自动生成,网络上也说这个要建啥,其实都不用,我是研究一天才研究出来的。
以上是最简单的配置jsp的多站点方法。
本文出自 “冰鱼客” 博客
平台上jsp虚拟主机环境的架设——windows2003+iis6+j2sdk1.4.2+resin2.1.16
.abu. at patching.net
今天,我生日,自己记性也不太好,顺手写一篇文章,省得不小心忘了。
我通常在windows上工作,这次要架设jsp虚拟主机运行环境,查看了一下网上所能找到的资料,基本没有能用的,因为我需要的是能够使iis同时既支持.asp又支持.jsp而且又可以做虚拟主机。
互相隔离,且运行在80端口。反正搜索出一堆,参考一下,自己搞吧。
一个一个找,这里面需要很多东西,不要怕麻烦,先准备好:
1、操作系统,我工作的环境是window2003中文版。
2、web服务器,我使用的是系统自带的iis6。
3、java处理平台,这里用的是java 2 sdk,se v1.4.2_06版。
4、jsp/servlets运行平台,我选择的是resin 2.1.16版,因为据说resin比tomcat运行效率高10倍以上,而关于
resin的版本需要注意的是,我听说resin 2.x属于免费版本,而3.x则是收费版本,所以选择resin 2.1.16版。呵呵。
没东西了,开始。
一、安装java 2 sdk
不做java开发,安装一个标准环境就可以了,去java.sun.com,网页右边有快速导航,直接去下载好了,有中文版的。
我的安装文件名是:j2sdk-1_4_2_06-windows-i586-p.exe ,不提供url了,自己找去。
运行安装,出现界面:
然后选择安装路径,全部安装好,自己操作,很简单的。
我装在c:\jdk目录下。
接下来设置环境变量,这一步很重要,别忘了:
java_home = c:\jdk
classpath = c:\jdk\lib\tools.jar;c:\jdk\lib\dt.jar
path 路径里添加 c:\jdk;c:\jdk\bin
二、安装jsp/servlets运行平台,resin
哪里找?下载嘛,去www.caucho.com,上去就找download,下载最新版本就好了。
我用的文件名:resin-2.1.16.zip,解压缩到c:\resin目录
记得立即做好下面这一步,设置resin的环境变量,我总是在这里忘了,最后系统找不到resin在哪里,当然不成功了。
resin_home = c:\resin
接下来我们继续,运行c:\resin\bin\httpd.exe
这时候等待,然后出来了2个窗口,仔细看清楚。需要注意的是,启动resin web 服务器和关闭服务器
都要使用小的这个窗口来操作,不要直接把后面的那个大的窗口给咔嚓掉哦。
这时候,resin服务的终端输出上可以看到,http listening to *:8080
这表明resin自带的web服务已经运行在本机的8080端口上了。
验证一下:
到这里,resin服务器已经架设完毕,如果只自己做测试jsp或者服务器跑这么一个网站的话
完全足够用了。当然,总是访问8080端口也不是很方便,自己可以手工修改一下。
打开c:\resin\conf\resin.ini文件:
查找<http port='8080'/>,这个是修改端口的
修改站点默认目录也有2种改法,现在系统用的是c:\resin\doc下的内容
在配置文件里面只要写相对路径doc就可以了。
也就是<doc-dir>doc</doc-dir>中间的doc这个地方。
看见没有?
是的,另外<http port='8080'/>这里修改端口就可以了。
但是、、、 呵呵,谁让我还不满足呢。
三、将resin挂接进iis
我先把iis6装起来,win2003的好处就是不用的东西平时全都不开,呵呵,真不错。
按步骤进行:
在c盘建立c:\web\jspsite目录。这个就是jsp网站的主目录。
然后在目录下创建一个测试用的test.jsp文件。
输入以下内容:
<html>
<head>
<title>jsp simple example</title>
</head>
<body>
<% out.println("hello, world!"); %>
</body>
</html>
接着,在c盘建立c:\web\dllrun目录。
把c:\resin\libexec目录下的isapi_srun.dll 复制到c:\web\dllrun目录下。
至于为什么要把dll复制过去,原因就是jsp的解析是要通过resin提供的第三方的isapi接口进行的。
平时客户端提交url的时候,只要发现是.jsp,iis将把.jsp丢给iis_srun.dll来执行。
后面这个目录还要再用,继续往下走:
启动iis6.0,首先在web服务扩展里面添加允许.jsp后缀的web服务扩展。
扩展名什么都随意填写,我这里输入jsp。
这是windows2003里面iis6.0增强的安全功能,你可以允许服务器上有哪些服务扩展是允许的,哪些是禁止的。
允许jsp。
为了看得更清楚,我们建立一个新的站点。
打开站点属性,在isapi筛选器里面添加新的筛选器,名称随意,这里输入jsp,
再输入可执行文件,也就是刚才说的resin挂接iis用的isapi过滤器,输入
c:\web\dllrun\isapi_srun.dll
确认后,要注意一点,就是刚刚挂接进去的dll不会立即生效,优先级也显示*未知*
没有关系,不用理会。继续往下走。
下面我们需要做的就是比较重要也很复杂的事情了,也就是修改resin的配置文件。
仔细研究c:\resin\conf\samples下的配置文件的参考,
尤其是要研究iis.conf 和 virtual_host.conf
下面说一下我的计划,我计划是这样,建立一个带主机名的网站,这样来模拟真实服务器
环境中,虚拟主机的情况。
那么我计划建立一个jsp网站,abu.com 指向我的ip 127.0.0.1
而127.0.0.1直接访问,是iis默认的asp网站。
如果这两个都能访问,那么表明,我们的目的已经达到了。
为了能够在本地实现访问abu.com的时候能够解析到127.0.0.1 我修改本机的hosts文件
接下来,我修改c:\resin\conf目录下的配置文件resin.conf
这里非常关键,但其实最重要的就两个地方。
将<doc-dir>注释掉,将resin自带的8080端口运行的服务注释掉<http port='8080'/>
加入<http-server app-dir='c:\resin\doc'> 这里的app-dir是缺省路径,假如resin自带的web
运行的话,缺省就是这个目录。
和下面这里:
仔细看<host>中间的这部分,这是建立虚拟主机的关键,每次增加虚拟主机就需要修改这个部分,
每个站点用<>括起来。
配置文件基本配好了。
下面添加一个resin.ini文件到先前建立的dllrun目录
添加内容
resinconfigserver localhost 6802
cauchostatus yes
意思就是当调用isapi_srun.dll的时候读取相关配置
回到iis里面,将主机头名添加进去。
给虚拟主机用户添加账号。
加入guests组
然后给对应的目录设定权限:
给c:\web\jspsite目录添加刚才用户的权限,注意需要给读写都给。
给c:\web\dllrun目录刚才那个用户的读权限:
在iis6.0里面的应用程序池中间添加一个新的池
名字叫jspapppool,然后给这个池 应用程序池标识给予system权限。
其实这里可以给更低一点的权限的,有心的朋友可以自己研究一下。
把jsp的网站加入到这个池中方便集中管理。
在jsp的网站上添加一个虚拟目录,目录名为scripts,并且给予可执行的权限。
最后别忘了给这个网站的运行权限设定为刚才的jsp_user用户。
重启resin,重启iis。
检查resin有没有挂接进iis的办法就是看isapi筛选器
如果状态是绿色箭头,表示已经被系统挂接成功。
然后浏览abu.com访问test.jsp文件
而asp网站也同时可以运行
搞定收工。