Ubuntu Server 安装Tomcat并配置systemctl


Posted in Servers onApril 28, 2022

软件环境

  • 系统版本:Ubuntu Server 18.04.1 LTS
  • JDK版本:Java SE Development Kit 8u231
  • Tomcat版本:Tomcat 9.0.27 Released

1.下载安装

由于JDK下载需要登录,用wget下载不方便,建议先在别的机子先下载好再拷贝到Ubuntu上。

将下载好的JDK压缩包解压到指定目录

tar -zxvf jdk-8u231-linux-x64.tar.gz -C ~/server

解压后的JDK所在目录是/home/ubuntu/server/jdk1.8.0_231

PS:由于Linux权限的问题,建议将JDK安装到不需要root权限的目录。我这里是在home下创建了server目录

2.配置JDK环境变量

如果没有安装vim,需要先安装

sudo apt-get install vim

使用vim编辑环境变量文件

sudo vi /etc/profile

在文件最后加入JDK的环境变量

#set Java environment
export JAVA_HOME=/home/ubuntu/server/jdk1.8.0_231
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

使环境变量生效

source /etc/profile

查看JDK版本

java -version
#结果
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)

2 下载安装Tomcat

Tomcat下载不需要登录,可以直接用wget下载

wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.27/bin/apache-tomcat-9.0.27.tar.gz

解压到指定目录

tar -zxvf apache-tomcat-9.0.27.tar.gz ~/server

解压后的Tomcat所在目录是/home/ubuntu/server/apache-tomcat-9.0.27

PS:网上很多教程都说要为Tomcat配置环境变量,其实根本不需要

3 配置systemctl管理Tomcat服务

1.在tomcat的bin目录下创建setenv.sh文件

vi ~/server/apache-tomcat-9.0.27/bin/setenv.sh
#setenv.sh文件内容
CATALINA_PID="$CATALINA_BASE/tomcat.pid"

2.添加tomcat.service文件

sudo vi /lib/systemd/system/tomcat.service
#tomcat.service文件内容
[Unit]
Description=Tomcat
After=network.target remote-fs.target syslog.target
[Service]
Type=forking
PIDFile=/home/ubuntu/server/apache-tomcat-9.0.27/tomcat.pid
ExecStart=/home/ubuntu/server/apache-tomcat-9.0.27/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

3.重载systemctl守护进程

#重载守护进程
systemctl daemon-reload
#启动服务
sudo systemctl start tomcat
#停止服务
sudo systemctl stop tomcat
#重启服务
sudo systemctl restart tomcat
#开机自启动
sudo systemctl enable tomcat
#取消自启动
sudo systemctl disable tomcat

2019.11.13补充

在另外一台机器上安装的时候,启动Tomcat出现Neither the JAVA_HOME nor the JRE_HOME environment variable is defined,java的环境变量配置是正常的,但是就是说找不到。

解决方案:在Tomcat的目录下的bin/setclasspath.sh 文件的最上面加入java的环境变量

export JAVA_HOME=/home/ubuntu/server/jdk1.8.0_231
export JRE_HOME=$JAVA_HOME/jre

到此这篇关于Ubuntu Server 18.04 LTS 安装Tomcat并配置systemctl管理Tomcat服务的问题的文章就介绍到这了!


Tags in this post...

Servers 相关文章推荐
nginx实现发布静态资源的方法
Mar 31 Servers
Nginx本地目录映射实现代码实例
Mar 31 Servers
Nginx配置之实现多台服务器负载均衡
Aug 02 Servers
详解Nginx 被动检查服务器的存活状态
Oct 16 Servers
Nginx 路由转发和反向代理location配置实现
Nov 11 Servers
Nginx源码编译安装过程记录
Nov 17 Servers
nginx搭建NFS网络文件系统
Apr 14 Servers
利用Apache Common将java对象池化的问题
Jun 16 Servers
kubernetes集群搭建Zabbix监控平台的详细过程
Jul 07 Servers
SpringBoot前端后端分离之Nginx服务器下载安装过程
Aug 14 Servers
ubuntu端向日葵键盘输入卡顿问题及解决
Dec 24 Servers
Windows Server 2019 安装DHCP服务及相关配置
Windows Server 2019 域控制器安装图文教程
阿里云 Windows server 2019 配置FTP
Windows Server 2012 修改远程默认端口3389的方法
Windows Server 2008 修改远程登录端口以及配置防火墙
Windows Server 2019 配置远程控制以及管理方法
Windows Server 2016 配置 IIS 的详细步骤
You might like
二次元帅气男生排行榜,只想悄悄收藏系列
2020/03/04 日漫
cache_lite试用
2007/02/14 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
2017/12/25 PHP
jQuery右键菜单contextMenu使用实例
2011/09/28 Javascript
主页面中的两个iframe实现鼠标拖动改变其大小
2013/04/16 Javascript
jQuery鼠标事件总结
2016/10/13 Javascript
使用jsonp实现跨域获取数据实例讲解
2016/12/25 Javascript
jquery仿微信聊天界面
2017/05/06 jQuery
node+vue实现用户注册和头像上传的实例代码
2017/07/20 Javascript
解决vue this.$forceUpdate() 处理页面刷新问题(v-for循环值刷新等)
2018/07/26 Javascript
Vue配置marked链接添加target="_blank"的方法
2019/07/19 Javascript
python双向链表实现实例代码
2013/11/21 Python
通过数据库向Django模型添加字段的示例
2015/07/21 Python
asyncio 的 coroutine对象 与 Future对象使用指南
2016/09/11 Python
python实现求解列表中元素的排列和组合问题
2018/03/15 Python
对python中raw_input()和input()的用法详解
2018/04/22 Python
python将.ppm格式图片转换成.jpg格式文件的方法
2018/10/27 Python
python的几种矩阵相乘的公式详解
2019/07/10 Python
Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析
2019/09/20 Python
python获取array中指定元素的示例
2019/11/26 Python
Pytorch 实现冻结指定卷积层的参数
2020/01/06 Python
pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)
2020/01/18 Python
基于Python pyecharts实现多种图例代码解析
2020/08/10 Python
django使用graphql的实例
2020/09/02 Python
Python Unittest原理及基本使用方法
2020/11/06 Python
Html5移动端弹幕动画实现示例代码
2018/08/27 HTML / CSS
优秀体育委员自荐书
2014/01/31 职场文书
机关党员四风问题个人整改措施
2014/10/26 职场文书
我的中国梦主题教育活动总结
2015/05/07 职场文书
初中英语教师个人工作总结2015
2015/07/21 职场文书
css position fixed 左右双定位的实现代码
2021/04/29 HTML / CSS
Django显示可视化图表的实践
2021/05/10 Python
浅谈mysql增加索引不生效的几种情况
2021/06/23 MySQL
python自动化八大定位元素讲解
2021/07/09 Python
使用CSS实现按钮边缘跑马灯动画
2023/05/07 HTML / CSS