ubuntu下tomcat的安装及注册成系统服务
在ubuntu下tomcat的安装有两种方式,第一种是下载二进制文件,解压安装;第二种则是使用apt-get自动下载。这里不推荐第二种方法安装,因为这种方法安装会像天女散花一样把安装的文件散落在系统的各个角落,操作起来尤为不便,特别考虑到后续我们可能在一台服务上装多个tomcat项目,实现起来就更加麻烦,所以推荐第一种安装方式。
1.下载
官网地址:https://tomcat.apache.org/
我下载的是tomcat8记住要下载tar.gz后缀的文件。
2.上传到ubuntu服务器
这个就看你用什么方法上传了,我是阿里云后台的数据管理直接上传的,比如我上传到的目录是/root/xdx,如下。

3.解压
进入到文件所在的目录,/root/xdx,然后执行如下命令
tar -zxvf apache-tomcat-8.5.27.tar.gz

执行完这条命令以后,它就开始解压了。解压完以后得到apache-tomcat-8.5.27文件。
4.移动文件到opt目录下,并且重命名为tomcat_1
用如下命令:
mv apache-tomcat-8.5.27 /opt/tomcat_1
借助阿里云的数据管理工具,查看opt目录下,果然有了tomcat_1

5.启动tomcat
先cd到tomcat_1下的bin目录,然后执行如下命令。
./startup.sh
就可以打开tomcat了。然后在浏览器中输入IP:8080,如果看到如下的页面,说明你安装成功了。

6.将tomcat做成服务
将tomcat做成服务是为了让其开机能够自动重启,而且我们也可以通过service+服务名称+start/stop/restart 等命令来管理服务。
--首先将刚才启动的tomcat进程先关掉
cd到tomcat的bin目录下,运行如下命令即可关掉tomcat进程
./shutdown.sh
--然后修改bin目录下的catalina.sh文件,在其中加入如下几行代码。
JAVA_HOME=/usr/lib/jvm/java-8-oracle
CATALINA_HOME=/opt/tomcat_1
CLASSPATH=.:$JAVA_HOME/lib:$CATALINA_HOME/lib
第一行的java_home视你自己安装的情况而定(echo $JAVA_HOME),第二行就是tomcat所在的目录。
加的位置是如下图所示。

至于怎么加上去,有很多种方法,可以用vi命令,也可以直接借助一些可视化工具修改。这边就不再赘述。
--将刚才修改过的catalina.sh文件复制一份到/etc/inin.d 目录下
在tomcat_1的bin目录下运行如下命令即可实现
cp catalina.sh /etc/init.d/tomcat_1
这样以后就注册了一个名为tomcat_1的服务,它对应的应用程序就是opt下面的tomcat_1。
--启动服务
经过上述步骤,系统其实还并未识别到tomcat_1这个服务,需要运行如下命令。
systemctl enable tomcat_1.service
这样以后,系统中就有一个tomcat_1的服务了。
然后运行下面的命令来开启、关闭、重启、查看状态tomcat_1这个服务。
service tomcat_1 start
service tomcat_1 stop
service tomcat_1 restart
service tomcat_1 status
7.在一个服务器中安装多个tomcat项目
有时候我们需要在同一台服务器中部署多个tomcat项目,可以通过如下步骤实现。
--复制一份tomcat_1的文件放在opt目录下,并且更名为tomcat_2,如下图所示。

--修改tomat_2的conf目录下的server.xml文件,将其中的三个端口改成与tomcat_1不一样就可以了。
端口1

端口2

端口3

这样以后就可以通过在bin目录下用./startup.sh方法启动了
--如果想将tomcat_2也做成服务,参照上面对tomcat_1的操作,只不过注意要将CATALINA_HOME=/opt/tomcat_2。如下所示

这样以后,我们就可以通过IP:8082打开第二个tomcat网站了。

ps:如果不能访问,请注意为8080和8082端口添加防火墙例外。
ps:在使用service tomcat_2 stop停止掉tomcat服务以后,查看进程发现仍然有java进程存在,这是因为java守护进程的存在,这样当你再次启动tomcat的时候,就会变成有两个java进程,进程过多会影响内存。所以我的做法是当我们用service tomcat_2 stop执行停止以后,要将该进程用kill 进程号 命令杀死。
ubuntu下tomcat的安装及注册成系统服务的更多相关文章
- Ubuntu下Speedtest的安装
要安装Speedtest,需要先安装apache,参见<Ubuntu下Apache的安装>一文:*(再安装LAMP server,参见<Ubuntu下快速安装LAMP server& ...
- Ubuntu下Tomcat绑定80端口(zz)
Ubuntu下Tomcat绑定80端口 来源:本站转载 作者:佚名 时间:2011-02-22 TAG: 工作环境迁移到了Ubuntu,很多东西发生了变化,比如原先配置tomcat端口.只需要配置se ...
- 如何Tomcat注册成系统服务
1.开始->运行(windos+r)中敲cmd,DOS界面2.cd到tomcat的bin目录下3.运行命令service.bat install 这里可以指定注册服务的名字,然后就可以 ...
- Ubuntu下git的安装与使用
Ubuntu下git的安装与使用 Ubuntu下git的安装与使用与Windows下的大致相同,只不过个人感觉在Ubuntu下使用git更方便. 首先,确认你的系统是否已安装git,可以通过git指令 ...
- Ubuntu下Apache的安装
Ubuntu下可快速安装LAMP server(Apache+MySQL+PHP5),参见<Ubuntu下快速安装LAMP server>一文. 也可以手动安装Apache.本文介绍如何手 ...
- Linux(Ubuntu)下MySQL的安装与配置
转自:http://www.2cto.com/database/201401/273423.html 在Linux下MySQL的安装,我一直觉得挺麻烦的,因为之前安装时就是由于复杂的配置导致有点晕.今 ...
- ubuntu下的openfire安装、配置、运行
openfire服务器 Openfire 采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议.您可以使用它轻易的构建高效率的即时通信服务器.Op ...
- Linux下tomcat的安装详解
Linux下tomcat的安装详解 来源: ChinaUnix博客 日期: 2007.01.21 22:59 (共有0条评论) 我要评论 一,安装前的准备:1,Linux版本:我的是企业版.(至于红帽 ...
- ubuntu下boost编译安装
ubuntu下boost编译安装 boost 安装 1.依赖安装 apt-get install mpi-default-dev libicu-dev python-dev python3-dev l ...
随机推荐
- es6 初级之---const 和 默认参数
1. const 的定义: 1.1 常量定义的时候要赋值,不赋值是会报错的: <!DOCTYPE html> <html lang="en"> <he ...
- ReactiveX 学习笔记(15)使用 Rx.NET + Json.NET 调用 REST API
JSON : Placeholder JSON : Placeholder (https://jsonplaceholder.typicode.com/) 是一个用于测试的 REST API 网站. ...
- adb push和adb install区别
一般的,Android 应用程序有两种安装方法: 1. 将应用程序的apk文件push到手机中,用如下命令: adb push xxxx.apk /system/app. 2. 用adb instal ...
- indexOf实现引申出来的各种字符串匹配算法
我们在表单验证时,经常遇到字符串的包含问题,比如说邮件必须包含indexOf.我们现在说一下indexOf.这是es3.1引进的API ,与lastIndexOf是一套的.可以用于字符串与数组中.一些 ...
- 遍历DOM树,过滤节点
jQuery还提供以下方法来过滤节点. 方法 说明 first() 获取第一个,示例 $('li').last() last() 获取最后一个,示例$('li').last() eq() ...
- 22.executor service Flask
pip包管理器 没有npm那么强大 不支持 npm --save install 这样的方法 但是我们有别的方法 安装Flask 但是呢 我们不能把它存放在package .json 那就需要我们自己 ...
- 18.3 redis 的安装
因为之前我们server不存东西 我们 发现 后打开的网页 是接手不到之前的变化,不能更新到最新的变化的. 我们需要做到server给client发最新的代码已达到同步 我们有三种做法同步到最新的代码 ...
- Hibernate 再接触 关系映射 一对一单向外键关联
对象之间的关系 数据库之间的关系只有外键 注意说关系的时候一定要反面也要说通 CRUD 数据库之间设计 主键关联 单向的外键关联 中间表 一对一单向外键关联 Husband.java package ...
- 利用lipo编译合并iPhone模拟器和真机通用的静态类
利用lipo编译合并iPhone模拟器和真机通用的静态类 如何编译静态类库,而且现在网上也有很多的教程,现在问题时我们编译好了的静态类库会时两个版本的.a文件,分别用于模拟器和iPhone真迹,因此M ...
- 2018面向对象程序设计(Java)第15周学习指导及要求
2018面向对象程序设计(Java)第15周学习指导及要求 (2018.12.6-2018.12.9) 学习目标 (1) 掌握Java应用程序打包操作: (2) 了解应用程序存储配置信息的两种方法 ...