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进程锁的实现
Jun 14 Servers
使用 Apache Dubbo 实现远程通信(微服务架构)
Feb 12 Servers
nginx常用配置conf的示例代码详解
Mar 21 Servers
如何Tomcat中使用ipv6地址
May 06 Servers
使用Nginx的访问日志统计PV与UV
May 06 Servers
Nginx限流和黑名单配置
May 20 Servers
Tomcat 与 maven 的安装与使用教程
Jun 16 Servers
win sever 2022如何占用操作主机角色
Jun 25 Servers
win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法
Jun 25 Servers
Linux中sftp常用命令整理
Jun 28 Servers
Windows Server 2016服务器用户管理及远程授权图文教程
Aug 14 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
JAVA/JSP学习系列之二
2006/10/09 PHP
建立文件交换功能的脚本(二)
2006/10/09 PHP
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
2007/02/22 PHP
php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法
2015/05/25 PHP
PHP模型Model类封装数据库操作示例
2019/03/14 PHP
JavaScript 动态创建VML的方法
2009/10/14 Javascript
起点页面传值js,有空研究学习下
2010/01/25 Javascript
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
2012/10/11 Javascript
jquery中加载图片自适应大小主要实现代码
2013/08/23 Javascript
用队列模拟jquery的动画算法实例
2015/01/20 Javascript
Jquery 实现图片轮换
2015/01/28 Javascript
Javascript模仿淘宝信用评价实例(附源码)
2015/11/26 Javascript
JS使用正则表达式实现关键字替换加粗功能示例
2016/08/03 Javascript
AngularJS表单和输入验证实例
2016/11/02 Javascript
利用JS实现页面删除并重新排序功能
2016/12/09 Javascript
JS对象的深度克隆方法示例
2017/03/16 Javascript
BootStrap点击保存后实现模态框自动关闭的思路(模态框)
2017/09/26 Javascript
javascript中new Array()和var arr=[]用法区别
2017/12/01 Javascript
在vue项目中使用element-ui的Upload上传组件的示例
2018/02/08 Javascript
使用vue制作滑动标签
2019/09/21 Javascript
对layui数据表格动态cols(字段)动态变化详解
2019/10/25 Javascript
详解vuejs中执行npm run dev出现页面cannot GET/问题
2020/04/26 Javascript
[15:28]DOTA2 HEROS教学视频教你分分钟做大人-剧毒术士
2014/06/13 DOTA
使用python统计文件行数示例分享
2014/02/21 Python
Python中设置变量作为默认值时容易遇到的错误
2015/04/03 Python
python实现批量改文件名称的方法
2015/05/25 Python
Python的Flask框架应用程序实现使用QQ账号登录的方法
2016/06/07 Python
浅谈Python3实现两个矩形的交并比(IoU)
2020/01/18 Python
python 如何引入协程和原理分析
2020/11/30 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
2020/12/17 Python
Pycharm在指定目录下生成文件和删除文件的实现
2020/12/28 Python
计算机专业优秀大学生自我总结
2014/01/21 职场文书
银行工作检查书范文
2014/01/31 职场文书
中学综治宣传月活动总结
2015/05/07 职场文书
2019最新激励员工口号大全!
2019/06/28 职场文书
python中Pyqt5使用Qlabel标签播放视频
2022/04/22 Python