Tomcat网站服务
一、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已经重启成功