1、首先是Tomcat的获取
获取当然得上Apache的官方网站下载,开源免费,而且带宽也足够。下载会很快。
这是两种不同的下载,一个是普通.exe安装版本,一个是.zip解压安装版本。使用起来是一样的,只是在普通安装版本中有一些界面可提供对Tomcat的快捷设置,而且普通安装会将Tomcat作为系统服务进行注册。
2、Tomcat的运行环境搭建
a、安装JDK:直接运行jdk-7-windows-i586.exe可执行程序,默认安装即可。安装完成后需要配置JDK环境变量
新建变量名:JAVA_HOME,指明JDK安装路径,变量值:C:\Program Files\Java\jdk1.7.02
打开PATH,添加变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin,使系统可以在任何路径下识别java命令
新建变量名:CLASSPATH,变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 这里最前面的点.不能省略,他表示当前路径。一定要注意所有符号都是英文状态的。变量值tools.jar后面也可以再添加个分号即“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;”
b、测试java环境是否配置成功
在CMD命令下输入javac,java,javadoc命令:出现图示界面,表示安装成功。
写段java代码测试下:(保存在D:\javatest.java)
public class javatest{
public static void main(String args[])
{
System.out.println("Hello World!");
}
}
注意:文件里第一行后面的javatest与文件名要保持一直,否则出现以下
显示“Hello World!”测试成功
b、安装tomcat
-
如果下载的是.zip格式的,直接解压,然后运行目录bin下面的startup.bat即可
如果启动不成功,一般的情况是控制台出来一下立即消失,说明Tomcat没有找到Java的运行时环境。这时就需要检查上面jdk安装和配置了启动Tomcat,在浏览器地址栏输入http://localhost:8080/如果看到乱七八糟的关于Tomcat的介绍神马,说明配置成功
如果下载的是.exe格式的,我们需要双击安装
双击D:\Program Files\Apache Software Foundation\Tomcat 7.0\bin目录下的
Tomcat7w.exe,启动Tomcat,在浏览器地址栏输入http://localhost:8080/如果看到乱七八糟的关于Tomcat的介绍神马,说明配置成功
也可以配置下Tomcat环境变量
新建变量名:CATALINA_BASE,变量值:D:\Program Files\Apache Software Foundation\Tomcat 7.0
新建变量名:CATALINA_HOME,变量值:D:\Program Files\Apache Software Foundation\Tomcat 7.0
新建变量名:TOMCAT_HOME,变量值:D:\Program Files\Apache Software Foundation\Tomcat 7.0
修改变量名:CLASSPATH,在末尾添加变量值:D:\Program Files\Apache Software Foundation\Tomcat 7.0\lib\servlet-api.jar
修改变量名:PATH,在末尾添加变量值:D:\Program Files\Apache Software Foundation\Tomcat 7.0\lib;D:\Program Files\Apache Software Foundation\Tomcat 7.0\bin
3、Tomcat的目录结构
bin目录存放一些启动运行Tomcat的可执行程序和相关内容。
conf存放关于Tomcat服务器的全局配置。
lib目录存放Tomcat运行或者站点运行所需的jar包,所有在此Tomcat上的站点共享这些jar包。 wabapps目录是默认的站点根目录,可以更改。
work目录用于在服务器运行时过度资源,简单来说,就是存储jsp、servlet翻译、编译后的结果。
4、更改Tomcat默认配置
修改Tomcat监听端口
tomcat默认的监听端口是8080,现在需要修改成80端口
用记事本打开Tomcat安装目录下的conf文件夹下的servlet.xml文件,在servlet.xml文件中找到以下代码:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
将上面代码中的port="8080"修改为port="80",即可将Tomcat的默认端口设置为80。在修改端口时,应避免与公用端口冲突。修改成功后,为了使新设置的端口生效,还需要重新启动Tomcat服务器。
如果一台机器上部署多个tomcat,还需要修改下以下2处:
<Server port="8006" shutdown="SHUTDOWN"> <!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port="8010" protocol="AJP/1.3" redirectPort="8443"/>
修改默认站点路径
如创建一个站点,再将其设置为默认站点,新站点路径d:/myweb;创建文件夹myweb,创建WEB-INF子文件夹,子文件夹里创建web.xml,完成。web.xml内容可以参考webapps/ROOT/WEB-INF/web.xml。
用记事本打开Tomcat安装目录下的conf文件夹下的servlet.xml文件,在servlet.xml文件中找到以下代码:
……<engine name="Catalina" defaultHost="localhost"> <host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> …… <host></engine>……
以上定义了server中的一台主机(localhost),它的默认根目录是"webapps"(相对路径),现在我们要自己在Host下加上多个Context tag来创建多个自定义访问。在</Host>前插入:
<Context docBase="/usr/local/tomcat1/webapps/qxt" path="" debug="0" reloadable="true" /><Context path="/xyz" docBase="/mnt/test/" debug="0" reloadable="true" />rem <Context docBase="edr" path="/edr" reloadable="true" source="org.eclipse.jst.jee.server:edr"/>
一般我们用Context来覆盖Host的appBase的设定而不是直接修改appBase.
path是说明虚拟目录的名字,如果你要只输入ip地址就显示主页,则该键值留为空;第一个Context用了path="",如果设置为path=""(注意不是path="/"),则相当于是这个Host的虚拟根目录,docBase则指出了物理目录的位置(可以是绝对也可以是相对于Host的appBase的位置,它默认的是$tomcat/webapps/root目录),
eg:将tomcat主目录修改为/app/apache-tomcat-7.0.61/webapps/bc_fund,要求直接访问http://ip:8080就可以直接访问bc_fund
<Context docBase="bc_fund" path="" reloadable="true" />
第二个Context用了path="/xyz",如果你访问http://localhost/xyz/ 则会使用/mnt/test/里的内容。
debug 则是设定debug level, 0表示提供最少的信息,9表示提供最多的信息,privileged设置为true的时候,才允许Tomcat的Web应用使用容器内的Servlet,debug和reloadable一般都分别设置成0和true。然后重启tomcat
修改默认页面
conf/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>
应该以上代码复制到你需要改动的站点WEB-INF目录下的web.xml中,进行设置,然后重启tomcat
扩展:
双击startup.bat后闪退,通过命令行启动提示:
the catalina_home environment variable is not defined correctly
this environment variable is needed to run this program
此时检查环境变量是否设置正确,
1、JAVA_HOME中的路径不能使用分号结尾,如 E:\Java\jdk1.6.0_10; 这样写就会出现提示CATALINA_HOME或是JAVA_HOME没有配置好的错误,,还有就是JAVA_HOME的路径一定不要写成了JRE的路径 2、如果定义了CATALINA_BASE,CATALINA_HOME,TOMCAT_HOME,路径不能以"\"结尾,如 E:\Java\apache-tomcat-6.0.29\ 这样写就会出现java.util.logging.ErrorManager的错...
如果设置没问题检查startup.bat、catalina.bat中定义的环境变量是否有问题,
在已解压的tomcat的bin文件夹下找到startup.bat,右击->编辑。在文件头加入下面两行:
SET JAVA_HOME=D:\Java\jdk1.6.0_10 (java jdk目录)
SET TOMCAT_HOME=E:\tomcat-6.0.35 (解压后的tomcat文件目录)
更改Tomcat命令行窗口标题
在%tomcat_home%\bin\catalina.bat中找到以下代码:
搜索“noTitle”或者“_EXECJAVA”
找到TITLE,后面就是窗口的标题:
:doStart
shift
if not "%OS%" == "Windows_NT" goto noTitle
if "%TITLE%" == "" set TITLE=EDR NEW:%cd% 修改此处
set _EXECJAVA=start "%TITLE%" %_RUNJAVA%
goto gotTitle
绑定Tomcat主机头
为了防止域名解析恶意指向,需要修改Tomcat的主机头,修改tomcat的 conf/server.xml
找到 <Engine name="Catalina" defaultHost="localhost">
添加
<Host name="www.justin1.com" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Alias>www.justin1.com</Alias>
<Alias>10.10.2.43</Alias>
<Context path="" docBase="D:/tomcat-6.0.16/1webapps/justin1" debug="0" reloadable="true"/>
</Host>
<Host name="www.justin2.com" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="D:/tomcat-6.0.16/1webapps/justin2" debug="0" reloadable="true"/>
</Host>
其中D:/tomcat-6.0.16/1webapps/jforum,D:/tomcat-6.0.16/1webapps/justin12是2个web应用程序
这样 D:/tomcat-6.0.16/1webapps/justin1对应的web应用使用http://www.justin1.com、http://10.10.2.43访问
这样 D:/tomcat-6.0.16/1webapps/justin12对应的web应用使用http://www.justin2.com访问
启动tomcat后显示中文乱码
tomcat内存设定
在tomcat服务器中部署多个项目时,有时候会出现tomcat服务器内存溢出。例:java.lang.OutOfMemoryError: PermGen space就是内存溢出。
修改/bin/catalina.bat在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:set JAVA_OPTS=-server -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M注意:没有单引号,值根据实际情况修改,加“m”说明是MB,否则就是KB了,在启动tomcat时会 报内存不足。 -Xms:初始值 -Xmx:最大值 -Xmn:最小值。保存后,重新启动tomcat服务器.
如果还是提示内存溢出,可能电脑内存不够了!
最大连接数设定
本文出自 “我本不是菜鸟” 博客,请务必保留此出处http://ityunwei2017.blog.51cto.com/7662323/1704183