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常用命令放入shell脚本详解
Mar 31 Servers
Nginx域名转发使用场景代码实例
Mar 31 Servers
nginx的zabbix 5.0安装部署的方法步骤
Jul 16 Servers
Nginx部署vue项目和配置代理的问题解析
Aug 04 Servers
总结高并发下Nginx性能如何优化
Nov 01 Servers
Mac电脑OS系统下安装Nginx的详细教程
Apr 14 Servers
Windows Server 2016 配置 IIS 的详细步骤
Apr 28 Servers
Windows Server 2019 配置远程控制以及管理方法
Apr 28 Servers
Windows server 2012 R2 安装IIS服务器
Apr 29 Servers
Tomcat配置访问日志和线程数
May 06 Servers
nginx 配置指令之location使用详解
May 25 Servers
ssh服务器拒绝了密码 请再试一次已解决(亲测有效)
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
完美解决dedecms中的[html][/html]和[code][/code]问题
2007/03/20 PHP
php不用内置函数对数组排序的两个算法代码
2010/02/08 PHP
php去除字符串中空字符的常用方法小结
2015/03/17 PHP
php生成图片验证码的实例讲解
2015/08/03 PHP
php在数据库抽象层简单使用PDO的方法
2015/11/03 PHP
laravel5.1框架基础之Blade模板继承简单使用方法分析
2019/09/05 PHP
laravel 实现用户登录注销并限制功能
2019/10/24 PHP
JS获取浏览器版本及名称实现函数
2013/04/02 Javascript
jquery处理json数据实例分析
2014/06/03 Javascript
最新最热最实用的15个jQuery插件汇总
2015/07/05 Javascript
JS中用try catch对代码运行的性能影响分析
2016/12/26 Javascript
图文详解Javascript中的上下文和作用域
2017/02/15 Javascript
jQuery 实现图片的依次加载图片功能
2017/07/06 jQuery
微信小程序上传图片到php服务器的方法
2019/05/23 Javascript
vue相同路由跳转强制刷新该路由组件操作
2020/08/05 Javascript
javascript中闭包closure的深入讲解
2021/03/03 Javascript
[53:44]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第一场 1月31日
2021/03/11 DOTA
Python 冒泡,选择,插入排序使用实例
2015/02/05 Python
python读取二进制mnist实例详解
2017/05/31 Python
Django 创建/删除用户的示例代码
2019/07/24 Python
python基于TCP实现的文件下载器功能案例
2019/12/10 Python
keras 自定义loss损失函数,sample在loss上的加权和metric详解
2020/05/23 Python
Python轻量级web框架bottle使用方法解析
2020/06/13 Python
解决tensorflow读取本地MNITS_data失败的原因
2020/06/22 Python
纯CSS3绘制打火机动画火焰效果
2016/07/18 HTML / CSS
大都会艺术博物馆商店:The Met Store
2018/06/22 全球购物
如何整合JQuery和Prototype
2014/01/31 面试题
数控专业推荐信范文
2013/12/02 职场文书
致跳高运动员加油稿
2014/02/12 职场文书
英文求职信写作小建议
2014/02/16 职场文书
幼儿生日活动方案
2014/08/27 职场文书
思想作风建设心得体会
2014/10/22 职场文书
抢劫罪辩护词
2015/05/21 职场文书
员工工作心得体会
2019/05/07 职场文书
python绘图subplots函数使用模板的示例代码
2021/04/30 Python
如何开发一个渐进式Web应用程序PWA
2021/05/10 Javascript