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 ...
随机推荐
- elasticSearch-header
elasticSearch既有chrome的插件 sense,但是因为chrome作为恶意插件不让植入,因此sense目前还停留在5版本. elasticSearch自带head plugin,用于监 ...
- strcore.cpp(156) 内存泄漏
vs搞了一个小工具涉及到线程 每次执行完退出的时候都会报 strcore.cpp(156) 的内存泄漏 原因是在线程内使用了CString 类型的传递参数 如果没有正常释放会报上面的错误.
- 文件操作 freopen函数
转自http://blog.csdn.net/zhuyi2654715/article/details/6963673 当我们求解acm题目时,通常在设计好算法和程序后,要在调试环境(例如VC等)中运 ...
- weka连接mysql数据库
一.下载并解压数据库驱动 下载地址:http://www.mysql.com/products/connector/,本文下载 mysql-connector-java-5.0.8.zip.将解压后的 ...
- 配置nginx实现windows/iis应用负载均衡(转载)
配置nginx实现windows/iis应用负载均衡 nginx是俄罗斯人开发的一款跨平台的高性能HTTP和反向代理服务器,可以利用它实现web应用服务器的负载均衡. 反向代理是指将用户请求通过代 ...
- Django使用自定义的authentication登录认证
import ldap class LDAPMgmt(): def __init__(self): self.ldap_host = 'xxx' self.ldap_base_dn = 'ou=xx, ...
- 利用等概率Rand5产生等概率Rand3(转)
问题本身很明确,但不知道起个什么题目好,姑且先这么说吧. 问题描述:现在有一个叫做Rand5的函数,可以生成等概率的[0, 5)范围内的随机整数,要求利用此函数写一个Rand3函数(除此之外,不能再使 ...
- CodeForces-1132C-Painting the Fence-(前缀和)
You have a long fence which consists of nn sections. Unfortunately, it is not painted, so you decide ...
- php 指定页面显示所有报错
ini_set('display_errors',1); error_reporting(E_ALL);
- 移动端调起qq聊天
<div class="item item-right" style='width:3rem;padding-left:0rem;'>QQ:<a target=& ...