1.连接到需部署项目的服务器,由于服务器上本来就是有项目存在的,所以拷tomcat然后修改配置即可,cp发现权限不够,所以su切换至root用户进行操作,重新命名为tomcat_new,进入主配置文件conf目录下修改server.xml,使其与原项目端口不可冲突(8083);然后再指定好项目部署的位置。
2.将打好的war包放至指定的目录下解压,目录不存在mkdir -p自己创建即可。
3.进入bin下./start.sh启动tomcat,显示启动成功。
看似一切进行的很顺利,然后直接去浏览器访问,公网IP:8083/h5/index.jsp,发现并未看到任何结果。
底下即为排查过程:
1.首先ping服务器没有问题,然后Telnet 服务器IP 8083,发现连接不上,去服务器netstat查看了一下发现端口居然都没开启,但是tomcat显示启动成功了,继续往下查找原因。
2.随即想起了当时cp一切为root用户操作,猜想是不是权限导致的问题,查看了各目录权限发现全为root,有的目录其他人甚至还没有读写权限,锁定权限问题后随即开始处理,都改回普通用户。重启了tomcat后显示启动成功,去访问还是未果,没有任何变化。
3.重新检查了配置文件没有错误,想着既然tomcat可以启动那就不是这方面的问题。经过细心排查发现tomcat启动时路径有问题,此服务器搭建环境时没有配置全局变量,每个tomcat都是单独进行配置的,由于是cp的原项目,所以tomcat_new启动时路径还是tomcat,知道此原因后随即进入tomcat_new的bin目录下配置catalina.sh文件。重启tomcat后查看端口启动情况,已经启动,就是路径的问题,然后再去浏览器访问,竟然还是访问不到,接着找原因。
4.可以ping通Telnet端口也没毛病,感觉已经不是tomcat这方面的问题了,去查看日志,由于是cp的所以日志也跑到原项目目录下了,随即做了一个软链到tomcat_new的logs下,重启tomcat查看日志。发现是不同区域,error显示是外网访问不了数据库的原因,赶紧登入数据库给此IP设置了一个白名单。浏览器访问成功,到此问题得以解决。
原文地址:http://blog.51cto.com/13970139/2177592