Wave Spread...

CentOS 7 下配置 Java 环境并配置Tomcat

分类:Linux 评论: 0

记录一下 CentOS 7 下配置 Java 环境并配置 Tomcat 9

配置 Java 环境(JRE

检查系统默认 JDK 版本

[root@domain ~]# java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.1) (rhel-1.45.1.11.1.el6-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

卸载默认 openjdk

[root@domain ~]# yum remove java*

下载新版 Java 环境

[root@domain ~]# wget https://wave.red/Linux/CentOS/jre-10.0.2_linux-x64_bin.rpm

注意:本教程使用第三方地址,若需要请使用官方地址下载。

部署 Java 环境

[root@domain ~]# rpm -Uvh jre-10.0.2_linux-x64_bin.rpm

检查 JDK 版本

[root@domain ~]# java -version
java version "10.0.2" 2018-07-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.2+13)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)

配置 Tomcat 环境

下载 Tomcat

[root@domain ~]# wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-9/v9.0.11/bin/apache-tomcat-9.0.11.tar.gz

注意:此链接为国内CDN,国外请使用下面的地址。

[root@domain ~]# wget https://wave.red/Linux/apache-tomcat-9.0.11.tar.gz

解压 Tomcat

[root@domain ~]# tar xf apache-tomcat-9.0.11.tar.gz

移动至常用安装目录

[root@domain ~]# mv apache-tomcat-9.0.11/ /usr/local/

建立软链接方便使用及配置

[root@domain ~]# ln -s /usr/local/apache-tomcat-9.0.11/ /usr/local/tomcat

尝试启动测试

[root@domain ~]# cd /usr/local/tomcat/bin/
[root@domain bin]# bash startup.sh

检查端口是否启动

[root@domain ~]# ss -lntup | grep 8080
tcp    LISTEN     0      100      :::8080                 :::*                   users:(("java",pid=22661,fd=37))

配置 Tomcat 环境变量

Tomcatbin 目录下新建脚本文件

[root@domain bin]# cat > setenv.sh <<EOF
# Tomcat PID Path
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
# Java Opts
JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
EOF

赋予执行权限

[root@domain bin]# chmod 0750 setenv.sh

配置 systemd 守护

编写守护单元

[root@domain ~]# vim /usr/lib/systemd/system/tomcat.service

写入以下配置

[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/apache-tomcat-9.0.11/tomcat.pid
ExecStart=/usr/local/apache-tomcat-9.0.11/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

小贴士:其中的 PIDFileExecStart按实际路径配置。

配置服务启动

[root@domain ~]# systemctl enable tomcat         # 配置自启
[root@domain ~]# systemctl start tomcat          # 启动服务
[root@domain ~]# systemctl stop tomcat           # 关闭服务
[root@domain ~]# systemctl restart tomcat        # 重启服务

配置 GUI 项目部署

编辑配置文件

[root@domain ~]# cd /usr/local/apache-tomcat-9.0.11/conf/
[root@domain conf]# vim tomcat-users.xml

在最后的</tomcat-users>标签上添加以下几行配置

<role rolename="manager"/>
 <role rolename="admin"/>
 <role rolename="admin-gui"/>
 <role rolename="manager-gui"/>
 <user username="kane" password="passwd" roles="admin-gui,manager-gui"/>

注意:用户密码请按需重定义。

编辑配置文件

[root@domain ~]# cd /usr/local/tomcat/webapps/manager/META-INF/
[root@domain META-INF]# vim context.xml 

Valve 标签注释掉

<Context antiResourceLocking="false" privileged="true" >
<!--
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)
|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?Hash
Map"/>
</Context>

重启 Tomcat

[root@domain ~]# systemctl restart tomcat

部署 Java 项目

页面部署项目

访问 http://domain:8080/ 点击中间绿色区域内的 Manager App 输入之前设置的用户名和密码

点击 WAR file to deploy 选项中的 Upload上传软件包,然后点击Deploy按钮部署即可。

回复