Web服务器Tomcat配置
01.Tomcat用到的全局变量(Windows平台)
·java_home: Java的JDK主目录
·Catalina_home: Tomcat的主目录
02.Tomcat的目录结构
·bin //存放Tomcat的命令脚本文件
·conf //存放Tomcat服务器的各种配置文件,最主要是server.xml
·lib //存放Tomcat服务器支撑jar包
·logs //存放日志文件
·temp //存放临时文件
·webapps //web应用所在目录,外界访问web资源的存放目录
·work //Tomcat的工作目录
03.Tomcat的web管理界面帐号密码
·方法一:在安装Tomcat时按提示设置帐号密码
·方法二:修改文件conf/tomcat-users.xml,在<tomcat-users>元素中添加帐号密码,需要指定角色.
<tomcat-users>
<user name="admin" password="admin" roles="admin-gui,manager-gui" />
</tomcat-users>
04.web访问端口的配置
可以修改conf目录下的文件server.xml,修改Connector元素(Tomcat的默认端口是8080),需要重新启动Tomcat服务生效.
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
05.web应用和虚拟目录的映射.
可以修改xml配置文件的<Context>元素来设置web应用和虚拟目录的映射.
·conf/server.xml //在<host>元素下添加<Context path="/webdir" docBase="d:\webappdir"/>,需要重新启动Tomcat服务生效,不建议使用.
·conf/context.xml //添加<Context>元素所有web应用有效.
·conf/[enginename]/[hostname]/context.xml.default //主机[hostname]的所有web应用有效.
·conf/[enginename]/[hostname]/ //在目录下任意建一个文件(扩展名xml),文件名即为虚拟目录名.多级目录使用#分割.
//缺省值web应用目录可以定义为ROOT.xml,添加<Context docBase="d:\webappdir"/>,需重新启动Tomcat服务器.
·META-INF/context.xml //
可以将web应用放在webapps目录下让Tomcat服务器自动映射,适用开发环境,实际运用环境中不用自动映射。
06.web应用的目录结构
webapp -- web应用所在目录
|--- html, jsp, css, js文件等 -- 这些文件一般在web应用根目录下,根目录下的文件外界可以直接访问.
|--- WEB-INF 目录 -- java类、jar包、web配置文件存在这个目录下,外界无法直接访问,由web服务器负责调用.
|--- classes 目录 -- java类
|--- lib 目录 -- java类运行所需要的jar包
|--- web.xml 文件 -- web应用的配置文件
07.web应用首页(welcome file)的配置
修改web应用的配置文件: [webapp]/WEB-INF/web.xml
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
08.虚拟主机的配置
指定虚拟主机名,修改conf/server.xml,添加
<host name="www.hostname.com" appBase="c:\webapp">
<Context path="/mail" docBase="c:\webapp\mail"/>
</host>
设置DNS解析(host文件或DNS系统).
09.配置https连接器(ssl加密连接)
https连接需要用到数字证书与数字签名(MD5算法)
网站https连接首先需要申请数字证书,配置加密连接器,浏览器安装证书.
·使用java的工具keytool产生数字证书
keytool -genkey -alias tomcat -keyalg RSA
生成文件.keystore
注意:CN为主机名称,本机可用localhost
·将文件.keystore放到Tomcat服务器的conf目录下
·修改conf/server.xml文件,修改加密连接器,添加keystoreFile与keystorePass
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="conf/.keystore" keystorePass="123456"/>
·浏览器输入https://localhost:8443访问.并安装证书.
10.练习
·(1)在webapps目录下创建一个可供外界访问的web应用.
·(2)在server.xml文件中进行配置,把c:盘下的某个web应用映射成可供外界访问的虚拟目录.
·(3)在Cataline/localhost目录下进行设置,把c:盘下的某个web应用映射成可供外界访问的虚拟目录.
·(4)在server.xml文件中配置一台www.mytest.cn的虚拟主机,并在windows系统中注册www.mytest.cn这台主机.
·(5)在虚拟主机的根目录中创建一个名称为mytest的web应用,把web应用映射成缺省web应用.index.html页面设置为web应用的首页.
·(6)将web服务器端口更改为80端口.
11.练习答案参考.
·(1)在webapps目录下创建一个test目录,在test目录中创建一个a.html文件.
通过浏览器访问http://localhost:8080/test/a.html通过.
·(2)在c:盘下创建一个test2目录,在test2目录中创建一个b.html文件.
修改conf/server.xml文件,在<host>元素下添加<Context path="/b" docBase="c:\test2"/>
重新启动Tomcat,通过浏览器访问http://localhost:8080/b/b.html通过.
·(3)在Cataline/localhost目录下创建c.xml文件,文件中写入<Context docBase="c:\test2"/>.
通过浏览器访问http://localhost:8080/c/b.html通过.
·(4)在c:盘下创建一个mywebbase目录,修改conf/server.xml文件,新建一个<Host>元素
<Host name="www.mytest.cn" appBase="c:\mywebbase"> </Host>
重新启动Tomcat.
修改C:\WINDOWS\system32\drivers\etc\hosts文件,添加一行:
192.168.1.88 www.mytest.cn #192.168.1.88为本地IP地址.
·(5)在c:\mywebbase目录下创建mytest目录,在目录mytest下创建index.html页面文件.
修改conf/server.xml文件,在<host>元素下添加<Context path="" docBase="c:\mywebbase\mytest"/>
在c:\mywebbase\mytest目录下创建WEB-INF目录,并在WEB-INF目录下创建配置文件web.xml,添加以下内容:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
重启Tomcat,通过浏览器访问http://www.mytest.cn:8080/通过.
注意: 把web应用映射成缺省web应用也可以通过以下方法:
·方法一: 将c:\mywebbase目录下的web应用mytest直接改为ROOT.
·方法二: 将web应用mytest创建在其它目录C:\mytest(不是appBase目录c:\mywebbase),
在目录conf\Catalina\www.mytest.cn下新建文件ROOT.xml,文件中写入<Context docBase="C:\mytest"/>.
(如果在appBase目录c:\mywebbase下创建web应用mytest,又做虚拟目录映射,会出现错误:
inside the host appBase has been specified, and will be ignored)
·(6)修改conf/server.xml文件,将Connector的端口port设为80
重新启动Tomcat,通过浏览器访问http://www.mytest.cn通过.