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文件,在其中加入如下几行代码。

1 JAVA_HOME=/usr/lib/jvm/java-8-oracle
2 CATALINA_HOME=/opt/tomcat_1
3 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 进程号 命令杀死。

原文地址:https://www.cnblogs.com/roy-blog/p/8384873.html