您的位置:首页 > 运维架构 > Tomcat

Tomcat配置总结

2013-08-25 15:05 106 查看
tomcat服务器
tomcat 是apache jarkata 项目的一个子项目.针对不同平台有不同版本.exe 和 zip 是针对window平台, tar.gz就是针对linux平台.
tomcat服务器启动时一些问题.
a) java_home环境变量没有设置:
指向的是 jdk的安装目录.如:C:\Program Files\Java\jdk1.6.0_31 , 千万不要指向 bin目录. 配置环境变量时java_home中间不能是-, 指向的jdk的目录不能够再最后加 ;
b) tomcat 端口被占用:
tomcat启动时默认的是占用 8080 端口.如果8080 端口已经被其他的应用程序占用那么tomcat就启动不了了.解决办法:
1. cmd 进入 dos 命令行. netstat -ano 可以查看到 所有的进程 运行在哪个端口上然后找到占用了8080 端口的程序.

2. 进入到windows的 任务管理器, 找到 pid (第二个选项卡-进程- 勾选pid这个显示框.)然后就可以看到所有的进程pid了.
3. 结束占用了8080 端口的应用程序.
直接启动tomcat.进入到 conf/server.xml , 将 connector 元素中的port 属性 更改为 80 端口,然后重启就将tomcat启动的时候的端口更改为 80 了
c) 如果把tomcat启动时的端口 改成80 之后可能 重启服务器又启动不了了, 怎么办?
重复 b) 操作,找到 占用80 端口的应用程序, 然后把它关掉.
如果 b)操作不好使,那么可能就是windows的IIS 占用了80 端口(系统级的服务.关不掉)可以进到windows的服务列表中将其关掉.
d) catalina_home环境变量: 用来指明tomcat 服务器 安装的目录. 但是呢, 一般都不会配置该环境变量.因为配置正确了没有关系.但是一旦配置错误,那么tomcat就启动不了了.配置Catalina_home指向Tomcat安装目录如:D:\Program Files\tomcat\apache-tomcat-7.0.42
(后面没有\或;);配置path为%Catalina_home%\bin;
tomcat服务器与Servlet版本的对应关系
Tomcat版本 Servlet/JSP版本 JavaEE版本 运行环境
4.1 2.3/1.2 1.3 JDK1.3
5.0 2.4/2.0 1.4 JDK1.4
5.5/6.0 2.5/2.1 5.0 JDK5.0
7.0 3.0/2.2 6.0 JDK6.0

tomcat的目录组织结构
tomcat
-bin 存放命令
-conf 存放tomcat启动的配置信息
-lib tomcat运行时一些依赖的jar包
-log tomcat运行的日志文件夹
-temp 运行时临时文件夹
-webapps web应用存放的目录
-work 工作目录, jsp 被翻译成的servlet就放在这个目录.

虚拟目录映射的三种方式
a) 方式一:
在conf/server.xml中,在其host元素下配置一个 Context 元素.<Context path="/itheima" docBase="d:\mail"/> 配置好了之后,由于改动了server.xml,所以呢需要重新启动 tomcat 服务器.
b) 方式二:
进到 D:\tomcat\apache-tomcat-7.0.40\conf\Catalina\localhost 目录下.
然后建一个xml文件. aa.xml
然后在xml 中写 :
<?xml version="1.0"?>
<Context docBase="d:\mail"/>
紧接着就可以访问了:
http://localhost/aa/1.html
这种方式的好处是, 配置完成后不需要重启服务器.
c)方式三: (**********重要)
直接将 开发好的web应用 放到 webapps目录下就可以了, tomcat 服务器会自动 管理 web应用.
web应用的对外访问路径也就是 文件夹的名称.
直接访问: http://localhost/mail/1.html
================如何将自己的web应用弄成缺省的呢? ===========
两种方式:
方式一: 直接在 server.xml中 的host元素里 配置 :
<Context path="" docBase="d:\mail"/>
这里不配置对外访问路径就表示把自己的web应用弄成缺省的了.
方式二: 在D:\tomcat\apache-tomcat-7.0.40\conf\Catalina\localhost .
建一个 ROOT.xml文件 那么也可以弄成缺省的。
如果是多级访问 目录, 可以 建一个 foo#bar.xml
=====================如何给自己的web应用配置一个欢迎页面呢?=====================
在自己的web应用文件夹下 建一个 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>1.html</welcome-file>
</welcome-file-list>
</web-app>
访问 tomcat 刚刚配置好的欢迎页面. 需要重启服务器 http://localhost/
war包的制作与tomcat Manager的使用
war包的制作:
方式一: 使用rar压缩 工具 , 将web 应用压缩成一个zip 包, 然后 更改扩展名为.war
方式二: 进入dos 命令行. 然后使用jar命令, 首先将web应用打成一个jar包.
jar cvf news.jar news
生成了一个jar包,但是要改成 扩展名为.war
tomcat manager 的使用:
打开conf/tomcat-users.xml ,然后添加 , 还要重启服务器.
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="tomcat" password="123" roles="admin-gui,manager-gui"/>
配置虚拟主机

a)进入到 C:\Windows\System32\drivers\etc ,

b) 打开 hosts文件,在末尾添加 :

192.168.1.100 www.google.com

192.168.1.100 www.sina.com

c)在 server.xml中添加一个host元素.

<Host name="www.google.com" appBase="d:\google">

<Context path="/mail" docBase="d:\google\mail"/>

<Context path="/news" docBase="d:\google\news"/>

</Host>

<Host name="www.sina.com" appBase="d:\sina">

<Context path="/mail" docBase="d:\sina\mail"/>

<Context path="/news" docBase="d:\sina\news"/>

</Host>

d)重启服务器,然后访问:

http://www.google.com/mail/1.html

================================如何配置缺省的虚拟主机呢? ========================

<Engine name="Catalina" defaultHost="www.sina.com">
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: