007 CentOS 7.9 apache-tomcat-9.0.89安装及配置




#!/bin/bash
# 安装Java环境
yum install java-1.8.0-openjdk-devel -y
 
# 验证Java安装
java -version
 
# 创建Tomcat用户
groupadd tomcat
useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
 
# 解压Tomcat到/opt/tomcat
tar xf apache-tomcat-9.0.89.tar.gz -C /opt/
ln -s /opt/apache-tomcat-9.0.89 /opt/tomcat
 
# 设置权限
chown -R tomcat:tomcat /opt/tomcat
 
# 设置Tomcat的环境变量
cat >> /opt/tomcat/bin/setenv.sh <<EOF
CATALINA_HOME=/opt/tomcat
CATALINA_BASE=/opt/tomcat
CATALINA_TMPDIR=/opt/tomcat/temp
JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk
CLASSPATH=\$JRE_HOME/lib/rt.jar:\$CATALINA_HOME/lib/servlet-api.jar:\$CATALINA_HOME/lib/jsp-api.jar
EOF
chmod +x /opt/tomcat/bin/setenv.sh
 
# 设置为服务
cat >> /etc/systemd/system/tomcat.service <<EOF
[Unit]
Description=Tomcat 9 servlet container
After=network.target
 
[Service]
Type=forking
 
User=tomcat
Group=tomcat
 
Environment="JAVA_HOME=/usr/lib/jvm/jre"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
Environment="JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom"
 
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
 
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable tomcat.service

这段代码首先通过yum安装Java环境,然后创建了一个名为tomcat的用户来运行Tomcat服务。接着,它将Tomcat解压到/opt/目录并创建一个符号链接指向新的目录。然后设置相应的权限,并为Tomcat创建一个setenv.sh文件,以设置环境变量。最后,它将Tomcat配置为systemd服务,以便可以使用systemctl命令来管理Tomcat服务。

最后修改于:2024年09月06日 09:57

评论已关闭

推荐阅读

Vue中使用mind-map实现在线思维导图
2024年08月04日
VUE
Web前端最全Vue实现免密登录跳转的方式_vue怎么样不登录返回首页,最强技术实现
2024年08月04日
VUE
vue3 项目搭建教程(基于create-vue,vite,Vite + Vue)
2024年08月04日
VUE
Vue-颜色选择器实现方案——>Vue-Color( 实战*1+ Demo*7)
2024年08月04日
VUE
Vue项目卡顿慢加载?这些优化技巧告诉你!_vue数据多渲染卡顿
2024年08月04日
VUE
vue中的keep-alive详解与应用场景
2024年08月04日
VUE
Vue、React实现excel导出功能(三种实现方式保姆级讲解)
2024年08月04日
vue-office/docx插件实现docx文件预览
2024年08月04日
VUE
java调用js文件的两种方法(支持V8引擎)
2024年08月04日
JavaScript:解决计算精度问题/mathjs/bignumber.js/big.js/decimal.js
2024年08月04日
两周从爬虫小白变大神 _yjs_js_security_passport
2024年08月04日
JS笔记(对象、函数、数组)
2024年08月04日
Markdown.js:强大的纯JavaScript Markdown解析器
2024年08月04日
Vue项目:js模拟点击a标签下载文件并重命名,URL文件地址下载方法、请求接口下载文件方法总结。
2024年08月04日
vue 父组件怎么获取子组件里面的data数据
2024年08月04日
VUE
个人开发实现AI套壳网站快速搭建(Vue+elementUI+SpringBoot)
2024年08月04日
el-table 表格封装并改造实现单元格可编辑
2024年08月04日
none
nodejs环境下创建vue项目、SSH密钥登陆!!!
2024年08月04日
vue+quill+element-ui实现视频、图片上传及缩放保姆级教程,轻松使用富文本
2024年08月04日
【three.js】22. Imported Models导入模型
2024年08月04日