一、Tomcat简介
Tomcat是一个 免费开源 的Serlvet容器,他是Apache基金会的jakarta项目中的一个核心项目,是由Apache、Sun和其他一些公司以及个人共同开发而成。与传统的桌面应用程序不同,Tomcat中的应用程序是一个 WAR(Web Archive) 文件。WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包
安装完Tomcat后,安装路径下的目录、文件是使用或者配置Tomcat的重要文件
二、Tomcat的应用场景
即和Nginx搭建群集实现负载均衡
三、部署Tomcat网站服务
注意:本次实验使用的是Centos7操作系统
******(1)安装JDK环境(如果系统中有java环境的话,需要先卸载) [root@Tomcat ~]# systemctl stop firewalld [root@Tomcat ~]# setenforce 0 setenforce: SELinux is disabled [root@Tomcat ~]# mount /dev/cdrom /media/cdrom/ mount: /dev/sr0 写保护,将以只读方式挂载 [root@Tomcat ~]# yum -y remove java 已加载插件:fastestmirror 参数 java 没有匹配 不删除任何软件包 ******(2)上传JDK源码包 [root@Tomcat ~]# ll 总用量 177124 -rw-------. 1 root root 1220 9月 3 18:16 anaconda-ks.cfg -rw-r--r-- 1 root root 181367942 1月 30 01:57 jdk-8u91-linux-x64.tar.gz [root@Tomcat ~]# tar xf jdk-8u91-linux-x64.tar.gz (解压) [root@Tomcat ~]# ll 总用量 177124 -rw-------. 1 root root 1220 9月 3 18:16 anaconda-ks.cfg drwxr-xr-x 8 10 143 255 4月 1 2016 jdk1.8.0_91 -rw-r--r-- 1 root root 181367942 1月 30 01:57 jdk-8u91-linux-x64.tar.gz [root@Tomcat ~]# mv jdk1.8.0_91/ /usr/local/java (移动到java目录) ******(3)编辑java脚本 [root@Tomcat ~]# vim /etc/profile.d/java.sh 写入 export JAVA_HOME=/usr/local/java #设置java根目录 export PATH=$PATH:$JAVA_HOME/bin #在path环境变量中添加java根目录下的bin子目录 保存退出 [root@Tomcat ~]# chmod +x /etc/profile.d/java.sh (添加权限) [root@Tomcat ~]# source /etc/profile.d/java.sh (执行脚本) [root@Tomcat ~]# echo $PATH (确认成功添加) /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/java/bin [root@Tomcat ~]# java -version (查看java运行脚本是否一致) java version "1.8.0_91" Java(TM) SE Runtime Environment (build 1.8.0_91-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode) ******(4)安装及配置Tomcat(上传软件包) [root@Tomcat ~]# ll 总用量 186324 -rw-------. 1 root root 1220 9月 3 18:16 anaconda-ks.cfg -rw-r--r-- 1 root root 9417469 1月 30 02:04 apache-tomcat-8.5.16.tar.gz -rw-r--r-- 1 root root 181367942 1月 30 01:57 jdk-8u91-linux-x64.tar.gz [root@Tomcat ~]# mkdir /usr/local/tomcat (创建tomcat目录) [root@Tomcat ~]# tar xf apache-tomcat-8.5.16.tar.gz -C /usr/local/tomcat (解压) ******(5)启动tomcat [root@Tomcat ~]# /usr/local/tomcat/apache-tomcat-8.5.16/bin/startup.sh ——————————————————————————————————华丽分割线—————————————————————————————————— 启动Tomcat的命令 /usr/local/tomcat/bin/startup.sh 关闭Tomcat的命令 /usr/local/tomcat/bin/shutdown.sh ————————————————————————————————————————————————————————————————————————————— [root@Tomcat ~]# netstat -anpt | grep 8080 (查看端口号,Java就是tomcat) tcp6 0 0 :::8080 :::* LISTEN 15945/java ******(6)测试tomcat是否能正常使用 [root@Tomcat ~]# yum -y install elinks(安装elinks纯文本界面的www浏览器) 。。。。。。 完毕! [root@Tomcat ~]# elinks --dump http://192.168.100.7:8080 (访问本机的8080端口) 或者开一台测试机进行访问
至此,Tomcat网站服务搭建完成!!!
当搭建完tomcat之后,还可以自己配置网页内容 ******(1)创建存放网页的目录 [root@Tomcat ~]# mkdir -pv /web/webapp1 mkdir: 已创建目录 "/web" mkdir: 已创建目录 "/web/webapp1" ******(2)编写网页目录 [root@Tomcat ~]# cat /web/webapp1/index.jsp (jsp格式的) <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html> <head> <title> JSP test1 page </title> </head> <body> <% out.println("Welcome to Tomcat");%> </body> </html> ******(3)修改配置文件 [root@Tomcat ~]# vim /usr/local/tomcat/apache-tomcat-8.5.16/conf/server.xml 。。。。。。 148 <Host name="localhost" appBase="/web" (修改存放网页目录为刚刚创建的目录) 149 unpackWARs="true" autoDeploy="true"> 150 。。。。。。 163 <Context docBase="/web/webapp1" path="" reloadable="false"></Context> (指向测试目录,添加context字段) 。。。。。。 保存退出 ******(4)重启tomcat服务 [root@Tomcat ~]# /usr/local/tomcat/apache-tomcat-8.5.16/bin/shutdown.sh (关闭) Using CATALINA_BASE: /usr/local/tomcat/apache-tomcat-8.5.16 Using CATALINA_HOME: /usr/local/tomcat/apache-tomcat-8.5.16 Using CATALINA_TMPDIR: /usr/local/tomcat/apache-tomcat-8.5.16/temp Using JRE_HOME: /usr/local/java Using CLASSPATH: /usr/local/tomcat/apache-tomcat-8.5.16/bin/bootstrap.jar:/usr/local/tomcat/apache-tomcat-8.5.16/bin/tomcat-juli.jar [root@Tomcat ~]# /usr/local/tomcat/apache-tomcat-8.5.16/bin/startup.sh (启动) Using CATALINA_BASE: /usr/local/tomcat/apache-tomcat-8.5.16 Using CATALINA_HOME: /usr/local/tomcat/apache-tomcat-8.5.16 Using CATALINA_TMPDIR: /usr/local/tomcat/apache-tomcat-8.5.16/temp Using JRE_HOME: /usr/local/java Using CLASSPATH: /usr/local/tomcat/apache-tomcat-8.5.16/bin/bootstrap.jar:/usr/local/tomcat/apache-tomcat-8.5.16/bin/tomcat-juli.jar Tomcat started. 再次使用测试机访问
发现网页内容已经成功更换
四、Tomcat的主要目录以及经常修改的配置文件内容
首先可以先进去tomcat的主目录 [root@Tomcat ~]# cd /usr/local/tomcat/apache-tomcat-8.5.16/ [root@Tomcat apache-tomcat-8.5.16]# ll 总用量 92 drwxr-x--- 2 root root 4096 1月 30 02:06 bin drwx------ 3 root root 254 1月 30 02:09 conf drwxr-x--- 2 root root 4096 1月 30 02:06 lib -rw-r----- 1 root root 57092 6月 22 2017 LICENSE drwxr-x--- 2 root root 197 1月 30 02:09 logs -rw-r----- 1 root root 1723 6月 22 2017 NOTICE -rw-r----- 1 root root 7064 6月 22 2017 RELEASE-NOTES -rw-r----- 1 root root 15946 6月 22 2017 RUNNING.txt drwxr-x--- 2 root root 30 1月 30 02:06 temp drwxr-x--- 7 root root 81 6月 22 2017 webapps drwxr-x--- 3 root root 22 1月 30 02:09 work
(1)主目录
bin/: 负责管理脚本文件,存放windows或者Linux平台上启动和关闭tomcat的脚本
conf/: 存放各种全局配置文件
logs/: 存放日志文件
webapps/: Web发布目录,默认情况下,web应用文件都存放此处
work/: 存放jsp编译后产生的class文件
lib/: 存放所需要的所有jar文件
temp/: 存放tomcat运行时所产生的临时文件
(2)经常修改的配置文件内容
[root@Tomcat ~]# vim /usr/local/tomcat/apache-tomcat-8.5.16/conf/server.xml 。。。。。。 ##关闭端口,默认只对本机地址开放 22 <Server port="8005" shutdown="SHUTDOWN"> 。。。。。。 ##启动端口 69 <Connector port="8080" protocol="HTTP/1.1" 70 connectionTimeout="20000" 71 redirectPort="8443" /> 。。。。。。 ##启动AJP 1.3连接器时默认的端口号,通过8009端口接收由其他服务器转发过来的请求 116 <Connector port="8009" protocol="AJP/1.3" redirectPort="844 3" /> 。。。。。。 ##配置虚拟主机 148 <Host name="localhost" appBase="webapps" 149 unpackWARs="true" autoDeploy="true"> 。。。。。。 ##配置虚拟主机的日志 160 <Valve className="org.apache.catalina.valves.AccessLogV alve" directory="logs" 161 prefix="localhost_access_log" suffix=".txt" 162 pattern="%h %l %u %t "%r" %s %b" /> 。。。。。。 |——————————————————————————————————————| | docBase ##web应用的文档基准目录 | | path ##设置默认类 | | reloadable ##设置监视'类'是否变化 | |——————————————————————————————————————|
五、扩展——重启服务的脚本
利用netstat和startup.sh和shutdown.sh写一个重启服务的脚本 [root@Tomcat ~]# cat /usr/local/tomcat/apache-tomcat-8.5.16/bin/restart.sh #!/bin/bash #这是一个重新启动tomcat的脚本 A=/usr/local/tomcat/apache-tomcat-8.5.16/bin/startup.sh B=/usr/local/tomcat/apache-tomcat-8.5.16/bin/shutdown.sh netstat -anpt | grep java > /dev/null if [ $? = 0 ] then $C >/dev/null $A >/dev/null echo "tomcat已经重启成功" else $A >/dev/null echo "tomcat已经成功启动" fi [root@Tomcat ~]# netstat -anpt | grep java (查看服务是否启动) tcp6 0 0 127.0.0.1:8005 :::* LISTEN 16742/java tcp6 0 0 :::8009 :::* LISTEN 16742/java tcp6 0 0 :::8080 :::* LISTEN 16742/java [root@Tomcat ~]# /usr/local/tomcat/apache-tomcat-8.5.16/bin/shutdown.sh (关闭服务) Using CATALINA_BASE: /usr/local/tomcat/apache-tomcat-8.5.16 Using CATALINA_HOME: /usr/local/tomcat/apache-tomcat-8.5.16 Using CATALINA_TMPDIR: /usr/local/tomcat/apache-tomcat-8.5.16/temp Using JRE_HOME: /usr/local/java Using CLASSPATH: /usr/local/tomcat/apache-tomcat-8.5.16/bin/bootstrap.jar:/usr/local/tomcat/apache-tomcat-8.5.16/bin/tomcat-juli.jar [root@Tomcat ~]# netstat -anpt | grep java (再次查看确认已经成功关闭) [root@Tomcat ~]# /usr/local/tomcat/apache-tomcat-8.5.16/bin/restart.sh tomcat已经成功启动 [root@Tomcat ~]# /usr/local/tomcat/apache-tomcat-8.5.16/bin/restart.sh tomcat已经重启成功