根据需求,在一台服务器上部署了多个tomcat,每个Tomcat设置不同端口,将遇到的一些坑记录一下:
说明:每个Tomcat需要修改设置不同的端口,这种基础问题就不说了。由于这是我排完错之后才写的,有些已经不记得报错细节了,但记得解决方案。
1、启动时报错
The AJP Connector is configured with secretRequired="true“
解决方案:
修改每个Tomcat的配置文件,在/conf/server.xml中添加设置
原设置:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
更改后的设置:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" secretRequired="" />
2、项目启动时报错,错误细节忘记了
解决方案:
重新设置Java环境变量,已覆盖默认的环境Java环境变量:
1、执行:which java,返回:/usr/bin/java
2、执行:ls -lr /usr/bin/java,返回:/etc/alternatives/java
3、执行:ls -lrt /etc/alternatives/java,返回:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/jre/bin/java
4、执行:vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
5、配置生效:source /etc/profile
3、Tomcat启动后报错
报如下错误:
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
解决方案:
修改配置文件/conf/server.xml,注释掉以下行:
<!-- <Context path="" docBase="..." reloadable="true"/> -->
4、浏览器打开后是404
解决方案:
使用新解压的ROOT文件夹,将其放在/tomcat/webapps
目录下
因为Tomcat默认的页面是ROOT目录下的,有时候不小心删掉了,就会报404,这也是一个日狗问题,查了好多资料才发现是这个鬼。
5、浏览器打开后默认页面
如果想让浏览器打开后是自己开发的项目页面,怎么办
修改配置文件/conf/server.xml,添加如下行:
<Context path="" debug="0" docBase="/opt/tomcat/webapps/security" />
主要是docBase值。
参考文献:https://blog.csdn.net/spjhandsomeman/article/details/8293594
6、Tomcat启动后不能正常访问
也可能是防火墙的问题,关闭防火墙:
systemctl disable firewalld
7、JIRA配置对应的Mysql数据库
配置在网上一搜一大把,但是在哪儿做配置,就很迷茫了
在这里:
//在这个标签下:
<Context path="" docBase="${catalina.home}/atlassian-jira" reloadable="false">
<Resource name="jdbc/JiraDS" auth="Container" type="javax.sql.DataSource"
//以下是配置内容
username="[enter db username]"
password="[enter db password]"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/jiradb?autoReconnect=true&useUnicode=true&characterEncoding=UTF8"
/>
8、tomcat启动报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
问题原因:
因为Tomcat没有找到系统的Java环境变量
解决方案:
在tomcat的bin目录下,编辑catalina.sh文件,在开头部分处加入
export JAVA_HOME=/usr/local/java/jdk1.8.0_252
export JRE_HOME=/usr/local/java/jdk1.8.0_252/jre
注意!等号两边不能有空格,否则报错:-bash: export:=’: 不是有效的标识符`