Linux 环境 Tomcat 服务器配置详解

Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器。Tomcat 运行时占用的系统资源小、扩展性好、支持负载平衡与邮件服务等开发应用系统常用的功能,Tomcat 是一个小型的轻量级应用服务器。Tomcat 和 IIS、Apache 等 Web 服务器一样,具有处理 HTML 页面的功能,另外它还是一个 Servlet 和 JSP 容器,独立的 Servlet 容器是 Tomcat 的默认模式。Tomcat 处理静态 HTML 的能力不如 Apache 服务器。

一、安装 JDK

Tomcat 服务器运行需要 JDK 支持,安装 Tomcat 之前要安装 Java JDk,步骤如下:

1、把 jdk-8u162-linux-x64.tar.gz 上传到 /usr/local 目录
[root@test soft]# cd /usr/local
[root@test local]# ll
总用量 185408
drwxr-xr-x. 2 root root      4096 923 2011 bin
drwxr-xr-x. 2 root root      4096 923 2011 etc
drwxr-xr-x. 2 root root      4096 923 2011 games
drwxr-xr-x. 2 root root      4096 923 2011 include
-rw-r--r--  1 root root 189815615 123 2022 jdk-8u162-linux-x64.tar.gz
drwxr-xr-x. 2 root root      4096 923 2011 lib
drwxr-xr-x. 2 root root      4096 923 2011 lib64
drwxr-xr-x. 2 root root      4096 923 2011 libexec
drwxr-xr-x. 2 root root      4096 923 2011 sbin
drwxr-xr-x. 5 root root      4096 627 21:23 share
drwxr-xr-x. 2 root root      4096 923 2011 src
2、解压缩文件
[root@test local]# tar zxvf jdk-8u162-linux-x64.tar.gz 

[root@test local]# mv jdk1.8.0_162 jdk1.8
[root@test local]# rm -rf jdk-8u162-linux-x64.tar.gz 
[root@test local]# ll
总用量 44
drwxr-xr-x. 2 root root 4096 923 2011 bin
drwxr-xr-x. 2 root root 4096 923 2011 etc
drwxr-xr-x. 2 root root 4096 923 2011 games
drwxr-xr-x. 2 root root 4096 923 2011 include
drwxr-xr-x  8 uucp  143 4096 1220 2017 jdk1.8
drwxr-xr-x. 2 root root 4096 923 2011 lib
drwxr-xr-x. 2 root root 4096 923 2011 lib64
drwxr-xr-x. 2 root root 4096 923 2011 libexec
drwxr-xr-x. 2 root root 4096 923 2011 sbin
drwxr-xr-x. 5 root root 4096 627 21:23 share
drwxr-xr-x. 2 root root 4096 923 2011 src
3、配置环境变量

修改配置文件 /etc/profile,在文件结尾添加如下内容:

[root@test local]# vi /etc/profile

# /etc/profile

# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc
..........

## 在文件末尾新增如下内容:
export JAVA_HOME=/usr/local/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
4、使环境变量配置生效
[root@test local]# source /etc/profile
5、测试
[root@test tomcat8.5.75]# java -version
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)

[root@test local]# javac
用法: javac <options> <source files>
其中, 可能的选项包括:
  -g                         生成所有调试信息
  -g:none                    不生成任何调试信息
  -g:{lines,vars,source}     只生成某些调试信息
  -nowarn                    不生成任何警告
  -verbose                   输出有关编译器正在执行的操作的消息
  -deprecation               输出使用已过时的 API 的源位置
  -classpath <路径>            指定查找用户类文件和注释处理程序的位置
  -cp <路径>                   指定查找用户类文件和注释处理程序的位置
  -sourcepath <路径>           指定查找输入源文件的位置
  -bootclasspath <路径>        覆盖引导类文件的位置
  -extdirs <目录>              覆盖所安装扩展的位置
  -endorseddirs <目录>         覆盖签名的标准路径的位置
  -proc:{none,only}          控制是否执行注释处理和/或编译。
  -processor <class1>[,<class2>,<class3>...] 要运行的注释处理程序的名称; 绕过默认的搜索进程
  -processorpath <路径>        指定查找注释处理程序的位置
  -parameters                生成元数据以用于方法参数的反射
  -d <目录>                    指定放置生成的类文件的位置
  -s <目录>                    指定放置生成的源文件的位置
  -h <目录>                    指定放置生成的本机标头文件的位置
  -implicit:{none,class}     指定是否为隐式引用文件生成类文件
  -encoding <编码>             指定源文件使用的字符编码
  -source <发行版>              提供与指定发行版的源兼容性
  -target <发行版>              生成特定 VM 版本的类文件
  -profile <配置文件>            请确保使用的 API 在指定的配置文件中可用
  -version                   版本信息
  -help                      输出标准选项的提要
  -A关键字[=]                  传递给注释处理程序的选项
  -X                         输出非标准选项的提要
  -J<标记>                     直接将 <标记> 传递给运行时系统
  -Werror                    出现警告时终止编译
  @<文件名>                     从文件读取选项和文件名

二、安装 Tomcat 服务器

1、把 apache-tomcat-8.5.75.tar.gz 上传到 /usr/local/ 目录下
[root@test local]# pwd
/usr/local
[root@test local]# rz
[root@test local]# ll
总用量 10392
-rw-r--r--  1 root root 10595855 123 2022 apache-tomcat-8.5.75.tar.gz
drwxr-xr-x. 2 root root     4096 923 2011 bin
drwxr-xr-x. 2 root root     4096 923 2011 etc
drwxr-xr-x. 2 root root     4096 923 2011 games
drwxr-xr-x. 2 root root     4096 923 2011 include
drwxr-xr-x  8 uucp  143     4096 1220 2017 jdk1.8
drwxr-xr-x. 2 root root     4096 923 2011 lib
drwxr-xr-x. 2 root root     4096 923 2011 lib64
drwxr-xr-x. 2 root root     4096 923 2011 libexec
drwxr-xr-x. 2 root root     4096 923 2011 sbin
drwxr-xr-x. 5 root root     4096 627 21:23 share
drwxr-xr-x. 2 root root     4096 923 2011 src
2、解压缩文件
[root@test local]# tar zxvf apache-tomcat-8.5.75.tar.gz 

[root@test local]# mv apache-tomcat-8.5.75 tomcat8.5.75
[root@test local]# rm apache-tomcat-8.5.75.tar.gz -rf
[root@test local]# ll
总用量 48
drwxr-xr-x. 2 root root 4096 923 2011 bin
drwxr-xr-x. 2 root root 4096 923 2011 etc
drwxr-xr-x. 2 root root 4096 923 2011 games
drwxr-xr-x. 2 root root 4096 923 2011 include
drwxr-xr-x  8 uucp  143 4096 1220 2017 jdk1.8
drwxr-xr-x. 2 root root 4096 923 2011 lib
drwxr-xr-x. 2 root root 4096 923 2011 lib64
drwxr-xr-x. 2 root root 4096 923 2011 libexec
drwxr-xr-x. 2 root root 4096 923 2011 sbin
drwxr-xr-x. 5 root root 4096 627 21:23 share
drwxr-xr-x. 2 root root 4096 923 2011 src
drwxr-xr-x  9 root root 4096 1117 23:38 tomcat8.5.75
3、配置环境变量

修改配置文件 /etc/profile,在文件结尾添加如下内容:

[root@test local]# vi /etc/profile

# /etc/profile

# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc
..........
export JAVA_HOME=/usr/local/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
.........
## 在文件末尾新增如下内容:
export CATALINA_HOME=/usr/local/tomcat8.5.75
4、使环境变量配置生效
[root@test local]# source /etc/profile
5、Tomcat 服务器的目录结构如下
[root@test tomcat8.5.75]# pwd
/usr/local/tomcat8.5.75
[root@test tomcat8.5.75]# ll
总用量 148
drwxr-x--- 2 root root  4096 1117 23:38 bin
-rw-r----- 1 root root 19481 118 2022 BUILDING.txt
drwx------ 2 root root  4096 118 2022 conf
-rw-r----- 1 root root  6210 118 2022 CONTRIBUTING.md
drwxr-x--- 2 root root  4096 1117 23:38 lib
-rw-r----- 1 root root 57011 118 2022 LICENSE
drwxr-x--- 2 root root  4096 118 2022 logs
-rw-r----- 1 root root  1726 118 2022 NOTICE
-rw-r----- 1 root root  3378 118 2022 README.md
-rw-r----- 1 root root  7136 118 2022 RELEASE-NOTES
-rw-r----- 1 root root 16507 118 2022 RUNNING.txt
drwxr-x--- 2 root root  4096 1117 23:38 temp
drwxr-x--- 7 root root  4096 118 2022 webapps
drwxr-x--- 2 root root  4096 118 2022 work
6、启动 Tomcat 服务器

进入 bin 目录,执行 startup.sh 脚本:

[root@test tomcat8.5.75]# cd bin
[root@test bin]# ll
总用量 876
-rw-r----- 1 root root  36431 118 2022 bootstrap.jar
-rw-r----- 1 root root  16840 118 2022 catalina.bat
-rwxr-x--- 1 root root  25294 118 2022 catalina.sh
-rw-r----- 1 root root   1664 118 2022 catalina-tasks.xml
-rw-r----- 1 root root   2123 118 2022 ciphers.bat
-rwxr-x--- 1 root root   1997 118 2022 ciphers.sh
-rw-r----- 1 root root  25357 118 2022 commons-daemon.jar
-rw-r----- 1 root root 207420 118 2022 commons-daemon-native.tar.gz
-rw-r----- 1 root root   2040 118 2022 configtest.bat
-rwxr-x--- 1 root root   1922 118 2022 configtest.sh
-rwxr-x--- 1 root root   9100 118 2022 daemon.sh
-rw-r----- 1 root root   2091 118 2022 digest.bat
-rwxr-x--- 1 root root   1965 118 2022 digest.sh
-rw-r----- 1 root root   3460 118 2022 setclasspath.bat
-rwxr-x--- 1 root root   3708 118 2022 setclasspath.sh
-rw-r----- 1 root root   2020 118 2022 shutdown.bat
-rwxr-x--- 1 root root   1902 118 2022 shutdown.sh
-rw-r----- 1 root root   2022 118 2022 startup.bat
-rwxr-x--- 1 root root   1904 118 2022 startup.sh
-rw-r----- 1 root root  51708 118 2022 tomcat-juli.jar
-rw-r----- 1 root root 428057 118 2022 tomcat-native.tar.gz
-rw-r----- 1 root root   4574 118 2022 tool-wrapper.bat
-rwxr-x--- 1 root root   5540 118 2022 tool-wrapper.sh
-rw-r----- 1 root root   2026 118 2022 version.bat
-rwxr-x--- 1 root root   1908 118 2022 version.sh

[root@test bin]# ./startup.sh
Using CATALINA_BASE:   /usr/local/tomcat8.5.75
Using CATALINA_HOME:   /usr/local/tomcat8.5.75
Using CATALINA_TMPDIR: /usr/local/tomcat8.5.75/temp
Using JRE_HOME:        /usr/local/jdk1.8/jre
Using CLASSPATH:       /usr/local/tomcat8.5.75/bin/bootstrap.jar:/usr/local/tomcat8.5.75/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
7、测试 Tomcat 服务器

Tomcat 服务器默认的端口为 8080,在浏览器中输入地址:http://192.168.1.13:8080/ 可以看到如下运行界面:

在这里插入图片描述

8、停止服务器

可以使用 ./shutdown.sh 命令来停止 Tomcat 服务器:

[root@test bin]# ./shutdown.sh
Using CATALINA_BASE:   /usr/local/tomcat8.5.75
Using CATALINA_HOME:   /usr/local/tomcat8.5.75
Using CATALINA_TMPDIR: /usr/local/tomcat8.5.75/temp
Using JRE_HOME:        /usr/local/jdk1.8/jre
Using CLASSPATH:       /usr/local/tomcat8.5.75/bin/bootstrap.jar:/usr/local/tomcat8.5.75/bin/tomcat-juli.jar
Using CATALINA_OPTS:   

三、配置 Tomcat 服务器

1、设置 Tomcat 服务器自动启动
(1)将 bin/catalina.sh 拷贝到 /etc/init.d 目录下,并重命名为 tomcat
[root@test tomcat8.5.75]# cp -p /usr/local/tomcat8.5.75/bin/catalina.sh /etc/init.d/tomcat

[root@test tomcat8.5.75]# ll /etc/init.d/tomcat
-rwxr-x--- 1 root root 25294 118 2022 /etc/init.d/tomcat
(2)编辑 tomcat 文件,加入以下内容
#在第二行加入以下内容:
[root@test bin]# vi /etc/init.d/tomcat

#!/bin/sh
# chkconfig: 112 63 37
# description: tomcat serverinit script
# Source Function Library
./etc/init.d/functions
JAVA_HOME=/usr/local/jdk1.8
CATALINA_HOME=/usr/local/tomcat8.5.75
(3)为 tomcat 文件赋予新的权限
[root@test bin]# ll /etc/init.d/tomcat
-rwxr-x--- 1 root root 25384 1119 07:43 /etc/init.d/tomcat
[root@test bin]# chmod 755 /etc/init.d/tomcat
[root@test bin]# ll /etc/init.d/tomcat
-rwxr-xr-x 1 root root 25384 1119 07:43 /etc/init.d/tomcat
(4)设置 Tomcat 服务器自动启动
[root@test bin]# chkconfig --add tomcat
[root@test bin]# chkconfig tomcat on
(5)启动和关闭 Tomcat
# 启动 tomcat
[root@test bin]# service tomcat start
/etc/init.d/tomcat: line 7: ./etc/init.d/functions: Permission denied
Using CATALINA_BASE:   /usr/local/tomcat8.5.75
Using CATALINA_HOME:   /usr/local/tomcat8.5.75
Using CATALINA_TMPDIR: /usr/local/tomcat8.5.75/temp
Using JRE_HOME:        /usr/local/jdk1.8
Using CLASSPATH:       /usr/local/tomcat8.5.75/bin/bootstrap.jar:/usr/local/tomcat8.5.75/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.

# 关闭 tomcat
[root@test bin]# service tomcat stop
/etc/init.d/tomcat: line 7: ./etc/init.d/functions: Permission denied
Using CATALINA_BASE:   /usr/local/tomcat8.5.75
Using CATALINA_HOME:   /usr/local/tomcat8.5.75
Using CATALINA_TMPDIR: /usr/local/tomcat8.5.75/temp
Using JRE_HOME:        /usr/local/jdk1.8
Using CLASSPATH:       /usr/local/tomcat8.5.75/bin/bootstrap.jar:/usr/local/tomcat8.5.75/bin/tomcat-juli.jar
Using CATALINA_OPTS:  
2、配置 tomcat 服务的访问端口

Tomcat 默认访问的端口是 8080,如果需要修改,则需要修改 server.xml 文件:

[root@test conf]# pwd
/usr/local/tomcat8.5.75/conf
[root@test conf]# ll
总用量 228
drwxr-x--- 3 root root   4096 1117 23:54 Catalina
-rw------- 1 root root  12954 118 2022 catalina.policy
-rw------- 1 root root   7675 118 2022 catalina.properties
-rw------- 1 root root   1338 118 2022 context.xml
-rw------- 1 root root   1149 118 2022 jaspic-providers.xml
-rw------- 1 root root   2313 118 2022 jaspic-providers.xsd
-rw------- 1 root root   3916 118 2022 logging.properties
-rw------- 1 root root   7580 118 2022 server.xml
-rw------- 1 root root   2756 118 2022 tomcat-users.xml
-rw------- 1 root root   2558 118 2022 tomcat-users.xsd
-rw------- 1 root root 171879 118 2022 web.xml
(1)打开文件:server.xml
把:
<Connector port="8080" protocol="HTTP/1.1"
修改为:
<Connector port="80" protocol="HTTP/1.1"
(2)重新启动 tomcat
[root@test conf]# service tomcat stop
/etc/init.d/tomcat: line 7: ./etc/init.d/functions: Permission denied
Using CATALINA_BASE:   /usr/local/tomcat8.5.75
Using CATALINA_HOME:   /usr/local/tomcat8.5.75
Using CATALINA_TMPDIR: /usr/local/tomcat8.5.75/temp
Using JRE_HOME:        /usr/local/jdk1.8
Using CLASSPATH:       /usr/local/tomcat8.5.75/bin/bootstrap.jar:/usr/local/tomcat8.5.75/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
[root@test conf]# service tomcat start
/etc/init.d/tomcat: line 7: ./etc/init.d/functions: Permission denied
Using CATALINA_BASE:   /usr/local/tomcat8.5.75
Using CATALINA_HOME:   /usr/local/tomcat8.5.75
Using CATALINA_TMPDIR: /usr/local/tomcat8.5.75/temp
Using JRE_HOME:        /usr/local/jdk1.8
Using CLASSPATH:       /usr/local/tomcat8.5.75/bin/bootstrap.jar:/usr/local/tomcat8.5.75/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
(3)测试

在浏览器中输入:http://192.168.1.13,结果如下:

在这里插入图片描述

3、配置 tomcat 服务器的应用目录

默认情况下 tomcat 的应用目录都是 webapps,可以修改为指定的目录。

(1)修改 server.xml 文件
<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
# 把appBase的值修改为自己定义的目录。
#例如:修改为 /www
<Host name="localhost"  appBase="/www" unpackWARs="true" autoDeploy="true">
(2)重新启动 tomcat
[root@test conf]# service tomcat stop
/etc/init.d/tomcat: line 7: ./etc/init.d/functions: Permission denied
Using CATALINA_BASE:   /usr/local/tomcat8.5.75
Using CATALINA_HOME:   /usr/local/tomcat8.5.75
Using CATALINA_TMPDIR: /usr/local/tomcat8.5.75/temp
Using JRE_HOME:        /usr/local/jdk1.8
Using CLASSPATH:       /usr/local/tomcat8.5.75/bin/bootstrap.jar:/usr/local/tomcat8.5.75/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
[root@test conf]# service tomcat start
/etc/init.d/tomcat: line 7: ./etc/init.d/functions: Permission denied
Using CATALINA_BASE:   /usr/local/tomcat8.5.75
Using CATALINA_HOME:   /usr/local/tomcat8.5.75
Using CATALINA_TMPDIR: /usr/local/tomcat8.5.75/temp
Using JRE_HOME:        /usr/local/jdk1.8
Using CLASSPATH:       /usr/local/tomcat8.5.75/bin/bootstrap.jar:/usr/local/tomcat8.5.75/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
(3)测试

在浏览器中输入:http://192.168.1.13,结果如下:

在这里插入图片描述

(4)在 /www 目录中建立目录 ROOT,并把网页文件上传到 /www/ROOT 目录
[root@test ROOT]# pwd
/www/ROOT
[root@test ROOT]# ll
总用量 44
-rw-r--r-- 1 root root 42978 125 2022 index.htm
(5)重新测试

在浏览器中输入:http://192.168.1.13,结果如下:

在这里插入图片描述

(6)自定义项目目录

打开 conf/server.xml 文件,在 标签中间,或者在 结束标签之间添加以下代码:

# <Context path="" docBase="自定义的默认项目路径" debug="0" reloadable="true" />
# path="" 表示应用目录下的直接目录,docBase 表示默认项目目录,reloadable 表示自动编译源文件为 class文件,
# 生产环境中可以设为 false,以提高 tomcat 服务器的性能。
      <Host name="localhost"  appBase="/www"
            unpackWARs="true" autoDeploy="true">
      <Context path="" docBase="/www" debug="0" reloadable="true" />

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <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>

然后重新启动 tomcat 服务。此时主页文件可以直接放到 /www 目录下,而不用放到 /www/ROOT 目录下。

[root@test www]# pwd
/www
[root@test www]# ll
总用量 48
-rw-r--r-- 1 root root 42978 125 2022 index.htm
drwxr-xr-x 2 root root  4096 1119 13:30 ROOT
Logo

更多推荐