今天在启动项目的时候一直报Memcached 找不到,如下
刚开始一直没有头绪,要么就是在本地安装一个 memcached ,但是他们原来根本就没有安装这个,也没有报错
后来问了下同事,找到了问题所在,原来他们在tomcat里面配置了一个环境变量
具体位置在
tomcat bin 目录下有一个 setenv.sh 的脚本文件,这是tomcat设置环境变量用的,看看里面的内容是
JAVA_OPTS="$JAVA_OPTS -DappHome=/zxc/abc -Djava.awt.headless=true -server -Xms512m -Xmx512m -XX:NewSize=256m -XX:MaxNewSize=384m -XX:MaxPermSize=256m -XX:+DisableExplicitGC -XX:-UseGCOverheadLimit"
定义了一个变量叫 appHome 然后指向了文件夹 /zxc/abc
这样的话就会在tomcat启动的时候指向到这个文件夹了,如果没有这个目录,应该就是指向本地中的,项目里面是这样引用的
${appHome} 这样来引用的
然后当然就是这个文件是在哪里调用的,百度了一下,发现是在 catalina.sh 文件里面对这个文件进行了调用
所以产生这个问题的原因是因为我新加的tomcat没有设置这个 setenv.sh 脚本,所以配置文件里面找的是 127.0.0.1 的
加了这个脚本有引用之后,读取的配置文件就是线上的了,而线上的配置文件里面的 memcached 读的是另外一台外网的地址
而那台服务器安装了memcached, 所以配完以后就正常了
又多学了点东西,好好学习,天天向上