|
主题设置

卡片式面板通常用于非白色背景色的主体内

Linux 安装 Tomcat

以下是在 Linux 上安装 Apache Tomcat 的简要步骤。

安装准备

安装 Tomcat 之前必须安装 JDK,详见 JDK 安装

虽然 Tomcat6.0 之后就不需要安装 JDK 了,只需要 JRE(Java Runtime Environment:运行环境),但还是建议安装 JDK,因为 JDK 里自带了 JRE。

下载 Tomcat

下载 Tomcat:Tomcat 官网下载地址

选择需要下载的版本

下载 tar.gz 文件

下载成功:点击下载

打开 Windows 的命令窗口,执行以下命令将下载到的文件从 Windows 复制到 Linux 系统:

pscp -r C:\Users\zk\Downloads\apache-tomcat-9.0.29.tar.gz root@46.90.244.69:/usr/local

命令解析:

  • pscp -r:复制文件
  • C:\Users\zk\Downloads\apache-tomcat-9.0.29.tar.gz:文件在 Windows 中的路径
  • root:Linux 的用户名
  • 46.90.244.69:Linux 的 IP 地址
  • usr/local:要复制到的 Linux 上的路径

复制完成

登录 Linux 系统查看是否收到文件

安装

解压文件:tar -xzvf apache-tomcat-9.0.29.tar.gz

因为 Tomcat 的安装路径中不能有-,所以需要 apache-tomcat-9.0.29 重命名:mv apache-tomcat-9.0.29 tomcat9.0

重命名成功

解压 tomcat9.0/bin 目录下的 commons-daemon-native.tar.gz 文件:tar xzvf commons-daemon-native.tar.gz

解压成功

进入 commons-daemon-1.2.2-native-src 下的 unix 目录

检查 JDK 配置

如果 JDK 未配置,需要先配置 JDK,详见 JDK 安装

配置完 JDK 后,再次检查

在 unix 目录下编译安装:make

执行 make 命令会在当前目录下生成一个 jsvc 文件,将其复制到 tomcat 的 bin 目录:cp jsvc /usr/local/tomcat9.0/bin

启动 Tomcat

由于 root 用户直接用 ./startup.sh 命令启动 Tomcat 有一个严重的问题,那就是 Tomcat 会具有 root 权限,这意味着任何一个页面脚本(html/js)都具有 root 权限,可以轻易的用页面脚本去修改硬盘里的文件,所以这里要用非 root 用户启动 Tomcat。

新建一个叫 tomcat 的用户(可以为用户指定用户组,也可以不指定。但是如果 Linux 系统用作服务器的时候,建议指定用户组。因为作为服务器时会有很多人登录服务器,此时通过用户组来设置权限就非常方便了,比如某个用户组只能看到某几个文件夹,其他的这个用户组不可见)

新建用户组(其 GID 为 1111;组名为 operate):groupadd -g 1111 operate

新建用户 tomcat :useradd -g operate -s /sbin/nologin tomcat

  • -g operate:指定用户所属用户组
  • -s /sbin/nologin:指定用户家目录为 sbin,且禁止登陆

更改 Tomcat 文件的所有者:chown -R tomcat:operate /usr/local/tomcat9.0/

赋予 tomcat 用户执行权:>chmod a+x /usr/local/tomcat9.0/bin/daemon.sh

修改启动脚本文件:vi /usr/local/tomcat9.0/bin/daemon.sh

找到如下内容进行修改(输入 i 进入编辑状态,改完按 esc 退出编辑,输入 :wq 退出并保存)

以守护进程(daemon)的方式启动tomcat:/usr/local/tomcat9/bin/daemon.sh start

发现以守护进程的方式启动失败,琢磨了好久也没解决,不得已,最终还是在 bin 目录下用了 ./startup.sh 启动了 Tomcat。

浏览器访问:http://47.100.244.169:8080/

设置开机启动

关闭Tomcat:./shutdown.sh

将 tomcat9/bin 目录下的 catalina.sh 文件拷贝到 /etc/init.d 下,并重命名为 tomcat:cp -p /usr/local/tomcat9/bin/catalina.sh /etc/init.d/tomcat

用 vi 命令编辑 tomcat 文件(输入 i 进入编辑状态,改完按 esc 退出编辑,输入 :wq 退出并保存)

在第一行 #!/bin/sh 下面添加如下代码:

# chkconfig: 112 63 37
# description: tomcat serverinit script
# Source Function Library
./etc/init.d/functions
JAVA_HOME=/usr/local/jdk1.8.0_231
CATALINA_HOME=/usr/local/tomcat9

保存之后,需要重新载入一下配置文件:systemctl daemon-reload

给 tomcat 文件赋予权限

chmod 755 /etc/init.d/tomcat

chkconfig --add tomcat

chkconfig tomcat on

启动 Tomcat:service tomcat start

浏览器访问:http://47.100.244.169:8080/

停止 Tomcat:service tomcat stop

浏览器访问:http://47.100.244.169:8080/,服务关闭后访问失败。

查看 Tomcat 信息

以服务方式查看 Tomcat 版本信息:service tomcat version

查看 Tomcat 进程:ps -ef|grep tomcat

查看日志:tail /usr/local/tomcat9/logs/catalina.out

清空日志:truncate -s 0 /usr/local/tomcat9/logs/catalina.out

清空日志详见:Linux 清空 catalina.out 日志

解决启动慢的问题

打开 $JAVA_PATH/jre/lib/security/java.security 这个文件(输入 i 进入编辑状态,改完按 esc 退出编辑,输入 :wq 退出并保存)

找到如下内容:

securerandom.source=file:/dev/urandom 或 securerandom.source=file:/dev/random

替换成:

securerandom.source=file:/dev/./urandom