JDK 安装:

# 选择版本:
yum list all | grep jdk # 安装openjdk-1.8.0:
yum install java-1.8.0-openjdk.x86_64 -y # rpm包的jdk安装:
下载JDK # 添加环境变量:
vim /etc/profile.d/jdk.sh
export JAVA_HOME=/use/java/default
export PATH=$JAVA_HOME/bin:$PATH
source jdk.sh # 检测安装后的openjdk的版本:
[root@node-2 ~]# java -version
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)

tomcat 安装:

################# RPM 安装####################
# 安装 Tomcat 软件依赖:
yum install tomcat tomcat-admin-webapps tomcat-webapps -y # 查看 yum 安装tomcat 到哪里:
rpm -ql tomcat # 启动tomcat:
systemctl enable tomcat.service
systemctl start tomcat.service ################ tar 安装 ########################
# 源码安装:
cd /data/src/
wget https://mirrors.bfsu.edu.cn/apache/tomcat/tomcat-8/v8.5.55/bin/apache-tomcat-8.5.55.tar.gz
tar -zxf apache-tomcat-8.5.55.tar.gz && mv apache-tomcat-8.5.55 /data/soft/
ln -sv /data/soft/apache-tomcat-8.5.55 /data/soft/tomcat # 添加系统账号(小权限用户来启动应用):
useradd -r www
chown -R www.www ./
su - www -c '/data/soft/tomcat/bin/catalina.sh start'
ps aux | grep tomcat

目录结构

目录 说明
bin 服务启动,停止相关
conf 配置文件
lib 库目录
logs 日志目录
webapps 应用程序,应用部署
work JSP 编译后的结果文件

配置文件:

文件名 说明
server.xml 主配置文件
web.xml 每个webapp只有部署后才能被访问,它的部署方式通常由web.xml进行定义,其存放位置为:WEB-INF/目录中,此文件为所有的webapps提供默认部署相关的配置
context.xml 每个webapp 都可以专用的配置文件, 它通常由专用的配置文件context.xml来定义,其存放位置为web-inf/目录中,此文件为所有的webapps提供默认配置.
tomcat-user.xml 用户认证的账号和密码文件
catalina.policy 当使用-security选项启动tomcat时,用于为tomcat设置安全策略.
catalina.properties java属性的定义文件, 用于设定加载器路径,以及一些与JVM调优相关参数
logging.properties 日志系统相关的配置,log4j

部署打包:

# 介绍参数:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
appBase # 代码目录
unpackWARs # 自动解压
autoDeploy # 自动部署 #部署Deploy:
1 部署: 将webapp的源文件放置到目标目录, 通过web.xml和context.xml 文件中的路径就可以访问该webapp,通过类加载器加载其特有的类和依赖的类到JVM上
1.1 ) 自动部署 Auto Deploy: Tomcat发现多了这个应用就把它加载起来.
1.2 ) 手动部署 :
1.2.1 ) 冷部署: 将webapp放到指定目录,才去启动Tomcat
1.2.2 ) 热部署: Tomcat 服务不停止,需要依赖工具manager,ant脚本,TCD(tomcat client deployer)等
2 反部署 undeploy: 停止webapp的运行,并从JVM上清楚已经加载的类,从tomcat实例上卸载掉webapp
3 启动start: 是webapp能够访问
4 停止stop : webapp 不能访问,不能提供服务,但是JVM并不清除它.

添加一个应用:

# cd
常见开发项目目录组成
# mkdir projects/myapp/{WEB-INF,classes,lib} -pv
mkdir: 已创建目录 "projects"
mkdir: 已创建目录 "projects/myapp"
mkdir: 已创建目录 "projects/myapp/WEB-INF"
mkdir: 已创建目录 "projects/myapp/classes"
mkdir: 已创建目录 "projects/myapp/lib" 常见应用首页,内容就用上面的test.jsp
# vi projects/myapp/index.jsp 手动复制项目目录到webapps目录下去
# cp -r projects/myapp/ /usr/local/tomcat/webapps/ 使用http://YourIP:8080/myapp/访问试试看

配置详解 server.xml


<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
</Host>
</Engine>
</Service>
</Server> ## 安全建议: 关闭此端口. 8005是Tomcat的管理端口,默认监听在127.0.0.1上。SHUTDOWN这个字符串接收到后就会关闭此Server。
<Server port="8005" shutdown="SHUTDOWN">
** 这个管理功能建议禁用,改shutdown为一串猜不出的字符串。
<Server port="8005" shutdown="aldfjfgfgdfasxcvbgjywrtyehefghdfgsdgsd"> ## 用户认证,配置文件是conf/tomcat-users.xml。
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>

打开tomcat-users.xml,我们需要一个角色manager-gui。

<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
<role rolename="manager-gui"/>
<user username="wayne" password="wayne" roles="manager-gui"/>
</tomcat-users> *** Tomcat启动加载后,这些内容是常驻内存的。如果配置了新的用户,需要重启Tomcat。

访问manager的时候告诉403,提示中告诉去manager的context.xml中修改

# 允许访问的IP或者网络(allow里面加入 192\.168\.\d+\.d+|0\.0\.0\.0|10\.\d+\.\d+\.\d+ )
vim /data/soft/tomcat/webapps/manager/META-INF/context.xml <?xml version="1.0" encoding="UTF-8"?>
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192\.168\.\d+\.d+|0\.0\.0\.0|10\.\d+\.\d+\.\d+" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Lin
ked)?HashMap"/>
</Context>

访问manager 页面,测试各种功能:

/data/soft/tomcat/bin/catalina.sh stop
/data/soft/tomcat/bin/catalina.sh start # 浏览器访问:
http://IP:8080/ 页面上功能即可使用

虚拟主机配置:

1 Service 实例配置:一般情况下一个server实例配置一个service,name属性相当于该Service的ID.
<Service name="Catalina"> 2 连接器配置:
* 8080是http端口,8443是https端口:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" /> 3 引擎配置:
* defaultHost指向内部定义某虚拟主机,缺省虚拟 主机可以改动,默认localhost.
*** 在defaultHost这里,可以更改主机的缺省默认主机id,必须是下面Host 区块里面的,默认访问就是制定的ID.一定要一样
<Engine name="Catalina" defaultHost="localhost"> 4 虚拟主机配置:
4.1 ) name 必须是主机名,用主机名来匹配.
4.2 ) appBase 当期主机的网页根目录, 相对于CATALINA_HOME,也可以使用绝对路径.
4.3 ) unpachWARs 是否自动解压war格式.
4.4 ) autoDeploy 热部署,自动加载并运行应用. 4.5 ) 创建网站根目录(/data/webapps/ROOT),创建内部文件夹(classes,lib,WEB-INF,index.jsp)
mkdir -p /data/webapps/ROOT && mkdir -pv /data/webapps/ROOT/{classes,lib,WEB-INF}, 再创建一个index.jsp. <Host name="node1.magedu.net" appBase="/data/webapps" unpackWARs="true" autoDeploy="false">
</Host>
*** 修改配置记得要重启.
/data/soft/tomcat/bin/catalina.sh configtest
/data/soft/tomcat/bin/catalina.sh stop
/data/soft/tomcat/bin/catalina.sh start """ index.jsp <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jsp例子</title>
</head>
<body>
node1.magedu.net 后面的内容是服务器端动态生成字符串,最后拼接在一起
<%
out.println("hello jsp");
%>
</body>
</html> """ 5 Context 配置:
5.1 ) 路径映射.
5.2 ) 应用独立配置,例如单独配置应用日志, 单独配置应用访问控制.
5.3 ) 代码如下:
<Host name="node1.magedu.net" appBase="/data/webapps" unpackWARs="true" autoDeploy="false">
<Context path="/test" docBase="/data/test" reloadable="" />
</Host> mkdir /data/myappv1 # 创建一个版本myappv1
cp -rf webapps/ROOT/* myappv1/ # cp 内容到新版本目录
ln -sv myappv1 test #给新版本做个软连接, ** 重启tomcat后
使用http://node1.magedu.com:8080/test/ 5.4 ) 配置说明:
path指的是访问的路径
docBase,可以是绝对路径,也可以是相对路径(相对于Host的appBase)
reloadable,true表示如果WEB-INF/classes或META-INF/lib目录下.class文件有改动,就会将WEB应用重新加载。
生成环境中,会使用false来禁用。 *** 注意:这里特别使用了软链接,原因就是以后版本升级,需要将软链接指向myappv2,重启Tomcat。如果新版上
线后,出现问题,重新修改软链接到上一个版本的目录,并重启,就可以实现回滚。

Tomcat-8 安装和配置的更多相关文章

  1. mac 下JDK 与 tomcat 的安装与配置

    一.Mac下JDK的安装 1.先检测Mac是否已经安装过JDK,在终端中输入java 或者 javac 显示说明,表明已经安装过JDK,JDK版本查询终端键入java -version,终端会返回JD ...

  2. TomCat的安装与配置方法

    经过自己的研究,各种烦,所以要写个博客,帮助大家安装这个软件. 一.安装TomCat(因为大家都安装了jdk,所以就不写了) 1.下载TomCat 网址如下:http://tomcat.apache. ...

  3. HappyAA服务器部署笔记1(nginx+tomcat的安装与配置)

    这是本人的服务器部署笔记.文章名称叫"部署笔记1"的原因是之后我对这个进行了改进之后,会有"部署笔记2","部署笔记3"...循序渐进,估计 ...

  4. TOMCAT的安装部署配置(配图解)

    TOMCAT的安装部署配置 前提已经成功搭建配置JDK 下载好压缩包后,直接解压至某一目录下,目录中不能包含中文 双击安装文件,出现如下界面 点击[NEXT],出现如下界面 点击[I AGREE],出 ...

  5. 1、Web容器的理解&Tomcat的安装与配置

    Web容器的理解 <Java Web开发实战经典——基础篇>一书中对Web容器这一概念阐述得很好,借用其观点对Web容器加以理解: 想要运行一个Java Web的程序,则必须有相应的Web ...

  6. Tomcat+JDK安装和配置

    Tomcat+JDK安装和配置 一.打开FlashFXP软件,建立连接,选择需要的包,右击传输到 /home/guest中 二.进入到:cd /home/guest中,对tomcat包进行解压 三.将 ...

  7. JDK和TOMCAT的安装与配置环境变量

    一.JDK该怎么安装与配置环境变量 步骤1.安装JDK选择安装目录,安装jdk1.8.0_77过程中会出现安装提示. 步骤2.(1)安装jdk随意选择目录 只需把默认安装目录\java之前的目录修改即 ...

  8. linux下jdk与tomcat的安装与配置

    Linux中jdk与tomcat的安装与配置 1.搭建环境: (1)Linux环境:CentOS6.1 (2)jdk-1.8 (3)tomcat-9.0 2.在Linux系统上创建目录 在usr/lo ...

  9. Apache Tomcat 7 安装与配置

    下载 首先需要下载tomcat7的安装文件,地址如下: http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.69/bin/apache-tomca ...

  10. JDK和Tomcat的安装与配置

    1       JDK的安装 2       JDK的配置 3       JDK安装成功的验证 4       Tomcat的安装 (1)     解压” apache-tomcat-6.0.35. ...

随机推荐

  1. 题解-洛谷P4229 某位歌姬的故事

    题面 洛谷P4229 某位歌姬的故事 \(T\) 组测试数据.有 \(n\) 个音节,每个音节 \(h_i\in[1,A]\),还有 \(m\) 个限制 \((l_i,r_i,g_i)\) 表示 \( ...

  2. CentOS 6.8内核版本升级

    1.查看当前版本 [root@www.linuxidc.com docker]# cat /etc/issue CentOS release 6.8 (Final) ​ Kernel \r on an ...

  3. xwiki升级8.8.4

    安装包下载: http://download.forge.ow2.org/xwiki/xwiki-enterprise-jetty-hsqldb-8.4.4.zip 推荐使用jetty包,方便快捷,不 ...

  4. Docker(二):Docker镜像仓库Harbor搭建

    安装docker-compose 因为docker-compose下载容易失败, 所以选择从github下载方式安装. [root@harbor ~]# mv docker-compose-Linux ...

  5. 仵航说 Vue用replace修改数组中对象的键值或者字段名 仵老大

    仵航说 Vue用replace修改数组中对象的键值或者字段名 仵老大 1.介绍 先看图 ​ 今天在项目中遇到了一个问题,例如我现在需要传一些数据到后端,数组例如是 let arr = [ {" ...

  6. vscode php转到定义

    点击再settings.json 中编辑 添加这一行,内容为php的安装路径

  7. 嵌入式开发笔记——调试组件SEGGER_HardFaultHandle

    一.前言 在使用Cortex-M内核的MCU进行开发时,有时候会因为对内存错误访问等原因造成程序产生异常从而进入HardFaultHandler错误中断.如果程序结构比较复杂,尤其是运行了RTOS时可 ...

  8. 持久层之 MyBatis: 第一篇:快速入门

    MyBatis入门到精通 JDBC回顾 1.1.认识MyBatis 1.1.使用IDEA创建maven工程 1.2.引入mysql依赖包 1.3.准备数据 1.4 使用JDBC手写MyBatis框架 ...

  9. 【electron-playground系列】打包优化之路

    作者:梁棒棒 简介 electron打包工具有两个:electron-builder,electron-packager,官方还提到electron-forge,其实它不是一个打包工具,而是一个类似于 ...

  10. 一.C语言概述

    C语言的起源 贝尔实验室的Dennis Ritchie在1972年开发了C,当时他正与ken Thompson一起设计UNIX操作系统,然而,C并不是完全由Ritchie构想出来的.它来自Thomps ...