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开启Brotli压缩算法实现过程详解
Mar 31 Servers
Nginx反爬虫策略,防止UA抓取网站
Mar 31 Servers
nginx服务器的下载安装与使用详解
Aug 02 Servers
Nginx location 和 proxy_pass路径配置问题小结
Sep 04 Servers
教你利用Nginx 服务搭建子域环境提升二维地图加载性能的步骤
Sep 25 Servers
docker-compose部署Yapi的方法
Apr 08 Servers
Windows server 2012 R2 安装IIS服务器
Apr 29 Servers
Nginx限流和黑名单配置
May 20 Servers
详解ZABBIX监控ESXI主机的问题
Jun 21 Servers
Docker部署Mysql8的实现步骤
Jul 07 Servers
服务器nginx权限被拒绝解决案例
Sep 23 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
实例讲解yii2.0在php命令行中运行的步骤
2015/12/01 PHP
PHP调用接口API封装的例子
2019/10/11 PHP
网页开发中的容易忽略的问题 javascript HTML中的table
2009/04/15 Javascript
jquery.idTabs 选项卡使用示例代码
2014/09/03 Javascript
PHP+mysql+Highcharts生成饼状图
2015/05/04 Javascript
利用JavaScript脚本实现滚屏效果的方法
2015/07/07 Javascript
四种参数传递的形式——URL,超链接,js,form表单
2015/07/24 Javascript
BootStrap实用代码片段之一
2016/03/22 Javascript
使用jQuery.Qrcode插件在客户端动态生成二维码并添加自定义Logo
2016/09/01 Javascript
常用JS图片滚动(无缝、平滑、上下左右滚动)代码大全(推荐)
2016/12/20 Javascript
Vue.js render方法使用详解
2017/04/05 Javascript
Vue Cli与BootStrap结合实现表格分页功能
2017/08/18 Javascript
js实现加载页面就自动触发超链接的示例
2017/08/31 Javascript
提升页面加载速度的插件InstantClick
2017/09/12 Javascript
如何使用puppet替换文件中的string
2018/12/06 Javascript
搭建一个Koa后端项目脚手架的方法步骤
2019/05/30 Javascript
EasyUI 数据表格datagrid列自适应内容宽度的实现
2019/07/18 Javascript
JavaScript canvas实现雪花随机动态飘落
2020/02/08 Javascript
javascript 使用sleep函数的常见方法详解
2020/04/26 Javascript
python中使用mysql数据库详细介绍
2015/03/27 Python
对django的User模型和四种扩展/重写方法小结
2019/08/17 Python
Python脚本操作Excel实现批量替换功能
2019/11/20 Python
pandas实现DataFrame显示最大行列,不省略显示实例
2019/12/26 Python
python 已知平行四边形三个点,求第四个点的案例
2020/04/12 Python
婚礼证婚人证婚词
2014/01/13 职场文书
单位成立周年感言
2014/01/26 职场文书
诚信承诺书模板
2014/05/26 职场文书
经理任命书模板
2014/06/06 职场文书
年检委托书
2014/08/30 职场文书
2015年教师节贺卡寄语
2015/03/24 职场文书
研究生导师推荐信
2015/03/25 职场文书
选择比努力更重要?这是长期以来对“努力”的最大误解
2019/07/12 职场文书
如何在python中实现ECDSA你知道吗
2021/11/23 Python
Python 恐龙跑跑小游戏实现流程
2022/02/15 Python
mysql使用 not int 子查询隐含陷阱
2022/04/12 MySQL
Ubuntu18.04下QT开发Android无法连接设备问题解决实现
2022/06/01 Java/Android