Tomcat从0到1(一入门)

Tomcat是源自Apache软件基金会(Apache Software Foundation,http://tomcat.apache.org)的Java Serverlet容器(Container),也称Web应用服务器。web请求有静态和动态之分,当用户请求静态资源时,web服务器直接将静态资源响应给用户,无需做额外处理;当用户请求动态资源,如显示当前登录用户的个人资料,所展示的结果必须从站点服务器中的数据库服务器中查询出对应用户的信息(这里只是简单的介绍了一下静态网站和动态网站的区别,如果此前没有接触过的同学,需要好好的先去补充一下知识哦,毕竟这是更好的理解tomcat的必备基础知识)。Tomcat所擅长的就是处理动态内容,并且它是开源的,我们可以自由获取、自由学习。

一、Tomcat的安装

简单的理解了Tomcat,就可以下载对应平台的版本进行安装配置了,官方提供了通用二进制版本和源码版本,通用二进制版本只需简单的做下配置即可直接使用,而源码版本需进行源码编译,一般来说,如果我们不去定制额外的功能的话,都会选择通用二进制版本,而如果通用二进制版本的功能不满足我们的需求,我们才会选择源码编译,定制编译选项以适合我们实际需求。

在Linux平台下,以通用二进制版本apache-tomcat-6.0.43.tar.gz为例,

Tomcat的安装大致为以下步骤:

安装配置JDK;

配置Tomcat运行所需的环境变量;

1、安装配置JDK

# rpm -ivh jdk-7u75-linux-x64.rpm

默认jdk安装目录为: /usr/java/jdk1.7.0_75

配置环境变量并测试是否配置成功

# vim /etc/profile.d/java.sh

export JAVA_HOME=/usr/java/jdk1.7.0_75

export PATH=$PATH:$JAVA_HOME/bin

# source /etc/profile.d/java.sh

# java -version

当正确的显示了JDK版本以后,证明你已经成功配置了JDK。

2、配置Tomcat运行所需的环境变量

解压tomcat并配置环境变量

# tar xf apache-tomcat-6.0.43.tar.gz -C /usr/local

# cd /usr/local/apache-tomcat-6.0.43

# pwd

/usr/local/apache-tomcat-6.0.43

# vim /etc/profile.d/tomcat.sh

export CATALINA_HOME=/usr/local/apache-tomcat-6.0.43

# source /etc/profile.d/tomcat.sh

启动tomcat

# cd bin

# ./catalina.sh run

启动成功以后,可以通过浏览器测试是否成功启动tomcat

当看到这只"猫虎",就表示安装和启动成功了。

二、Tomcat的启动、关闭和自动启动

1、启动有如下方式:

1)# ./startup.sh

2)# ./catalina.sh start

3)# ./catalina.sh run

第三种方式的好处是,启动tomcat,并在当前控制台上显示启动信息,方便我们进行启动错误信息查看

2、关闭

1)# ./shutdown.sh

2)# ./catalina.sh stop

3、自动启动

很多时候,我们希望可以开机就能自动启动tomcat,因此可以使用服务脚本,来实现开机自动启动

以下为简单的tomcat启动和关闭的服务脚本

# vim /etc/rc.d/init.d/tomcat

#/bin/bash

#

# chkconfig: 2345 96 14

# description: Apache tomcat‘s init script

#

export JAVA_HOME=/usr/java/jdk1.7.0_75

export CATALINA_HOME=/usr/local/apache-tomcat-6.0.43

exec $CATALINA_HOME/bin/catalina.sh $*

给服务脚本执行权限

# chmod +x /etc/rc.d/init.d/tomcat

添加服务脚本到开机自动启动

# chkconfig --add tomcat

# chkconfig --list tomcat

接下来,就可以使用如下命令便捷的启动和关闭tomcat了

# service tomcat start

# service tomcat stop

三、配置Tomcat

配置Tomcat大体有以下几项配置:

修改默认端口;

JVM配置;

管理领域(Realm)、角色和用户;

控制会话;

访问JNDI和JDBC资源;

Servlet自动重载;

定制用户目录;

公共网管接口(CGI);

1、修改默认端口

默认tomcat的端口为8080,如果需要修改默认端口,有以下方式可以进行修改:

1)修改Connector的配置,在server.xml配置文件中修改

# cd /usr/local/apache-tomcat-6.0.43

# vim conf/server.xml

将<Connector port="8080" ... 中的8080 修改为 80 即可

2)当登录用户不是root时,就不具备在端口80上启动服务器的权限,可以通过iptables的端口映射来实现端口从8080到80的端口映射

# iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080

# iptables -t nat -I OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 8080

2、JVM配置

Tomcat运行起来,其实就是一个JVM实例,我们经常要设置JVM的堆栈大小,来适应我们实际生产环境的需求,大小的设置没有唯一的标准,根据实际的生产环境需求,经过反复的、不断测试而定

在上文提到的tomcat服务脚本中添加JAVA_OPTS环境变量,即可实现tomcat的JVM设置

# vim /etc/rc.d/init.d/tomcat

#/bin/bash

#

# chkconfig: 2345 96 14

# description: Apache tomcat‘s init script

#

export JAVA_HOME=/usr/java/jdk1.7.0_75

export CATALINA_HOME=/usr/local/apache-tomcat-6.0.43

export JAVA_OPTS="-Xmx512M -Xms512M"

exec $CATALINA_HOME/bin/catalina.sh $*

# ps aux | grep catalina

查看启动tomcat的参数-Xms -Xmx 是否为你修改的值

3、管理领域(Realm)、角色和用户

通过管理领域(Realm)、角色和用户,从而实现对tomcat的远程管理

对tomcat的远程管理大致可分为/manager, /host-manager, /status三种管理,

这三种管理的web接口,默认tomcat都自带了,但默认需要设置对应的角色和用户才能使用

管理领域:tomcat有多种Realm,这里主要以UserDatabaseRealm为例,

UserDatabaseRealm是从静态文件tomcat-user.xml中加载到内存的,因此如果修改它,需要重启tomcat服务以便修改的配置生效

1)/manager需要manager-gui角色才能使用

/manager可以实现远程部署web应用,管理web应用

# cd /usr/local/apache-tomcat-6.0.43

# cd conf

# cp tomcat-users.xml tomcat-users.xml.bak

在tomcat-users.xml中添加如下两行

<role rolename="manager-gui"/>

<user username="tomcat" password="tomcat" roles="manager-gui"/>

重启服务器,在浏览器中输入http://localhost:8080/manager/html进行测试

可以看到此时tomcat服务器上部署的webapp列表。

2)/status需要manager-gui角色才能使用

/status可以实现远程查看tomcat的服务器状态,如JVM使用情况

在浏览器中输入http://localhost:8080/manager/status 进行测试

3)/host-manager需要admin-gui角色才能使用

/host-manager可以实现临时测试虚拟机的作用,因此所修改的所有配置,在重启tomcat以后都将失效,如果是临时需要进行虚拟主机的测试,可以使用/host-manager,非常方便。

4、Servlet自动重载

默认情况下,当tomcat发现server文件修改,会自动重载,在调试时,很方便,但是为了实现此功能,tomcat必须周期新的检查每个Server文件的修改,势必会消耗服务器的资源。因此如果需要关闭此功能,只需要在web应用程序中的Context元素(在web.xml中)中设置reload-able属性,并重启服务器即可。

一旦关闭自动重载功能,如果需要重新加载servlet类,可以通过/manager来加载web应用,只需要reload一下,即重新加载了所有的Servlet类。

至此,基本的tomcat使用以及配置就高一段落,tomcat的配置,在这里只介绍了其中的几点,如果有兴趣研究其他的配置,或者更系统的学习tomcat,推荐去阅读<<Tomcat权威指南>>,O‘Relly系列的书籍写得都非常好,相信当你接触到它以后,会渐渐喜欢上它...,祝愿所有有志者,事竟成!

时间: 2024-08-04 08:34:55

Tomcat从0到1(一入门)的相关文章

Server Tomcat v6.0 at localhost was unable to start within 45 seconds

在eclipse里启动tomcat的时候出现以下的错误: Server Tomcat v6.0 at localhost was unable to start within 45 seconds. If the server requires more time, try increasing the timeout in the server editor.在servers view里,双击server,会打开该server的设置窗口,在右上部有Timeouts的设置部分,设置timeout

Server Tomcat v8.0 Server at localhost was unable to start within 45 seconds

用SSM搭建的项目,部署时出现了以下错误 Server Tomcat v8.0 Server at localhost was unable to start within 45 seconds. If the server requires more time, try increasing the timeout in the server editor. 启动时间设置得太短,导致无法正常启动. 我使用的是MyEclipse2015,直接通过页面进行修改 也可以通过修改配置文件的方式解决:

Target runtime Apache Tomcat v6.0 is not defined. phyy Unknown Faceted Project Problem

Description Resource Path Location TypeTarget runtime Apache Tomcat v6.0 is not defined. phyy Unknown Faceted Project Problem 找到工程.settings目录 修改注释部分即可 <?xml version="1.0" encoding="UTF-8"?> <faceted-project> <!-- <run

构建Apache Tomcat 6.0 Servlet/JSP 容器

构建Apache Tomcat 6.0 Servlet/JSP 容器 这个子项目包含了Tomcat 6.0的源代码,一个实现了Java Community Process http://www.jcp.org/ 的Servlet2.5和JSP2.1标准的容器. 注意:如果你只需要运行Tomcat,没有必要去构建它,你可以非常方便的下载一个二进制发布包.它是跨平台的.阅读RUNNING.txt文件,它介绍了怎样去运行它. 请按以下步骤来从源代码构建一个Tomcat的二进制发布版本: 下载并安装JD

Server Tomcat v7.0 Server at localhost was unable

错误:Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds 错误提示就是我们限定了部署的时间导致的错误. 修改 workspace\.metadata\.plugins\org.eclipse.wst.server.core\servers.xml文件. 把其中的start-timeout="45" 改为  start-timeout="100" 或者更长,根据不同同

Could not load the Tomcat server configuration at /Servers/Tomcat v7.0 Server at

最近装了一个Ubuntu系统 在配置tomcat的时候总是出现这样的问题 Could not load the Tomcat server configuration at /Servers/Tomcat v7.0 Server at localhost-config. The configuration may be corrupt or incomplete. 我首先配置的是tomcat-7.0.27,我以为这不行.后来换成tomcat6.0结果还是报同样的错误 最后导致2个都添加不进去了如

Tomcat 7.0 64位免安装解压版 安装及配置

Tomcat 7.0 win7 64位免安装解压版 安装及配置 Tomcat 推荐官方下载,地址如下 http://tomcat.apache.org/download-70.cgi 或者可在我的CSDN论坛下载,地址为: http://download.csdn.net/detail/shangguanyunlan/9273785 我下载的是apache-tomcat-7.0.65 最新的已经到8了,自己选择合适的版本即可. 下载解压到任意盘符,自己决定,我是下载到D盘的. 环境变量配置:Ja

tomcat -6.0.35- 安装与配置

本文介绍tomcat 6.0.35的安装与配置,好了废话不多说,下面开始 运行环境:redhat-6.5-64bit 虚拟机:vbox 5.1 1.安装软件下载地址下载6.0.35版本: http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.35/bin/ 2.上传至服务器并解压 tar -xvf apache-tomcat-6.0.35.tar.gz 3.使用命令 java  -version 检查java版本.如果没有就通过yum安装一下 一

Tomcat 9.0安装配置

本文转自:http://blog.sina.com.cn/s/blog_15126e2170102w5o8.html 一.JDK的安装与配置 1.从官网下载jdk,注意是jdk不是jre.最好从官网下载,也可以直接度娘. 2.下载完毕后,安装jdk,?直接按照安装向导的提示安装即可,安装时可以自己选择安装路径,我的安装路径是C:\Program Files\Java\jdk1.8.0_31 3.配置环境变量:右击计算机—属性—高级系统设置—环境变量,如图 ?在“系统变量”中,设置3项属性,JAV