部署多个Tomcat时遇到的坑

根据需求,在一台服务器上部署了多个tomcat,每个Tomcat设置不同端口,将遇到的一些坑记录一下:

Tomcat版本:8.5.57
Mysql版本:8.0.20
操作系统:centos 7.8

说明:每个Tomcat需要修改设置不同的端口,这种基础问题就不说了。由于这是我排完错之后才写的,有些已经不记得报错细节了,但记得解决方案。

1、启动时报错

The AJP Connector is configured with secretRequired="true“

解决方案:

修改每个Tomcat的配置文件,在/conf/server.xml中添加设置

原设置:


更改后的设置:

参考文献:https://www.cnblogs.com/zhang-yawei/p/12975326.html

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

参考文献:https://www.cnblogs.com/juihai/p/11710381.html

3、Tomcat启动后报错

报如下错误:

java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]

解决方案:

修改配置文件/conf/server.xml,注释掉以下行:


参考文献:https://www.cnblogs.com/yshyee/p/11019091.html

4、浏览器打开后是404

解决方案:

使用新解压的ROOT文件夹,将其放在/tomcat/webapps目录下

因为Tomcat默认的页面是ROOT目录下的,有时候不小心删掉了,就会报404,这也是一个日狗问题,查了好多资料才发现是这个鬼。

5、浏览器打开后默认页面

如果想让浏览器打开后是自己开发的项目页面,怎么办

修改配置文件/conf/server.xml,添加如下行:


主要是docBase值。

参考文献:https://blog.csdn.net/spjhandsomeman/article/details/8293594

6、Tomcat启动后不能正常访问

也可能是防火墙的问题,关闭防火墙:

systemctl disable firewalld

参考文献:
https://www.cnblogs.com/aprilwang/p/10954928.html
https://blog.csdn.net/qq_40002311/article/details/88899549

7、JIRA配置对应的Mysql数据库

配置在网上一搜一大把,但是在哪儿做配置,就很迷茫了

在这里:

//在这个标签下:

          

参考文献:https://www.cnblogs.com/kaola8023/p/7064978.html

8、mysql 8.5报错

报以下错误:

for the right syntax to use near 'identified by 'password' with grant option

解决方案:

#创建账户
create user 'root'@'localhost' identified by  'password'

#赋予权限,with grant option这个选项表示该用户可以将自己拥有的权限授权给别人
grant all privileges on *.* to 'root'@'172.16.10.203' with grant option

#改密码&授权超用户,flush privileges 命令本质上的作用是将当前user和privilige
#表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里
flush privileges;

参考文献:https://blog.csdn.net/shenhonglei1234/article/details/84786443

9、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:=’: 不是有效的标识符`

参考文献:
添加环境变量:https://www.cnblogs.com/knownfreestyle/archive/2019/08/20/11383884.html
等号空格:https://blog.csdn.net/zhou_438/article/details/87731309

你可能感兴趣的:(安全杂文)