安装Tomcat到Linux(源码)

Posted NetworkRen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安装Tomcat到Linux(源码)相关的知识,希望对你有一定的参考价值。

运行环境

系统版本: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(源码)的主要内容,如果未能解决你的问题,请参考以下文章

linux 源码安装tomcat7

在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途

mysql jdbc源码分析片段 和 Tomcat's JDBC Pool

linux下源码安装jdk1.8和tomcat8.5

linux源码安装nginx,并代理后端两个不同网站(tomcat容器)

Tomcat源码安装