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实现反向代理
Sep 20 Servers
本地通过nginx配置反向代理的全过程记录
Mar 31 Servers
nginx实现发布静态资源的方法
Mar 31 Servers
nginx location中多个if里面proxy_pass的方法
Mar 31 Servers
Windows下使用Nginx+Tomcat做负载均衡的完整步骤
Mar 31 Servers
扩展多台相同的Web服务器
Apr 01 Servers
nginx作grpc的反向代理踩坑总结
Jul 07 Servers
nginx请求限制配置方法
Jul 09 Servers
Minikube搭建Kubernetes集群
Mar 31 Servers
Nginx HTTP跳转至HTTPS
May 15 Servers
永中文档在线转换预览基于nginx配置部署方案
Jun 10 Servers
Linux下搭建SFTP服务器的命令详解
Jun 25 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
BBS(php & mysql)完整版(八)
2006/10/09 PHP
PHP错误WARNING: SESSION_START() [FUNCTION.SESSION-START]解决方法
2014/05/04 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
2014/06/05 PHP
10个简化PHP开发的工具
2014/12/25 PHP
php在apache环境下实现gzip配置方法
2015/04/02 PHP
php邮件发送的两种方式
2020/04/28 PHP
PHP的Yii框架入门使用教程
2016/02/15 PHP
使用JavaScript构建JSON格式字符串实现步骤
2013/03/22 Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
2013/09/10 Javascript
给html超链接设置事件不使用href来完成跳
2014/04/20 Javascript
告诉你什么是javascript的回调函数
2014/09/04 Javascript
javascript实现 百度翻译 可折叠的分享按钮列表
2015/03/12 Javascript
js实现交换运动效果的方法
2015/04/10 Javascript
jquery中ready()函数执行的时机和window的load事件比较
2015/06/22 Javascript
JS跨域请求的问题解析
2018/12/03 Javascript
[15:20]DOTA2亚洲邀请赛总决赛开幕式表演:羽泉献唱
2017/04/05 DOTA
[43:49]LGD vs CHAOS 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python下载文件时显示下载进度的方法
2015/04/02 Python
Python实现统计单词出现的个数
2015/05/28 Python
Python中几种导入模块的方式总结
2017/04/27 Python
Python中py文件引用另一个py文件变量的方法
2018/04/29 Python
Flask之flask-script模块使用
2018/07/26 Python
Python检查 云备份进程是否正常运行代码实例
2019/08/22 Python
python实现简单成绩录入系统
2019/09/19 Python
Python pip 安装与使用(安装、更新、删除)
2019/10/06 Python
pytorch nn.Conv2d()中的padding以及输出大小方式
2020/01/10 Python
GDAL 矢量属性数据修改方式(python)
2020/03/10 Python
Python利用matplotlib绘制折线图的新手教程
2020/11/05 Python
美国现代家具购物网站:LexMod
2019/01/09 全球购物
爱情保证书范文
2014/02/01 职场文书
学校评语大全
2014/05/06 职场文书
公司授权委托书格式范文
2014/10/02 职场文书
2019年教师入党申请书
2019/06/27 职场文书
标准发言稿结尾
2019/07/18 职场文书
JavaGUI模仿QQ聊天功能完整版
2021/07/04 Java/Android
面试官问我Mysql的存储引擎了解多少
2022/08/05 MySQL