linux下tomcat部署操作

linux下tomcat部署操作:

系统版本:ubuntu18.04

tomcat版本:8

在tomcat官网下载tomcat安装包,选择zip的压缩包即可

此时下载的压缩包在本地Windows系统下,可以使用Windows系统自带的scp命令传输文件到Linux服务器

Windows系统下,按住win+R键,输入cmd,回车打开命令窗口

传输文件Windows->Linux:scp  文件所在准确目录   服务器端用户名@服务器IP地址:文件存放目录

例子:scp   d:\xxx\xxx.txt    [email protected]:/home/xxx/

下载文件Linux->Windows:scp  服务器端用户名@服务器IP地址:文件所在准确目录  文件存放目录   

scp   [email protected]:/home/xxx/   d:\xxx\xxx.txt

传输完成后,把文件解压到自己想解压的目录即可

不行的话自行百度,还有很多方法,这个算是比较简单的了

随后进行jdk环境变量配置

1.检查jdk安装情况

进入服务器,可以用java -version检查是否已经成功安装jdk

一般来说服务器里的jdk都是安装好的,没装好也可以自己下载解压,方法和解压Tomcat类似,但是要记住jdk的安装路径

2.tomcat jdk 环境变量配置 /bin

先找到自己服务器jdk的安装路径

echo $JAVA_HOME

这个命令的前提是已经配置jdk环境变量,否则就找不到,它的作用是查找jdk的安装路径

tomcat解压后,在/bin目录下找到相关文件catalina.sh添加jdk环境变量 

vim catalina.sh

这个jdk的环境变量具体的写法网上也有不同的版本,如果不行的话多多百度尝试一下看看,下面是我的,我觉得里面有一些语句是可以删除的,但是没仔细研究过,网上很多版本都比较简洁,推荐复制别人的

注意:第一行的路径必须改成自己jdk的路径,其他都可以复制粘贴

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-arm64
export JAVA_JRE=$JAVA_HOME/jre
export JAVA_BIN=$JAVA_HOME/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

其实只需要添加jre的环境变量,但是把/etc/profile里面配好的jdk变量全粘贴进来也无所谓,都可以

添加完了

执行:souce 文件名

不确定是否必须这样做,但是/etc底下添加环境变量的时候必须要执行,不过也可以直接重启Tomcat

随后即可启动tomcat查看是否启动成功

顺便试一下看看能否反复正常打开关闭

在Tomcat的bin目录下

启动:./startup.sh(注意开头有个点)

关闭:./shutdown.sh

顺便说一下,上面两条命令执行的时候有时候可能会报错权限不够,给他们俩增加以下权限就可以了

chomd 777 文件名

能反复重启就应该没什么大问题了

记得反复试几次,关闭如果报错说明还是有问题

下面是正常打开关闭的界面

如果出错继续往下看

3.服务器端口开放

如果访问不了,无法看到欢迎页面,或者关闭出错,首先检查服务器和防火墙是否开放了tomcat使用的端口,还需确认tomcat使用的端口未被其他程序占用

如果已经知道Tomcat使用的端口,也没有其他程序占用,则进行如下操作

服务器方面

下面以华为云为例

进入控制台,看到自己的服务器实例,找到安全组 ,添加对应的端口

点击安全组

点击最右边更改安全组规则

点击入方向,添加规则

填写想要开放的端口号即可

检查Tomcat使用的端口号

进入Tomcat安装目录下(bin目录的上一级),找到conf目录进入

用编辑器打开server.xml

命令行操作:vim server.xml

找到图片中的位置

在找到过程中你会看到类似的东西,想了解的话

可参考以下大佬文章

https://blog.csdn.net/zhydream77/article/details/82179896

记住端口名,图片里是8082

lsof -i:端口名

上面的命令可以查看端口是否被使用,被谁使用

这是我的Tomcat端口用lsof看到的结果,端口号为:8082,仅供参考

看到上图结果后可以看到使用8082端口的进程号为 3119 

使用命令:ps -ef | grep tomcat

可以查看Tomcat是否正在运行,并查看进程号

看到一大串信息弹出来就是正在运行了,弹出一行应该是没运行,我也不太懂弹出来一行信息啥意思

可以看到两个命令弹出的内容的进程号一致,都是11569,这就没什么问题了,进程号并不是固定的,会变动

如果有别的程序占用端口,可以考虑杀掉进程,重启Tomcat

杀进程的命令是:kill -9:PID

PID可参考上图

也可以考虑换一个端口,很多端口都是闲置的,随便选一个给Tomcat用就行,比如8081,8082什么的,此处可以自行百度Linux端口深入了解,改之前可以用lsof命令看一下端口的使用情况,没程序占用就可以给Tomcat用,但是改了之后记得在控制台里进实例的安全组开放一下端口,还有防火墙也要设置开放端口。防火墙开放端口操作在下面。

4.防火墙端口允许

         ufw allow 端口名

这个是最简单的操作,如果不好使,可以百度一下Linux防火墙开放端口的方法进行尝试

5.如果关闭报错,且无法访问自己的网站,可以参考下面大佬的文章

这个感觉还是非常有用的,我的Tomcat就是怎么改都报错,弄完下面的操作就可了。

http://www.noobyard.com/article/p-gfxammre-hg.html