CentOS上的Artifactory环境变量

时间:2015-06-25 07:34:01

标签: java linux tomcat environment-variables artifactory

我生气了。

/usr/lib/jvm/

具有

java-1.7.0-openjdk-1.7.0.65.x86_64
java-1.7.0-openjdk-1.7.0.79.x86_64

昨晚在最不幸的时候,#65的内容显然已经消失了。 Java消失了。也许它已经消失了,但新的Linux家伙正在“升级”机器,所以它是可疑的。

现在,问题是神器不能忘记版本65.

如果我输入envset,我们就是金色的。没有提到v65。但神器生活在自己的世界里。

[root@me]# service artifactory check
Checking arguments to Artifactory:
ARTIFACTORY_HOME     =  /var/opt/jfrog/artifactory
ARTIFACTORY_USER     =  artifactory
TOMCAT_HOME          =  /opt/jfrog/artifactory/tomcat
ARTIFACTORY_PID      =  /var/opt/jfrog/run/artifactory.pid
JAVA_HOME            =
JAVA_OPTIONS         =  -server -Xms512m -Xmx2g -Xss256k -XX:PermSize=128m -XX:MaxPermSize=256m -XX:+UseG1GC

[root@me]# service artifactory start
Starting Artifactory tomcat as user artifactory...
Max number of open files: 32000
Using ARTIFACTORY_HOME: /var/opt/jfrog/artifactory
Using ARTIFACTORY_PID: /var/opt/jfrog/run/artifactory.pid
Using CATALINA_BASE:   /opt/jfrog/artifactory/tomcat
Using CATALINA_HOME:   /opt/jfrog/artifactory/tomcat
Using CATALINA_TMPDIR: /opt/jfrog/artifactory/tomcat/temp
Using JRE_HOME:        /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64/jre
Using CLASSPATH:       /opt/jfrog/artifactory/tomcat/bin/bootstrap.jar:/opt/jfrog/artifactory/tomcat/bin/tomcat-juli.jar
Using CATALINA_PID:    /var/opt/jfrog/run/artifactory.pid

envset显示

JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk.x86_64
JRE_HOME=/usr/lib/jvm/java-1.7.0-openjdk.x86_64/jre

PATH也是正确的。 ls -l显示

lrwxrwxrwx  1 root root   34 Jun 24 22:38 java-1.7.0-openjdk.x86_64 -> java-1.7.0-openjdk-1.7.0.79.x86_64

所以它指向了正确的地方。神秘的用户从何而来?如果我尝试su artifactory,我会转到bash-4.1$,表示神器不是传统意义上的用户,但即便如此,env和set也是正确的。

我终于设法通过妥协来实现它。

/opt/jfrog/artifactory/bin

我编辑了artifactory.default并将我的导出JAVA_HOME放在那里,并从该文件夹而不是作为服务启动了artifactory。这将一直持续到下一次Linux团队弄乱我的服务器。

但有人知道如何让它作为服务运行吗?

2 个答案:

答案 0 :(得分:2)

看一下/etc/init.d/artifactory,这是当你调用“service artifactory ...”时运行的脚本 - 它看起来像那里的某些东西(可能是另一个来源的脚本)正在设置JRE_HOME到旧版本。

您也可以尝试

sudo su - artifactory; env | grep JRE

确保artifactory用户的环境没有将JRE_HOME设置为旧版本。

答案 1 :(得分:1)

之后我遇到了类似的问题。已安装的Artifactory 5.3.2和几个月后在我的Linux服务器上运行了yum更新。我看到了msg:“错误神器tomcat服务器没有在60秒内启动”问题在我运行yum更新后开始。该更新影响了我的java版本,如下所述。

验证错误日志

vi /var/opt/jfrog/artifactory/logs/catalina.out

- > /opt/jfrog/artifactory/tomcat/bin/catalina.sh:line 433:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64/bin/java:No这样的文件或目录

vi /opt/jfrog/artifactory/tomcat/bin/catalina.sh
export JRE_HOME=/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64
cd /opt/jfrog/artifactory/tomcat/bin/

重新启动catalina

./catalina.sh

artifactory将重新启动,并应显示更新的JRE_HOME