1:首先查看需要的端口是否被占用(摘抄内容来自菜鸟教程)
方式一:查询系统已经被占用的端口 命令 使用root用户 执行 lsof -i
查询指定端口是否被占用 ----------------------------执行 lsof -i:端口号 ---------- > eg: losf -i:8080
方式二 netstat
netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关情况。
netstat 查看端口占用语法格式:
netstat -tunlp | grep 端口号
- -t (tcp) 仅显示tcp相关选项
- -u (udp)仅显示udp相关选项
- -n 拒绝显示别名,能显示数字的全部转化为数字
- -l 仅列出在Listen(监听)的服务状态
- -p 显示建立相关链接的程序名
例如查看 8000 端口的情况,使用以下命令:
# netstat -tunlp | grep 8000
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 26993/nodejs
更多命令:
netstat -ntlp //查看当前所有tcp端口
netstat -ntulp | grep 80 //查看所有80端口使用情况
netstat -ntulp | grep 3306 //查看所有3306端口使用情况
kill
在查到端口占用的进程后,如果你要杀掉对应的进程可以使用 kill 命令:
kill -9 PID
如上实例,我们看到 8000 端口对应的 PID 为 26993,使用以下命令杀死进程:
kill -9 26993
2:查看linux系统版本和JDK环境版本,判断是否支持当前tomcat运行环境
查看jdk版本命令行:echo $JAVA_HOME ---查询jdk的JAVA_HOME系统环境变量配置
echo $PATH ---查询jdk的存放路径 的系统环境变量配置
查看linux 版本命令行:more /proc/version
3:部署tomcat
1:上传tomcat,可以利用WinSCP(图形化界面方便操作)连接远程把存放在本地Tomcat复制到linux系统上,当然类似的插件还有很多,可以按个人喜好选择。
2:修改tomcat的bin目录下的文件执行权限,通过linux命令进入到上传的tomcat的bin目录下,此时可以发现由于权限问题其中的所有tomcat操作命令都无法使用
3.2下边内容摘抄来自https://blog.csdn.net/bug_love/article/details/78497547
如图:
这个时候可以在命令行里输入: chmod u+x *.sh
然后在./startup.sh
如:
这样tomcat就启动起来了。
不过为什么这样呢。我们也要明白原因。
chmod 是权限管理命令change the permissions mode of a file的缩写。英文意思是:更改文件的权限模式
u 代表所有者,x代表执行权限。 + 表示增加权限。
3. 通过ps -ef| grep java命令 可以查看linux下有哪几个tomcat在运行,如果想彻底干掉某个运行的tomcat进程 可以通过
kill -9 tomcat进程pid 这个命令
chmod u+x *.sh 表示对当前目录下的 *.sh文件的所有者增加可执行权限。(同理,如果想给*.bat文件添加权限,一样的道理chmod u+x *.bat)
4:部署项目
1:通过winSCP图形化界面把项目War包复制到linux中的tomcat的webapps文件夹中
2:进入到tomcat的斌目录下,通过 ./startup.sh 命令启动tomcat运行项目,启动之后可以根据 tail -f logs/catalina.out(要注意logs文件夹相对位置,不然可能找不到catalina.out)命令查看tomcat启动日志,看项目日否正常启动。另外如果配置了tomcat的manger管理账户密码并赋予了权限,那么还可以通过tomcat的网页端热部署方式在不需要重启tomcat的情况下部署项目(这里不再过多介绍,有兴趣可以自行百度)。
3:在tomcat的bin 目录下可以通过./shutdown.sh 命令关闭tomcat
5:访问项目
在浏览器输入linux的 IP地址:tomcat端口号/项目访问路径访问项目。如果此时可以访问,那么到此项目就算部署好了,如果无法访问,我们就要寻找问题了,根据我的经验,如果项目确定没有问题,网络也没问题,那么就可以考虑下是不是linux访问端口不对外开发。我们可以先在在linux命令行通过 curl http://你的linuxIP地址:tomcat端口号/项目访问路径去访问项目,如果这个时候没有问题那基本上就可以确定tomcat的端口不对外开发,进一步可以通过 ./sbin/iptables -L -n 命令(相对root目录)查看验证系统已经启动端口是否对外开放(accept表示对外开放,reject表示不开放 ),如果需要新增开放接口,可以参考这个链接https://blog.csdn.net/julielele/article/details/78730796,也可以自行百度搜索,这里不再做具体介绍。