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如何将http访问的网站改成https访问
Mar 31 Servers
解析在浏览器地址栏输入一个URL后发生了什么
Jun 21 Servers
nginx中proxy_pass各种用法详解
Nov 07 Servers
阿里云国际版 使用Nginx作为HTTPS转发代理服务器
May 11 Servers
鲲鹏 CentOS 7 安装Python3.7
May 11 Servers
docker 制作mysql镜像并自动安装
May 20 Servers
详解Nginx的超时keeplive_timeout配置步骤
May 25 Servers
Win Server2016远程桌面如何允许多用户同时登录
Jun 10 Servers
nginx之queue的具体使用
Jun 28 Servers
nginx静态资源的服务器配置方法
Jul 07 Servers
keepalived + nginx 实现高可用方案
Dec 24 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
PHP编程计算日期间隔天数的方法
2017/04/26 PHP
详解PHP的抽象类和抽象方法以及接口总结
2019/03/15 PHP
asp.net 30分钟掌握无刷新 Repeater
2011/09/16 Javascript
jquery form表单序列化为对象的示例代码
2014/03/05 Javascript
使用node.js半年来总结的 10 条经验
2014/08/18 Javascript
JS动态添加Table的TR,TD实现方法
2015/01/28 Javascript
Javascript中的arguments与重载介绍
2015/03/15 Javascript
JSONP之我见
2015/03/24 Javascript
js预加载图片方法汇总
2015/06/15 Javascript
JavaScript创建闭包的两种方式的优劣与区别分析
2015/06/22 Javascript
js实现下拉列表选中某个值的方法(3种方法)
2015/12/17 Javascript
NodeJS使用formidable实现文件上传
2016/10/27 NodeJs
NodeJs使用Mysql模块实现事务处理实例
2017/05/31 NodeJs
Bootstrap table使用方法记录
2017/08/23 Javascript
vue element中axios下载文件(后端Python)
2019/05/10 Javascript
layui数据表格实现重载数据表格功能(搜索功能)
2019/07/27 Javascript
解决vue cli4升级sass-loader(v8)后报错问题
2020/07/30 Javascript
在vue-cli3中使用axios获取本地json操作
2020/07/30 Javascript
ES6中的Javascript解构的实现
2020/10/30 Javascript
nuxt.js 在middleware(中间件)中实现路由鉴权操作
2020/11/06 Javascript
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
2017/10/01 Python
pandas全表查询定位某个值所在行列的方法
2018/04/12 Python
python3.5绘制随机漫步图
2018/08/27 Python
如何用OpenCV -python3实现视频物体追踪
2019/12/04 Python
python学生信息管理系统实现代码
2019/12/17 Python
python实现sm2和sm4国密(国家商用密码)算法的示例
2020/09/26 Python
JINS眼镜官方网站:日本最大的眼镜邮购
2016/10/14 全球购物
Exoticca英国:以最优惠的价格提供豪华异国情调旅行
2018/10/18 全球购物
有趣的广告词
2014/03/18 职场文书
篮球社团活动总结
2014/06/27 职场文书
督导岗位职责范本
2015/04/10 职场文书
2015年健康教育工作总结
2015/04/10 职场文书
运动会加油稿
2015/07/22 职场文书
防溺水主题班会教案
2015/08/12 职场文书
2016年感恩教师节校园广播稿
2015/12/18 职场文书
php png失真的原因及解决办法
2021/10/24 PHP