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. 环境准备

节点 IP   192.168.174.155
主机名     tomcat
节点        Tomcat
使用 VMWare Workstation 软件安装 CentOS 7.2 操作系统,镜像使用提供的
CentOS-7-x86_64-DVD-1511.iso
关闭防火墙并设置开机不自启,配置 SElinux 规则
[root@localhost ~]# systemctl stop firewalld.service 
[root@localhost ~]# systemctl disable firewalld.service
[root@localhost ~]# setenforce 0

3. 修改主机名

[root@localhost ~]# hostnamectl set-hostname tomcat
[root@localhost ~]# bash

任务 2 安装 JDK

部署 Tomcat 环境需要 JDK 软件环境,我们进入到 /usr/local/src/ 目录下,解压
刚刚上传的 jdk-8u211-linux-x64.tar.gz ,并将解压后的文件移动到 /usr/local/ 目录下
改名为 jdk1.8 。然后使用 ls 命令查看下 /usr/local/ 目录下是否有 jdk1.8 目录。
命令如下:
[root@tomcat ~]# cd /usr/local/src/
[root@tomcat src]# tar -zxf jdk-8u144-linux-x64.tar.gz
[root@tomcat src]# mv jdk1.8.0_144/ /usr/local/jdk1.8
[root@tomcat src]# ls /usr/local/
bin etc games include jdk1.8 lib lib64 libexec sbin share src

3. 修改环境变量

设置环境变量,编辑 /etc/profile 文件,并使其立即生效。
[root@tomcat src]# vi /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/li
b/charsets.jar
[root@tomcat src]# source /etc/profile

4.检查 JDK 安装情况

配置完成环境变量后,使用 java -version 命令检查是否安装成功,如果显示
结果带有 java version "1.8.0_211" 字样和我们解压的 jdk-8u211-linux-x64.tar.gz
的版本相对应,则证明安装成功。命令如下:
[root@tomcat src]# java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)

任务 3 安装 Tomcat

1. 安装 Tomcat

我们去官网下载合适的 Tomcat 版本,本案例已经下载好了,使用 CRT 上传
到虚拟机 /usr/local/src/ 目录下,然后解压,将解压后的文件移动到 /usr/local 目录
下,并命名为 tomcat ,命令如下:
[root@tomcat ~]# cd /usr/local/src/
[root@tomcat src]# tar -zxf apache-tomcat-9.0.41.tar.gz
[root@tomcat src]# mv apache-tomcat-9.0.41 /usr/local/tomcat

2. 启动 Tomcat

本 次 下 载 解 压 的 包 是 二 进 制 包 , 不 用 我 们 去 编 译 , 使 用
/ u s r/ lo c a l/ to m c a t/ bi n /s t a rt u p. sh 这个命令启动 To m c at ,命令如下:
root@tomcat src]# /usr/local/tomcat/bin/startup.sh 
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk1.8
Using CLASSPATH: 
/usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

3. 测试

netstat 命令来监听 java 相关服务端口,查看是否有以下端口存在( 8009 8080 8005 ),如果存在则证明 Tomcat 服务启动成功。命令如下:
注意: 8009 端口为第三方服务调用的端口,没有不影响正常使用
[root@tomcat src]# netstat -lnpt | grep java
tcp6 0 0 :::8009 :::* 
LISTEN 49228/java 
tcp6 0 0 :::8080 :::* 
LISTEN 49228/java 
tcp6 0 0 127.0.0.1:8005 :::* 
LISTEN 49228/java
三个端口 8009 8005 8080 的意义:
8080 为提供 Web 服务的端口;
8005 为管理端口;
8009 端口为第三方服务调用的端口,比如 httpd Tomcat 结合时会用到。
然后打开浏览器,在地址栏中输入 http://IP:8080/ (这里的 IP 为你虚拟机的
IP 地址,此处 IP 192.168.174.155 ),可以看到 Tomcat 的默认页面。如图所示:

任务 4 配置 Tomcat 监听 80 端口

1. 修改配置文件

Tomcat 监听的是 8080 端口,如果想要直接访问,不加 8080 端口(默认输
入一个 IP 或者域名,访问 80 端口时是可以省略 IP 后端口号的)就需要配置
Tomcat 监听 80 端口, Tomcat 是支持端口自定义的。
编辑 Tomcat 配置文件 server.xml ,命令如下:
[root@tomcat ~]# vi /usr/local/tomcat/conf/server.xml 
//直接搜索 8080 找到如下内容
......
 <Connector port="8080" protocol="HTTP/1.1"
 connectionTimeout="20000"
 redirectPort="8443" />
//将这里的 8080 直接改成 80
修改完配置文件,接下来就是重启 Tomcat 服务, Tomcat 服务是不支持 restart
的方式重启服务的 ,所以要想重启服务必须先关闭服务 ,使用命令
/usr/local/tomcat/bin/shutdown.sh , 然 后 再 启 动 服 务 , 使 用 命 令
/usr/local/tomcat/bin/startup.sh
[root@tomcat ~]# /usr/local/tomcat/bin/shutdown.sh 
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk1.8
Using CLASSPATH: 
/usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[root@tomcat ~]# 
[root@tomcat ~]# /usr/local/tomcat/bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk1.8
Using CLASSPATH: 
/usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

2. 测试

重启服务之后,我们用 netstat 命令监听 Java 相关服务端口来查看是否启动
成功,命令如下:
[root@tomcat ~]# netstat -plnt | grep java
tcp6 0 0 :::8009 :::* 
LISTEN 47709/java 
tcp6 0 0 127.0.0.1:8005 :::* 
LISTEN 47709/java
如果启动成功,则会出现三个端口( 8009 8005 80 )。
但是这里可以看到,并没有 80 端口出现,这是因为这台机器我们之前安装
LNMP Nginx 的默认端口也是 80 ,这就和我刚刚设置的 Tomcat 端口发生冲
突。这时,我们需要关闭 Nginx 服务,重新启动 Tomcat 服务。
[root@tomcat ~]# service nginx stop
Stopping nginx (via systemctl): [ OK ]
//出现 OK 字样,Nginx 服务关闭成功。
[root@tomcat ~]# /usr/local/tomcat/bin/shutdown.sh 
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk1.8
Using CLASSPATH: 
/usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[root@tomcat ~]# /usr/local/tomcat/bin/startup.sh 
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk1.8
Using CLASSPATH: 
/usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started
这时,我们再次使用 netstat 命令监听 Java 相关服务端口,看这次三个端口
是否存在,命令结果如下:
[root@tomcat ~]# netstat -plnt | grep java
tcp6 0 0 :::8009 :::* 
LISTEN 47873/java 
tcp6 0 0 :::80 :::* 
LISTEN 47873/java 
tcp6 0 0 127.0.0.1:8005 :::* 
LISTEN 47873/java

3. 浏览器访问

 任务 5 配置 Tomcat 虚拟主机

Tomcat Apache Nginx 一样,都支持虚拟主机配置。每个虚拟主机配置
文件就是一台服务器,支持一个 IP 下可以访问多个域名,每个域名代表一个网
站。所以一台服务器上可以配置多个网站。
编辑 Tomcat 配置文件,直接在配置文件内搜索 Host ,找到如下内容:
[root@tomcat ~]# vi /usr/local/tomcat/conf/server.xml 
......
 <Host name="localhost" appBase="webapps"
 unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications
 Documentation at: /docs/config/valve.html -->
<!--
 <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
 Documentation at: /docs/config/valve.html
 Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" 
directory="logs"
 prefix="localhost_access_log" suffix=".txt"
 pattern="%h %l %u %t &quot;%r&quot; %s %b" />
 </Host>
其中 <Host> </Host> 之间的配置为虚拟主机配置部分:
name 定义域名;
appBase 定义应用的目录;
unpackWARs 为是否自动解压 war 包;
autoDeploy 如果此项设置为 true ,表示 Tomcat 服务处于运行状态,能够
检测 appbase 下的文件,如果有新的 Web 应用加入进来,会自动发布这个 Web
应用。
Java 的应用通常是一个 JAR 的压缩包,你只需要将 JAR 的压缩包放到
appBase 目录下面即可。刚刚我访问的 Tomcat 默认页其实就是在 appBase 目录下
面,不过是在它子目录 ROOT

2. 新增虚拟主机

新增虚拟主机,编辑 server.xml </Host> 下面增加以下内容:
[root@tomcat ~]# 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>

3. appBase 部署 Java 应用

下面我们通过部署个 Java 的应用来体会 appBase docBase 目录的区别。
为了方便测试,下载一个 zrlog Java 写的 blog 站点应用,轻量), zrlog
际就是一个 war 包。
(下载地址: http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war
先暂时将 zrlog war 包下载到 /usr/local/src 目录下,命令如下:
[root@tomcat ~]# cd /usr/local/src/
[root@tomcat src]# wget 
http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war
...
[root@tomcat src]# ls |grep zrlog
zrlog-1.7.1-baaecb9-release.war
appBase 支持自动解压,所以直接将 war 包拷贝到 /usr/local/tomcat/webapps/
目录下:
[root@tomcat src]# cp zrlog-1.7.1-baaecb9-release.war 
/usr/local/tomcat/webapps/
[root@tomcat src]# ls /usr/local/tomcat/webapps/
docs host-manager ROOT 
zrlog-1.7.1-baaecb9-release.war
examples manager zrlog-1.7.1-baaecb9-release
// 将 war 包拷贝到/usr/local/tomcat/webapps/目录下之后,包会自动解压。(前
提是 tomcat 正常启动。
重命名 war 包的文件名,命令如下:
[root@tomcat src]# cd /usr/local/tomcat/webapps/
[root@tomcat webapps]# mv zrlog-1.7.1-baaecb9-release zrlog
[root@tomcat webapps]# ls
docs examples host-manager manager ROOT zrlog 
zrlog-1.7.1-baaecb9-release.war
// 一但重命名或删除 war 包解压后的包的文件时,war 包就会在解压出一个
文件夹
用浏览器访问 http://192. 168.174.155/zrlog (注意你的 IP ),如图所示:

 安装数据库:

1)下载
#cd /usr/local/src // 软件包都放在这里方便管理
下载源码包: mysql-5.6.47-linux-glibc2.12-x86_64.tar
安装和配置
# [ -d /usr/local/mysql ] && mv /usr/local/mysql /usr/local/mysql_old 
//&&相当于一个判断,意前面命令执行才会执行后面
# mv mysql-5.6.47-linux-glibc2.12-x86_64 /usr/local/mysql
// 挪动位置
# useradd -s /sbin/nologin mysql
//建立 MySQL 用户,因为启动 MySQL 需要该用户
# mkdir -p /data/mysql
//创建 datadir,数据库文件会放到这里面
# chown -R mysql:mysql /data/mysql 
// 更改权限,不更改后续操作就会出问题
# yum install -y perl-Module-Install
# cd /usr/local/mysql
# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
//--user 表示定义数据库的以哪个用户的身份运
//--datadir 表示定义数据库的安装目录
#cp support-files/my-default.cnf /etc/my.cnf
#vi /etc/my.cnf //修改配置文件
#These are commonly set ,remove the # and set as required
basedir=/usr/local/mysql 
//basedir 表示 MySQL 包所在路径
datadir=/data/mysql 
//表示定义存放数据的位置
port=3306//port 表示定义 MySQL 服务监听的端口号
server_id=128 
//表示该 MySQL 服务的 ID 号
#cp support-files/mysql.server /etc/init.d/mysqld
//复制启动脚本文件
#chmod 755 /etc/init.d/mysqld
//修改启动脚本文件的属性
#chkconfig --add mysqld
//把 mysql 服务加到系统服务列表中
#chkconfig mysqld on
//开机就启动
#service mysqld start
//启动服务
ps -aux | grep mysqld
netstat -ntpl | grep 3306
# ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
登入数据库,在数据库中创建一个 zrlog 数据库和 zrlog 用户。命令如下:
[root@tomcat webapps]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.39 MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database zrlog; 
//创建 zrlog 数据库
Query OK, 1 row affected (0.00 sec)
mysql> grant all on zrlog.* to 'zrlog'@127.0.0.1 identified by '000000';
Query OK, 0 rows affected (0.05 sec)
//创建 zrlog 用户
mysql>exit
Byebye
//退出数据库
检查创建用户是否可以登陆数据库,使用 zrlog 用户登录,命令如下:
[root@tomcat webapps]# mysql -uzrlog -h127.0.0.1 -p000000
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.39 MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
//检查已有数据库
+--------------------+
| Database |
+--------------------+
| information_schema |
| test |
| zrlog |
+--------------------+
3 rows in set (0.00 sec)
mysql> exit
Byebye
检查完成, zrlog 用户登录成功。使用 zrlog 用户信息填写刚才在浏览器中打
开的网页, Email 填写自己的邮箱,本次是实验,填写内容为自定义邮箱
tomcat@163.com ),单击“下一步”按钮。
重启 Tomcat 服务完成后,访问网站,查看 /usr/local/tomcat/logs 目录下是否
有日志生成,并且查看生成的日志信息,命令如下:
[root@tomcat ~]# ls /usr/local/tomcat/logs/
123_access_log.2020-03-29.txt localhost.2020-03-29.log
catalina.2020-03-29.log localhost_access_log.2020-03-29.txt
catalina.out manager.2020-03-29.log
host-manager.2020-03-29.log
[root@tomcat ~]# cat /usr/local/tomcat/logs/123_access_log.2020-03-29.txt 
192.168.174.1 - - [29/Mar/2020:22:06:16 -0700] "GET / HTTP/1.1" 200 8645
192.168.174.1 - - [29/Mar/2020:22:06:16 -0700] "GET //favicon.ico HTTP/1.1" 
200 9662
至此, Tomcat 搭建配置完成。
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值