最近在做一个 Java 相关的项目,折腾一下 Tomcat😐

安装 JDK

进入 Oracle 官方网站的下载页面

然后,选择下载相应的压缩包,输入以下命令查看系统位数:

getconf LONG_BIT

上传下载的安装包,创建安装目录

mkdir /usr/local/java/

解压缩到安装目录

tar -zxvf jdk-8u251-linux-x64.tar.gz -C /usr/local/java/

设置环境变量,执行以下命令,编辑 /etc/bashrc 文件:

vi /etc/bashrc

在文件的末尾添加如下内容:

export JAVA_HOME=/usr/local/java/jdk1.8.0_251
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

执行以下命令,使刚刚设置的环境变量生效:

source /etc/bashrc

查看 Java 的版本,验证安装:

java -version

安装 Tomcat9

进入 Tomcat 官方网站的下载页面,点击下载 Core 下的 tar.gz 压缩包,并上传到服务器

创建安装目录

mkdir /usr/local/tomcat/

解压缩到安装目录

tar -zxvf apache-tomcat-9.0.35.tar.gz -C /usr/local/tomcat/

配置环境变量:

vim /etc/profile

在最下方添加如下命令:

export CATALINA_HOME=/usr/local/tomcat9/apache-tomcat-9.0.35

使命令生效:

source /etc/profile

修改端口号与字符集: /apache-tomcat-9.0.35.tar.gz/conf/server.xml

<Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" 
                URIEncoding="UTF-8" />

修改 tomcat 内存,找到 %Tomcat_Home%/bin/catalina.sh,添加如下代码:

JAVA_OPTS="-server -Xms4096m -Xmx4096m"

添加到系统服务

因为启动 tomcat 会调用 tomcat 安装文件中的 startup.bat,而它调用了 catalina.bat 则调用了 setclasspath.bat。因此需要在 setclasspath.bat 的开头手动声明环境变量。

打开 tomcat 的 bin 目录下的 setclasspath.sh,添加 JAVA_HOME 和 JRE_HOME 两个环境变量

export JAVA_HOME=/usr/local/java/jdk1.8.0_251
export JRE_HOME=$JAVA_HOME/jre

在系统的 /lib/systemd/system/ 目录下创建 tomcat.service 文件:

vi /lib/systemd/system/tomcat.service

输入以下内容:

[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/tomcat/apache-tomcat-9.0.35/bin/startup.sh
ExecReload=/usr/local/tomcat/apache-tomcat-9.0.35/bin/startup.sh -s reload
ExecStop=/usr/local/tomcat/apache-tomcat-9.0.35/bin/shutdown.sh
PrivateTmp=true

[Install]
WantedBy=multi-user.target

保存脚本文件后设置文件的执行权限:

chmod a+x /lib/systemd/system/tomcat.service

刷新 systemctl

systemctl daemon-reload

配置完脚本以后,就可以使用以下命令设置开机自启动等操作了:

systemctl enable tomcat.service          # 设置开机自启动
systemctl disable tomcat.service         # 停止开机自启动
systemctl start tomcat.service          # 启动 tomcat 服务
systemctl stop tomcat.service           # 停止服务
systemctl status tomcat.service          # 查看服务当前状态
systemctl list-units --type=tomcat    # 查看所有已启动的服务

查看内存使用情况

打开 %Tomcat_Home%/conf/tomcat-users.xml 文件,在 tomcat-users 标签里新增一个用户:

<role rolename="manager-gui"/>
<user username="atp" password="a1t2p3#3" roles="manager-gui"/>

访问 http://localhost:8080/manager/status,输入刚刚新增的用户名和密码,即可看到内存使用情况(默认只能本地访问,可以通过修改 webapps/manager/META-INF/context.xml 配置文件设置可访问的 IP)

如果你认为这篇文章还不错,可以考虑为我充电 ⚡️