tomcat安装与部署

news2024/9/28 13:03:37

一、基础准备

1. 节点规划

IP

主机名

节点

192.168.200.70

tomcat

Tomcat

2. 环境准备

准备一台虚拟机,镜像为CentOS-7-x86_64,下载两个软件包,apache-tomcat-9.0.95.tar.gz;zrlog WAR包。

二、安装Tomcat

1.基础环境配置

(1)修改主机名

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

(2)关闭防火墙并设置开机不自启

[root@tomcat ~]# systemctl stop firewalld
[root@tomcat ~]# systemctl disable firewalld
[root@tomcat ~]# sed -i "s/SELINUX=.*/SELINUX=disabled/" /etc/selinux/config
[root@tomcat ~]# setenforce 0

2.安装JDK

JDK 是 Java 程序开发和运行的基础工具,包含了编译器、运行时环境以及相关的开发工具。

(1)安装JDK

[root@tomcat ~]# yum install -y java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64
[root@tomcat ~]# java -version

(2)设置环境变量

[root@tomcat ~]# vi /etc/profile
#java enviroment
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64
PATH=$PATH:$JAVA_HOME/bin
JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64/jre
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA HOME CLASSPATH PATH
[root@tomcat ~]# source /etc/profile

3. 安装Tomcat

(1)上传压缩包并解压

将软件包上传至/root目录下,将软件包解压到/usr/local/tomcat目录下。

[root@tomcat ~]# mkdir /usr/local/tomcat
[root@tomcat ~]# tar -zxvf apache-tomcat-9.0.95.tar.gz -C /usr/local/tomcat
[root@tomcat ~]# ls /usr/local/tomcat

(2)启动Tomcat

[root@tomcat ~]# cd /usr/local/tomcat/apache-tomcat-9.0.95/bin/
[root@tomcat bin]# ./startup.sh

(3)验证服务

[root@tomcat bin]# netstat -tuln

netstat命令不存在时,使用yum下载net-tools工具

三、配置Tomcat

1. 配置80端口

通常情况下,Tomcat会监听8080端口,但是如果你想让用户直接通过输入服务器的IP地址或域名(不带端口号)访问Tomcat应用,则需要将Tomcat配置为监听80端口。由于80端口是Web服务的默认HTTP端口,用户可以通过不带端口号的方式直接访问网站。

(1)修改Tomcat配置文件,修改默认监听端口为80

[root@tomcat bin]# vi /usr/local/tomcat/apache-tomcat-9.0.94/conf/server.xml 

(2)重启Tomcat服务

[root@tomcat bin]# ./shutdown.sh
[root@tomcat bin]# ./startup.sh

(3)验证服务

浏览器访问http://ip

2. 配置虚拟主机

虚拟主机的作用是在同一台服务器上,通过不同的域名或 IP 地址,运行多个网站或 Web 应用。

2.1、配置虚拟主机及数据库

(1) 添加配置文件

[root@tomcat bin]# vi /usr/local/tomcat/apache-tomcat-9.0.95/conf/server.xml 
<Host name="www.123.cn" appBase=""
           unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
        <Context path="" docBase="/data/wwwroot/szyc.cn/" debug="0" reloadable="true" crossContext="true"/>
      </Host>

(2)安装并启动数据库,设为开机自启

[root@tomcat bin]# yum -y install mariadb mariadb-server
[root@tomcat ~]# systemctl start mariadb
[root@tomcat ~]# systemctl enable mariadb
[root@tomcat ~]# systemctl status mariadb

(3)创建zrlog数据库和zrlog用户,并将数据库所有权限给zrlog用户

[root@tomcat ~]# mysql -u root -p
MariaDB [(none)]> create database zrlog;
MariaDB [(none)]> create user 'zrlog'@'localhost' identified by '123456';
MariaDB [(none)]> grant all privileges on zrlog.* to 'zrlog'@'localhost';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> show databases;

2.2、AppBase部署Java应用

通过Tomcat的 appBase 方式部署Java Web应用,使用的应用程序为一个轻量级博客系统——zrlog,它是基于Java开发的,并以WAR包的形式分发。

(1)上传zrlog的war包

将zrlog包上传到/root目录下,复制到/usr/local/tomcat/apache-tomcat-9.0.95/webapps/目录下。

[root@tomcat ~]# cp zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/apache-tomcat-9.0.95/webapps/
[root@tomcat ~]# cd /usr/local/tomcat/apache-tomcat-9.0.95/webapps/
[root@tomcat webapps]# ls

(2)重命名war包的文件名为zrlog

[root@tomcat webapps]# mv zrlog-1.7.1-baaecb9-release zrlog

(3)访问http://ip/zrlog,Email填写自己的邮箱

(4)设置管理员账号(admin)和管理员密码(123456)

2.3、DocBase部署Java应用

通过Tomcat的 DocBase 方式部署Java Web应用。DocBase 是Tomcat用于指定应用程序的文档根目录,它允许您将应用程序部署到非 webapps 目录下的任意位置。您将使用一个轻量级Java写的博客站点应用——zrlog,并将其移动到特定的目录中,通过修改Tomcat配置文件,使应用可以通过直接输入IP地址来访问,而无需加上8080端口号或路径名。

(1)创建DocBase目录

[root@tomcat ~]# mkdir -p /data/wwwroot/123.cn

(2)将/usr/local/tomcat/webapps/zrlog 中的所有文件移动到所创建的目录下 

[root@tomcat ~]# mv /usr/local/tomcat/apache-tomcat-9.0.95/webapps/zrlog/* /data/wwwroot/123.cn/
[root@tomcat ~]# ls /data/wwwroot/123.cn

(3)在widdows下绑定hosts文件(添加:ip www.123.cn)

以管理员身份进入记事本,否则不允许更改。

(4)打开命令提示符(CMD),用ping命令ping ww.123.cn,看ip是否为虚拟ip。

(5)用浏览器访问www.123.cn验证服务

3. 配置Tomcat日志

Tomcat作为Java应用的服务器容器,默认会记录应用程序的访问情况、错误信息和运行状态。这些日志文件对于服务器维护、错误排查、性能分析非常重要。在本任务中,需要修改Tomcat相关的配置文件,确保在服务器运行过程中,生成详细的日志文件,并能够通过访问日志记录所有用户请求和服务器响应情况。

(1)查看tomcat日志文件

[root@tomcat ~]# cd /usr/local/tomcat/apache-tomcat-9.0.95/logs/
[root@tomcat logs]# ls

(2)配置新增主机的访问日志

[root@tomcat logs]# vi /usr/local/tomcat/apache-tomcat-9.0.95/conf/server.xml 
 <!-- 配置访问日志 -->
    <Valve className="org.apache.catalina.valves.AccessLogValve"
           directory="logs"
           prefix="123_access_log."
           suffix=".txt"
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />
[root@tomcat logs]# cd /usr/local/tomcat/apache-tomcat-9.0.95/bin/
[root@tomcat bin]# ./shutdown.sh
[root@tomcat bin]# ./startup

(3)查看日志目录下是否有日志生成,并且查看生成的日志信息 

[root@tomcat ~]# ls -l /usr/local/tomcat/apache-tomcat-9.0.95/logs/
[root@tomcat ~]# cat /usr/local/tomcat/apache-tomcat-9.0.95/logs/123_access_log..2024-09-28.txt 

至此Tomcat的安装与部署完毕。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2173576.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

跳表的理解以及使用

文章目录 背景数组-链表优化链表随机访问的方法 介绍跳表的理解层数随机为什么随机可以保证效率实现细节 跳表与二分查找跳表与红黑数跳表与HASH 使用实现随机层数的实现跳表实现以及测试 背景 数组-链表 数组优点 随机访问速度较快&#xff08;基于下标访问&#xff09;。 实…

OpenCV视频I/O(5)视频采集类VideoCapture之从视频流中获取下一帧的函数grab()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 从视频文件或捕获设备中抓取下一帧。 grab() 函数是 OpenCV 中 VideoCapture 类的一个成员函数&#xff0c;用于从视频流中获取下一帧而不立即检…

基于SpringBoot的学生宿舍管理系统【附源码】

基于SpringBoot的高校社团管理系统&#xff08;源码L文说明文档&#xff09; 4 系统设计 一个成功设计的系统在内容上必定是丰富的&#xff0c;在系统外观或系统功能上必定是对用户友好的。所以为了提升系统的价值&#xff0c;吸引更多的访问者访问系统&#xf…

相关数据库类型介绍

数据库类型可以根据不同的维度进行分类&#xff0c;但最常见的分类方式是将其分为关系型数据库&#xff08;Relational Databases&#xff09;和非关系型数据库&#xff08;Non-Relational Databases&#xff09;&#xff0c;也称为NoSQL数据库。下面我将详细介绍这两种类型的数…

[Linux] Linux操作系统 进程的优先级 环境变量

标题&#xff1a;[Linux] Linux操作系统 进程的优先级 个人主页水墨不写bug &#xff08;图片来源于网络&#xff09; 目录 一、进程优先级 1.PRI and NI 2.PRI vs NI 的补充理解 二、命令行参数和环境变量 1. 命令行参数 2.环境变量 I&#xff0c;环境变量是内…

AI大模型算法工程师就业宝典—— 高薪入职攻略与转行秘籍!

从ChatGPT到新近的GPT-4&#xff0c;GPT模型的发展表明&#xff0c;AI正在向着“类⼈化”⽅向迅速发展。 GPT-4具备深度阅读和识图能⼒&#xff0c;能够出⾊地通过专业考试并完成复杂指令&#xff0c;向⼈类引以为傲的“创造⼒”发起挑战。 现有的就业结构即将发⽣重⼤变化&a…

【CSS Tricks】深入聊聊前端编写css的方法论

目录 引言BEM 规范OOCSS 规范结构与样式分离容器与内容分离 SMACSS 规范ITCSS 规范设置层工具层通用层元素层对象层组件层微调层由此分层后的项目代码结构也会相应做修改&#xff0c;主要有两种形式&#xff1a;文件夹形式文件名形式引用方式按照层级顺序引用 ACSS 规范总结 引…

U盘打开提示要格式化:深度剖析、恢复策略与预防指南

U盘打开提示要格式化现象阐述 在日常的数字生活中&#xff0c;U盘作为便携式存储设备的代表&#xff0c;扮演着不可或缺的角色。然而&#xff0c;不少用户都曾遭遇过这样一个令人头疼的问题&#xff1a;当满怀期待地插入U盘&#xff0c;准备访问其中存储的数据时&#xff0c;系…

21天全面掌握:小白如何高效学习AI绘画SD和MJ,StableDiffusion零基础入门到精通教程!快速学习AI绘画指南!

‍‍大家好&#xff0c;我是画画的小强。 今天给大家分享一些我长期以来总结的AI绘画教程和各种AI绘画工具、模型插件&#xff0c;还包含有视频教程 AI工具&#xff0c;免费送&#x1f447;&#x1f447;‍‍ 这份完整版的AI绘画全套学习资料已经上传CSDN&#xff0c;朋友们如…

怎么通过AI大模型开发一个网站?

目录 一、提示词与AI输出 二、网站效果 以前不会代码开发&#xff0c;写网站是不可能的事情&#xff0c;现在有了AI&#xff0c;一切都有了可能。以下是我通过通义千问大模型开发的简单网站。 一、提示词与AI输出 提示词1 你是python程序员&#xff0c;我有一个大的需求&am…

使用代理IP数据采集都需要注意那些?

“在当今大数据时代&#xff0c;数据采集成为了企业决策和个人研究的重要依据。然而频繁访问目标网站往往会引发IP被封锁的风险&#xff0c;这时使用代理IP就显得尤为重要。但代理IP的使用并非毫无风险&#xff0c;以下是使用代理IP进行数据采集时需要注意的几个关键事项。” 一…

Spring Boot助力:小徐影院管理系统

第二章开发技术介绍 2.1相关技术 小徐影城管理系统是在Java MySQL开发环境的基础上开发的。Java是一种服务器端脚本语言&#xff0c;易于学习&#xff0c;实用且面向用户。全球超过35&#xff05;的Java驱动的互联网站点使用Java。MySQL是一个数据库管理系统&#xff0c;因为它…

一些硬件知识(二十四)

如何测量芯片电源的上电时序&#xff1a; FPGA和很多的CPU上电都有一个上电时序&#xff1a;也就是先那部分上电&#xff0c;后那部分上电&#xff0c;这样主板才能正常开机&#xff0c;否则会开机异常&#xff1a; 设置触发参数&#xff0c;选择单次触发&#xff1a; 小米手环…

赋值运算符重载

背景&#xff1a; 在EHR模块进行调试时&#xff0c;发现QVector3D对象进行赋值时&#xff0c;出现变量未赋值成功问题。 问题描述&#xff1a; 在进行代码调试时&#xff0c;发现赋值操作未成功&#xff0c;导致代码逻辑异常&#xff0c;经过分析&#xff0c;发现QVector3D 赋…

数据结构——二叉树的性质和存储结构

二叉树的抽象类型定义 基本操作&#xff1a; CreateBiTree(&T&#xff0c;definition) 初始条件&#xff1a;definition给出二叉树T的定义。 操作结果:按definition构造二叉树T。 PreOrderTraverse(T) 初始条件:二叉树T存在。 操作结果:先序遍历T&#xff0c;对每个结…

springboot农产品销售信息微信小程序—计算机毕业设计源码35557

摘 要 在信息飞速发展的今天&#xff0c;网络已成为人们重要的信息交流平台。每天都有大量的农产品需要通过网络发布&#xff0c;为此&#xff0c;本人开发了一个基于springboot农产品销售信息微信小程序。 对于本农产品销售信息系统的设计来说&#xff0c;它主要是采用后台采…

D21【python接口自动化学习】-python基础之内置数据类型

day21 内置数据类型文档使用 学习日期&#xff1a;20240928 学习目标&#xff1a;内置数据类型--30 内置数据类型参考&#xff1a;如何使用官方文档与帮助&#xff1f; 学习笔记&#xff1a; 使用官方文档 可通过终端查看数据类型的方法 使用帮助 总结 官方文档是体系化的…

端侧Agent系列 | 端侧AI Agent任务拆解大师如何助力AI手机?(详解版)

引言 简介 Octo-planner 规划和执行Agent框架 规划数据集 基准设计 实验设计 结果 全量微调与LoRA 多LoRA训练与合并 不同基础模型的全量微调 不同数据集大小的全量微调 总结 实战 英文 中文示例1&#xff1a; 中文示例2&#xff1a; 0. 引言 人生到处知何似…

简单理解C++在C的基础上的改变

1.C语言的一些不足 我们首先看下面用C语言实现栈 #include<stdio.h> #include<assert.h> #include<stdlib.h> typedef int StackDateType; typedef struct Stack {StackDateType* _ps;size_t _size;size_t _capacity; }Stack; void StackInit(Stack* ps) {…

探索基因奥秘:汇智生物如何利用DNA亲和纯化测序技术革新生物医学研究?

引言&#xff1a; 随着生物医学技术的不断进步&#xff0c;我们对生命奥秘的探索越来越深入。在众多的生物技术中&#xff0c;表观组学分析技术逐渐成为研究的热点。本文将带您走进汇智生物&#xff0c;了解他们如何利用DNA亲和纯化测序技术&#xff08;DAP-seq&#xff09;推…