Tomcat搭建配置
任务1 Tomcat介绍
1. 简介
Tomcat是Apache软件基金会( Apache Software Foundation )的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。受Java爱好者的喜爱,并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
Tomcat服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。目前有很多网站是用Java编写的,所以解析Java程序就必须有相关的软件来完成,Tomcat就是其中之一。
Java程序写的网站用Tomcat+JDK来运行。
Tomcat是一个中间件,真正起作用的,解析Java脚本的是JDK。
JDK(Java Development Kit)是整个Java的核心,它包含了Java运行环境和一堆Java相关的工具以及Java基础库。最主流的JDK为Sun公司发布的JDK,除此之外,其实IBM公司也有发布JDK,CentOS上也可以用yum安装OpenJDK。
2.修改主机名
使用hostnamectl命令修改主机名
[root@localhost ~]# hostnamectl set-hostname tomcat
任务2 安装JDK
- JDK的下载
官网下载地址:
https://www.oracle.com/java/technologies/javase-downloads.html
出现弹窗勾选之后注册下载
这个下载地址不能在Linux虚拟机里使用wget命令下载,只能先通过浏览器下载到本机上,然后再上传到Linux。本次下载的版本为jdk1.8,将虚拟机连接CRT,通过CRT上传JDK到/usr/local/src/目录下。2. JDK安装
部署Tomcat环境需要JDK软件环境,我们进入到/usr/local/src/目录下,解压刚刚上传的jdk-8u211-linux-x64.tar.gz,并将解压后的文件移动到/usr/local/目录下改名为jdk1.8。然后使用ls命令查看下/usr/local/目录下是否有jdk1.8目录。[root@tomcat ~]# tar -zxvf jdk-8u301-linux-x64.tar.gz
移动并改名[root@tomcat ~]# mv jdk1.8.0_301 /usr/local/jdk1.8
[root@tomcat ~]# cd /usr/local/
3. 修改环境变量
设置环境变量,编辑/etc/profile文件,并使其立即生效。[root@tomcat local]# vim /etc/profile
将下列内容添加到配置文件底部JAVA_HOME=/usr/local/jdk1.8/
JAVA_BIN=/usr/local/jdk1.8/bin
JRE_HOME=/usr/local/jdk1.8/jre
PATH=$PATH:/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/bin
CLASSPATH=/usr/local/jdk1.8/jre/lib:/usr/local/jdk1.8/lib:/usr/local/jdk1.8/jre/lib/charsets.jar
保存并刷新参数生效[root@tomcat local]# source /etc/profile
4. 检查JDK安装情况
配置完成环境变量后,使用java -version命令检查是否安装成功,如果显示结果带有java version “1.8.0_211”字样和我们解压的jdk-8u211-linux-x64.tar.gz包的版本相对应,则证明安装成功。[root@tomcat local]# java -version
任务3 安装Tomcat
1. 安装Tomcat
官网下载地址:http://tomcat.apache.org/
我们去官网下载合适的Tomcat版本,本案例已经下载好了,使用CRT上传到虚拟机/usr/local/src/目录下,然后解压,将解压后的文件移动到/usr/local目录下,并命名为tomcat,命令如下:[root@tomcat ~]# ls
[root@tomcat ~]# tar -zxvf apache-tomcat-8.5.39.tar.gz
移动并改名[root@tomcat ~]# mv apache-tomcat-8.5.39 /usr/local/tomcat
[root@tomcat ~]# cd /usr/local/tomcat/
2. 启动Tomcat
本次下载解压的包是二进制包,不用我们去编译,使用/usr/local/tomcat/bin/startup.sh这个命令启动Tomcat,命令如下:[root@tomcat tomcat]# /usr/local/tomcat/bin/startup.sh
3. 测试
用netstat命令来监听java相关服务端口,查看是否有以下端口存在(8009、8080、8005),如果存在则证明Tomcat服务启动成功。命令如下:[root@tomcat tomcat]# netstat -ntlp |grep java
三个端口8009、8005和8080的意义:
⚫ 8080为提供Web服务的端口;
⚫ 8005为管理端口;
⚫ 8009端口为第三方服务调用的端口,比如httpd和Tomcat结合时会用到。
然后打开浏览器,在地址栏中输入http://IP:8080/(这里的IP为你虚拟机的IP地址,此处IP为192.168.200.50),可以看到Tomcat的默认页面。如图所示:
任务4 配置Tomcat监听80端口
1. 修改配置文件
Tomcat 监听的是8080端口,如果想要直接访问,不加8080端口(默认输入一个IP或者域名,访问80端口时是可以省略IP后端口号的)就需要配置Tomcat监听80端口,Tomcat是支持端口自定义的。
编辑Tomcat配置文件server.xml,命令如下:[root@tomcat ~]# vim /usr/local/tomcat/conf/server.xml
搜索/8080修改
修改完配置文件,接下来就是重启Tomcat服务,Tomcat服务是不支持restart的方式重启服务的,所以要想重启服务必须先关闭服务,使用命令/usr/local/tomcat/bin/shutdown.sh,然后再启动服务,使用命令/usr/local/tomcat/bin/startup.sh。[root@tomcat ~]# /usr/local/tomcat/bin/shutdown.sh
[root@tomcat ~]# /usr/local/tomcat/bin/startup.sh
2. 测试
重启服务之后,我们用netstat命令监听Java相关服务端口来查看是否启动成功,命令如下:[root@tomcat ~]# netstat -plnt | grep java
如果启动成功,则会出现三个端口(8009、8005、80)。3. 浏览器访问
配置文件修改完成,并Tomcat服务启动成功后,打开浏览器在地址栏中输入http://192. 168.200.50/(注意你的IP),这时又会看见Tomcat默认页面。如图所示。
任务5 配置Tomcat虚拟主机
1. 查看默认虚拟主机
Tomcat和Apache、Nginx一样,都支持虚拟主机配置。每个虚拟主机配置文件就是一台服务器,支持一个IP下可以访问多个域名,每个域名代表一个网站。所以一台服务器上可以配置多个网站。
编辑Tomcat配置文件,直接在配置文件内搜索Host,找到如下内容:[root@tomcat ~]# vim /usr/local/tomcat/conf/server.xml
其中和 之间的配置为虚拟主机配置部分:
⚫ name定义域名;
⚫ appBase定义应用的目录;
⚫ unpackWARs为是否自动解压war包;
⚫ autoDeploy 如果此项设置为true,表示Tomcat服务处于运行状态,能够检测appbase下的文件,如果有新的Web应用加入进来,会自动发布这个Web应用。
Java的应用通常是一个JAR的压缩包,你只需要将JAR的压缩包放到appBase目录下面即可。刚刚我访问的Tomcat默认页其实就是在appBase目录下面,不过是在它子目录ROOT里。2. 安装zrlog
下载安装包 可以通过浏览器下载,也可以通过wget wget下载需要时yum 安装 wget命令
http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war
自动解压war包
移动[root@tomcat ~]# mv zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/
[root@tomcat ~]# cd /usr/local/tomcat/webapps/
[root@tomcat webapps]# ls
[root@tomcat webapps]# netstat -ntlp
改名[root@tomcat webapps]# mv zrlog-1.7.1-baaecb9-release zrlog
输入192.168.200.50/zrlog
缺少数据库进行安装[root@tomcat webapps]# yum install -y mariadb-server
启动数据库[root@tomcat webapps]# systemctl start mariadb
[root@tomcat webapps]# netstat -ntlp
[root@tomcat webapps]# mysql_secure_installation
配置密码:123456
回车顺序ynyy
重启数据库[root@tomcat webapps]# systemctl restart mariadb
进入数据库[root@tomcat webapps]# mysql -uroot -p123456
create database zrlog;
grant all on zrlog.* to 'zrlog'@127.0.0.1 identified by '123456';
Quit退出数据库进网站
点击管理
编辑保存返回主页
3. 配置虚拟主机
刚才我们经过操作可以访问zrlog,但是这样存在一个问题就是每次都要输入IP/zrlog这样的形势访问,我们可不可以给他配置为直接输入ip或者域名就可以访问。[root@tomcat webapps]# vim /usr/local/tomcat/conf/server.xml
# 添加
<Host name="www.123.cn" appBase=""
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/data/wwwroot/123.cn/" debug="0"
reloadable="true" crossContext="true"/>
</Host>
[root@tomcat webapps]# mkdir -p /data/wwwroot/123.cn
[root@tomcat webapps]# mv zrlog/* /data/wwwroot/123.cn/
[root@tomcat webapps]# ls /data/wwwroot/123.cn/
docBase这个参数用来定义网站的文件存放路径。如果不定义,默认是在appBase/ROOT下面。定义了docBase就以该目录为主了,其中appBase和docBase可以一样。在这一步操作过程中很多人会遇到过访问404的问题,其实就是docBase没有定义对。
appBase为应用存放目录(实际上是一个相对路径,相对于 /usr/local/tomcat/ 路径),通常是需要把war包直接放到该目录下面,它会自动解压成一个程序目录。
搭建了一个Tomcat,想要使用Tomcat去跑一个网站。首先应用不能是一个传统所谓的目录(Apache、Nginx访问网站,首先需要指定一个目录,目录里存放着PHP文件或者是Html的文件,然后去访问),Tomcat需要提供一个war的包,就是一个压缩包,这个压缩包里面包含着运行这个网站的一些文件,包括配置,js代码,数据库相关的等等,都需要打包成war这种文件,而这个文件需要放置到 webapps 里面。
修改hosts文件
C:\Windows\System32\drivers\etc
访问www.123.cn还是tomcat,所以需要重启服务才能跳转
重启服务[root@tomcat webapps]# /usr/local/tomcat/bin/shutdown.sh
[root@tomcat webapps]# /usr/local/tomcat/bin/startup.sh
[root@tomcat webapps]# netstat -ntlp |grep java
再访问www.123.cn直接跳转
任务6 Tomcat日志
1 查看日志
[root@tomcat webapps]# ls /usr/local/tomcat/logs/
catalina开头的日志为Tomcat的综合日志,它记录Tomcat服务相关信息,也会记录错误日志。
catalina.2021-xx-xx.log和catalina.out内容相同,前者会每天生成一个新的日志。
host-manager和manager为管理相关的日志,其中host-manager为虚拟主机的管理日志。
localhost和localhost-access为虚拟主机相关日志,其中带access字样的日志为访问日志,不带access字样的为 默认虚拟主机的错误日志。2 配置生成日志
日志默认是不会生成的,所以需要在server.xml中配置一下。
配置方法就是在对应虚拟主机的里面加入下面的配置 [root@tomcat ~]# vim /usr/local/tomcat/conf/server.xml
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="www.123.cn_access_log" suffix=".log"
pattern="%h %l %u %t "%r" %s %b" />
valve为日志文件配置;
prefix定义访问日志的前缀;
suffix定义日志的后缀;
pattern定义日志格式。
重启服务[root@tomcat webapps]# /usr/local/tomcat/bin/shutdown.sh
[root@tomcat webapps]# /usr/local/tomcat/bin/startup.sh
查看是否有日志生成。[root@tomcat webapps]# ls /usr/local/tomcat/logs/
查看日志多出来我们这个虚拟主机的访问日志
访问主页就会弹出日志信息