运行环境

系统版本: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. ES6实战:新数字方法

    本文翻译自:https://www.sitepoint.com/es6... 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 本文介绍了ES6中全新的数字方 ...

  2. Web 开发中 Blob 与 FileAPI 使用简述

    本文节选自 Awesome CheatSheet/DOM CheatSheet,主要是对 DOM 操作中常见的 Blob.File API 相关概念进行简要描述. Web 开发中 Blob 与 Fil ...

  3. web开发者踏入人工智能的利器_Tensorflow.js

    前言 最近公司向员工搜集公司杂志的文章,刚好最近学习了机器学习相关课程.为了赚取购买课程的费用,所以写了如下文章投稿赚取稿费. 如下文章可能涉及一些我所购买课程的内容,所以不便将所有资源进行展示. 当 ...

  4. 【uniapp 开发】智能温控开关 (环状图)

    index.vue <template> <view> <view class="qiun-columns"> <uCharts id=& ...

  5. 【MarkDown】使用

    1. 插入代码 在代码前后加上三个点样式的标识符: ``` 效果: 我是代码 1-1 换行 &符号加上 "ensp;"   2. 标题样式定制 # 一级标题 ## 二级标题 ...

  6. jboss 7.1.1.final 报错 set the maxParameterCount attribute on the Connector

    Therefore, I cannot just add the connector attribute in standalone.xml like so: 在 <JBOSS_HOME> ...

  7. Mysql中如何开启慢查询功能?

    1.修改mysql的配置文件my.ini,增加如下信息,修改之后需要重启mysql服务器. 2.执行一句sql查询语句,结果如下. mysql> select count(*) from ecs ...

  8. 记一次线上websocket返回400问题排查

    现象 生产环境websocket无法正常连接,服务端返回400 bad request,开发及测试环境均正常. 抓包排查 src:nginx服务器 172.16.177.193dst:imp应用服务器 ...

  9. Markdown练习

    这是一级标题 这是二级标题 这是三级标题 这是无序列表1 这是无序列表2 有序1 有序2 重点 计网 1. 第一章 第一部分 1.概念.组成.功能和分类 1. 概念 计算机网络是互连的.自治的计算机的 ...

  10. Fastjson JdbcRowSetImpl利用链学习

    JdbcRowSetImpl 接着继续学习fastjson的第二条链JdbcRowSetImpl,主要是利用jndi注入达到的攻击,而且没有什么利用限制,而且其原理就是setter的自动调用,具体se ...