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配置SSL证书出错解决方案
Mar 31 Servers
Nginx服务器添加Systemd自定义服务过程解析
Mar 31 Servers
Nginx的反向代理实例详解
Mar 31 Servers
使用 Apache 反向代理的设置技巧
Jan 18 Servers
如何通过cmd 连接阿里云服务器
Apr 18 Servers
Windows Server 2019 域控制器安装图文教程
Apr 28 Servers
openEuler 搭建java开发环境的详细过程
Jun 10 Servers
Windows Server 2022 超融合部署(图文教程)
Jun 25 Servers
Docker容器harbor私有仓库部署和管理
Aug 05 Servers
VMware虚拟机安装 Windows Server 2022的详细图文教程
Sep 23 Servers
源码安装apache脚本部署过程详解
Sep 23 Servers
ubuntu开机后ROS程序自启动问题
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
用cookies来跟踪识别用户
2006/10/09 PHP
PHP 5.5 创建和验证哈希最简单的方法详解
2013/11/07 PHP
PHP之密码加密的几种方式
2015/07/29 PHP
php写app接口并返回json数据的实例(分享)
2017/05/20 PHP
关于实现代码语法标亮 dp.SyntaxHighlighter
2007/02/02 Javascript
javascript比较文档位置
2008/04/08 Javascript
浅析document.ready和window.onload的区别讲解
2013/12/18 Javascript
jquery 通过name快速取值示例
2014/01/24 Javascript
node.js中的fs.fstat方法使用说明
2014/12/15 Javascript
JavaScript设计模式之建造者模式介绍
2014/12/28 Javascript
BOM系列第一篇之定时器setTimeout和setInterval
2016/08/17 Javascript
React中的refs的使用教程
2018/02/13 Javascript
详解Vue-cli webpack移动端自动化构建rem问题
2018/04/07 Javascript
微信小程序实现蒙版弹窗效果
2018/11/01 Javascript
如何使用puppet替换文件中的string
2018/12/06 Javascript
python实现折半查找和归并排序算法
2017/04/14 Python
Python查询IP地址归属完整代码
2017/06/21 Python
Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据示例
2019/01/23 Python
对python中不同模块(函数、类、变量)的调用详解
2019/07/16 Python
pytorch打印网络结构的实例
2019/08/19 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
2020/03/04 Python
django为Form生成的label标签添加class方式
2020/05/20 Python
python基于socket函数实现端口扫描
2020/05/28 Python
详细分析Python可变对象和不可变对象
2020/07/09 Python
天巡全球:Skyscanner Global
2017/06/20 全球购物
英国工艺品购物网站:Minerva Crafts
2018/01/29 全球购物
大学生关于奋斗的演讲稿
2014/01/09 职场文书
法制报告会主持词
2014/04/02 职场文书
幼儿教师求职信
2014/05/24 职场文书
电子商务专业应届生求职信
2014/05/28 职场文书
县政府领导班子四风问题对照检查材料思想汇报
2014/09/26 职场文书
借名购房协议书范本
2014/10/06 职场文书
2015年毕业生实习评语
2015/03/25 职场文书
汽车销售合同文本
2019/08/08 职场文书
导游词之任弼时故居
2020/01/07 职场文书
windows server2008 开启端口的实现方法
2022/06/25 Servers