运行环境

系统版本:CentOS Linux release 7.3.1611

软件版本:Tomcat-9.0.11

硬件要求:无

安装过程

1、安装YUM-EPEL存储库

YUM-EPEL存储库由EPEL官网提供。

[root@localhost ~]# yum -y install epel-release.noarch

2、安装依赖

我这里使用的OpenJDK,建议大家采用JDK。

[root@localhost ~]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
[root@localhost ~]# java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

3、从官网下载Tomcat

下载Code(核心)版本。

[root@localhost ~]# wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-9/v9.0.12/bin/apache-tomcat-9.0.12.tar.gz

4、配置环境变量

有时候我们要使用Tomcat调试模式的时候可能会需要用到它。

[root@localhost ~]# vim /etc/profile
export JAVA_HOME=/usr
[root@localhost ~]# source /etc/profile

5、安装Tomcat

[root@localhost ~]# mkdir /usr/local/tomcat
[root@localhost ~]# tar xzvf apache-tomcat-9.0.11.tar.gz -C /usr/local/tomcat

6、配置Tomcat服务

配置Tomcat服务,将Tomcat服务的管理交给系统的Systemctl命令管理。

[root@localhost ~]# vim /usr/lib/systemd/system/tomcat.service
[Unit]
Description=tomcat [Service]
Type=forking
ExecStart=/usr/local/tomcat/apache-tomcat-9.0.11/bin/catalina.sh start
ExecStop=/usr/local/tomcat/apache-tomcat-9.0.11/bin/catalina.sh stop
ExecReload= [Install]
WantedBy=multi-user.target

7、配置Tomcat

若你想通过端口区分访问到不同的WEB站点,则复制多个"<Server>"配置设置不同端口即可。若通过域名方式区分访问到不同的WEB站点,则复制多个"<host>"配置设置不同的域名和要发布的网站根目录即可。

[root@localhost ~]# vim /usr/local/tomcat/apache-tomcat-9.0.11/conf/server.xml
<?xml version="1.0" encoding="UTF-8"?>
#==服务器配置==#
<Server port="8005" shutdown="SHUTDOWN">
#设置用于管理者通过"telnet"远程关闭Tomcat主服务器进程的操作端口和命令,建议修改。
# port 设置连接端口。
# shutdown 设置关闭Tomcat主服务进程的操作命令。
...
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
#设置一个用于处理HTTP请求的连接器。
# port 设置接受HTTP请求的端口。
# protocol 设置要使用的HTTP协议。
# connectionTimeout 设置连接超时时间,单位为毫秒。
# redorectPort 设置重定向端口,当接受到了一个HTTPS的请求,将其重定向到该端口上。
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
#设置一个用于处理AJP请求的连接器。当Tomcat与其他WEB服务器集成到一起使用时,则使用这个连接器传输
#效率较高,AJP是一个定向包协议,用于使用二进制格式的方式来传输可读性的文件数据。一般用于
#APACHE+Tomcat负载均衡时使用的协议。
# port 设置端口。
# protocal 设置AJP协议。
# redirectPort 设置重定向端口,当接受到了一个HTTPS的请求,将其重定向到该端口上。
<Engine name="Catalina" defaultHost="localhost">
#设置核心引擎配置。
# name 设置引擎名字。
# defaultHost 设置默认的WEB站点,在引擎中必须存在一个该项配置的WEB虚拟主机(WEB站点)。
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
################
#==WEB站点配置==#
################
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
#设置WEB站点,一个WEB虚拟主机。
# name 设置虚拟主机名,可以设置为是一个域名。
# appBase 设置WEB站点工作根目录。
# unpackWARs 设置是否自动解压WAR包,"true" or "false"。
# autoDeploy 设置是否自动部署WEB应用,"true" or "false"。
<Context docBase="test" path="/" reloadable="true">
#设置WEB站点下的WEB应用。
# docBase 设置根目录下WEB应用目录路径,WAR包的名字,或者是一个已解压的WEB应用目录。
# path 设置访问应用要使用的URI路径,根或者为空表示访问域名即访问到该WEB应用。
# reloadable 设置当应用包发生变化时是否自动重载应用,"true" or "false"。
<WatchedResource>WEB-INF/web.xml</WatchedResource>
#设置要监视的资源文件路径,当文件发生变化则会从新加载WEB应用。"web.xml"是一个WEB应
#用的主配置文件,每个JAVA-WEB应用都会有。
</Context> <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>
</Engine>
</Service>
</Server>

8、创建一个JSP测试页

[root@localhost ~]# mkdir  /usr/local/tomcat/apache-tomcat-9.0.11/webapps/test
[root@localhost ~]# vim /usr/local/tomcat/apache-tomcat-9.0.11/webapps/test/index.jsp
<html>
<head>
<title> hello world!</title>
</head>
<body>
<% out.println("hello world!"); %>
</body>
</html>

9、启动Tomcat

这边我们可以启动Tomcat先用命令"catalina.sh run"测试运行一下,是否可正常运行,若Tomcat运行不正常则会打印错误信息。

[root@localhost ~]# /usr/local/tomcat/apache-tomcat-9.0.11/bin/catalina.sh run
05-Sep-2018 21:29:53.410 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 7882 ms
[root@localhost ~]# systemctl start tomcat
[root@localhost bin]# netstat -lnupt |grep java
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 72010/java
tcp6 0 0 :::8009 :::* LISTEN 72010/java
tcp6 0 0 :::8080 :::* LISTEN 72010/java

12、访问测试

浏览器输入访问:http://server_name:port。

13、其他说明

默认情况下,Tomcat安装完成后在"webapps"目录下会自带四个WEB应用:docs(帮助文档)、examples(模板应用)、host-manger(主机管理)、manger(管理)。

我们可以通过访问"docs"查看如何使用Tomcat,以及对它的一些配置相关。

我们可以通过访问"mamger"查看Tomcat服务器运行状态,以及通过图形化的方式灵活的部署WEB应用。

安装Tomcat到Linux(源码)的更多相关文章

  1. Linux源码安装JDK1.8

    Linux源码安装Java 1.到官网下载 jdk-8u131-linux-x64.tar.gz 官网地址:http://www.oracle.com/technetwork/java/javase/ ...

  2. Debian 安装Linux源码

    参考: http://blog.chinaunix.net/uid-20683355-id-1895778.html http://www.linuxdiyf.com/viewarticle.php? ...

  3. mysql-5.5 for linux源码安装

    mysql-5.5 for linux源码安装 1.使用Yum安装依赖软件包 # yum install -y gcc gcc-c++ gcc-g77 autoconf automake bison  ...

  4. 转载 :Linux有问必答:如何在Debian或Ubuntu上安装完整的内核源码

    http://linux.cn/article-5015-1.html 问题:我需要为我的Debian或Ubuntu下载并安装完整树结构的内核源码以供编译一个定制的内核.那么在Debian或Ubunt ...

  5. linux源码安装mysql,shell编程学习,ubuntu

    一.mysql安装 以源码安装的方式编译和安装Mysql 5.6. 1.卸载旧版本 rpm -qa | grep mysql 检查是否有旧版本 查询结果:mysql-libs-5.1.73-7.el6 ...

  6. 『学了就忘』Linux软件包管理 — 47、Linux源码包的安装和卸载

    目录 1.源码包安装服务的注意事项 2.源码包安装服务的过程 3.源码包安装服务的删除 4.源码包安装服务的启动 5.源码包安装服务的关闭 1.源码包安装服务的注意事项 (1)安装服务选择哪种软件包? ...

  7. Linux源码安装RabbitMQ高可用集群

    1.环境说明 linux版本:CentOS Linux release 7.9.2009 erlang版本:erlang-24.0 rabbitmq版本:rabbitmq_server-3.9.13 ...

  8. Linux源码包安装程序

    ★安装OS时,建议提前安装开发组件 CentOS 6:Development Tools.Server Platform DevelopmentCentOS 7:Development Tools.D ...

  9. Linux源码包安装和脚本安装

    能够先 vi INSTALL 看看安装过程. 1.源码包安装 2.脚本安装

  10. Linux 源码包安装过程

    安装准备 安装gcc编译器 下载源码包 源代码保存位置:/usr/local/src/ 软件安装位置:/usr/local/ 解压缩下载的源码包 进入解压缩目录 软件配置与检查:./configure ...

随机推荐

  1. 推荐一款强大的轻量级模块化WEB前端快速开发框架--UIkit

    前言 今天给大家分享一款强大的轻量级模块化WEB前端快速开发框架--UIkit 到目前(2016-06-20)为止,UIkit在github上的Forks已达到了1350个,而Stars更是达到了69 ...

  2. 五款轻量型bug管理工具横向测评

    五款轻量型bug管理工具横向测评 最近正在使用的本地bug管理软件又出问题了,已经记不清这是第几次了,每次出现问题都要耗费大量的时间精力去网上寻找解决方案,劳心劳力.为了避免再次出现这样的情况,我决定 ...

  3. python-模拟页面调度LRU算法

    [题目描述]所谓LRU算法,是指在发生缺页并且没有空闲主存块时,把最近最少使用的页面换出主存块,腾出地方来调入新页面. 问题描述:一进程获得n个主存块的使用权,对于给定的进程访问页面次序,问当采用LR ...

  4. parseFloat的取值

    <script type="text/javascript"> document.write(parseFloat("10")) document. ...

  5. MySQL性能优化的5个维度

    面试官如果问你:你会从哪些维度进行MySQL性能优化?你会怎么回答? 所谓的性能优化,一般针对的是MySQL查询的优化.既然是优化查询,我们自然要先知道查询操作要经过哪些环节,然后思考可以在哪些环节进 ...

  6. Mysql各版本号的含义

    1)MySQL Community Server 社区版本,开源免费,但不提供官方技术支持2)MySQL Enterprise Edition企业版本,需付费,可以试用30天3)MySQL Clust ...

  7. Centos7 搭建 Socks 服务

    Centos7 搭建 Socks 服务 一丶拿到一个动态拨号的服务器还不能使用网络得先打开: pppoe-start 二丶安装命令汇总: 通过yum安装ss5 依赖包: yum install gcc ...

  8. python基础练习题(题目 画圈,学用circle画圆形。)

    day37 --------------------------------------------------------------- 实例056:画圈 题目 画图,学用circle画圆形. 分析 ...

  9. python基础练习题(题目 将一个整数分解质因数。例如:输入90,打印出90=2*3*3*5)

    day9 --------------------------------------------------------------- 实例014:分解质因数 题目 将一个整数分解质因数.例如:输入 ...

  10. 聊一聊Redis的离线分析

    背景 Redis 或许是我们大部分场景都会用到的一个利器,虽然是利器,用的姿势不对的话,终究还是会整出幺蛾子的. 比较常见的问题,不外乎内存暴增,慢查询等情况. 那么对于内存问题,可以借助redis自 ...