首先,要搞清Linux系统下环境变量的设置:
环境变量配置的两种方法:
一,永久的:需要用户修改相关的配置文件,变量永久生效。
1. vim在文件/etc/profile
文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。
例如:#vim etc/profile export
export JAVA_HOME=/export/servers/jdk1.6.0_25
export JAVA_BIN=/export/servers/jdk1.6.0_25/bin
#source /etc/profile
2. 在用户目录下的.bash_profile文件中增加变量 ,用vim ~/.bash_profile
文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。
二,临时的:用户利用export命令,在当前终端下声明环境变量,关闭Shell终端失效。
在shell的命令行下直接使用export 变量名=变量值
定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。
例如: #vim ~/.bash_profile
export CATALINA_HOME=/export/servers/tomcat8.5.14
export CATALINA_BASE=/export/Domains/zshflow.jd.com/server1
# source ~/.bash_profile
注意:修改后必须运行$source [文件路径]才能使环境变量立马生效
其次,编写脚本。
一,如果只是简单的定义环境变量和执行tomcat脚本,可以这么写。环境变量只对当前脚本有效,启动参数可以加在
export CATALINA_HOME=【tomcat安装路径】
export CATALINA_BASE=[应用路径]
export CATALINA_PID=$CATALINA_BASE/work/catalina.pid
export LANG=zh_CN.UTF-8
###JAVA
export JAVA_HOME=【jdk安装路径】
export JAVA_BIN=【对应bin路径】
export PATH=$JAVA_BIN:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/bin
export CLASSPATH=.:/lib/dt.jar:/lib/tools.jar
export JAVA_OPTS="-Djava.library.path=/usr/local/lib -server -Xms256m -Xmx768m -XX:MaxPermSize=768m -Djava.awt.headless=true -Dsun.net.client.defaultConnectTimeout=60000 -Dsun.net.client.defaultReadTimeout=60000 -Djmagick.systemclassloader=no -Dnetworkaddress.cache.ttl=300 -Dsun.net.inetaddr.ttl=300 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$CATALINA_BASE/logs -XX:ErrorFile=$CATALINA_BASE/logs/java_error_%p.log -Dspring.profiles.active=dev -Dfile.encoding=utf-8 -Dcfa_day_timer=true"
export JAVA_HOME JAVA_BIN PATH CLASSPATH JAVA_OPTS
$CATALINA_HOME/bin/startup.sh -config $CATALINA_BASE/conf/server.xml
二,增加一些判断使得启动脚本更人性化,例如:
#!/bin/bash
source /etc/profile
export CATALINA_HOME=【tomcat安装路径】
# $1表示执行脚本时的输入参数 可以通过手动输入应用路径指定脚本执行
if echo $1 | grep -q "/home/test"
then
export CATALINA_BASE=$1
else
export CATALINA_BASE=/home/test/$1
fi
全部启动脚本见地址: 链接:https://pan.baidu.com/s/1c1469AK 密码:15nr
最后,运行编写的脚本就好啦。 具体运行 步骤:
使用cd命令切换到当前脚本目录;执行命令./start.sh。