您的位置:首页 > 运维架构 > Linux

【Linux_Java】Linux部署运行Java应用程序相关

2014-11-12 21:38 453 查看
以前Java程序部署都交给维护,最近一个项目要自己包办一切,发觉有许多小细节其实一直不是很清楚。其实无论问题多么的奇葩都是可以解决的,就是免不了折腾。

这里只记录几个比较基本和关键的东西。

1.linux安装jdk/jre;
1)安装:
建立jdk想要安装的目录,把文件拷贝进去
chmod a+x jre-6u45-linux-i586.bin

./jre-6u45-linux-i586.bin

2) 配置环境变量:
<1># vi /etc/profile

<2>在最后加入以下几行:

export JAVA_HOME=/usr/java/jre1.6.0_45

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

===

如果是jre,则是如下几行:

export JAVA_HOME=/usr/java/jre1.6.0_45

export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin

<3># source /etc/profile 执行后生效

2.编写启动Java应用的shell脚本
一个比较通用的脚本例子,该一下相关配置即可:
#!/bin/bash
[align=left] [/align]
[align=left]#=======================================================================[/align]
[align=left]# Mutable Properties[/align]
[align=left]#=======================================================================[/align]
[align=left]PROC_TAG="middleware_service"[/align]
[align=left]VM_FLAG="-Xrs -Xms300M -Xmx758M -Ddefault.client.encoding=UTF-8 -Dfile.encoding=UTF-8 -Duser.language=Zh"[/align]
[align=left]MAIN_CLASS="launcher.Launcher"[/align]
[align=left]LOADER_PATH="../lib/**/*.jar ../ lib/*.jar ../ conf"[/align]
[align=left]java_home=$JAVA_HOME[/align]
[align=left]#java_home=/user[/align]
[align=left]LOG_FILE=../logs/console.out[/align]
[align=left] [/align]
[align=left] [/align]
[align=left]#=======================================================================[/align]
[align=left]# Define information tag[/align]
[align=left]#=======================================================================[/align]
[align=left]RUNNING_TAG="[R]"[/align]
[align=left]NOT_RUNNING_TAG="[X]"[/align]
[align=left]ERROR_TAG="[E]"[/align]
[align=left]INFO_TAG="[I]"[/align]
[align=left] [/align]
[align=left]#=======================================================================[/align]
[align=left]# Define functions for process[/align]
[align=left]#=======================================================================[/align]
[align=left]set_classpath(){[/align]
[align=left] set ${LOADER_PATH}[/align]
[align=left] while [ $# - gt 0 ]; do[/align]
[align=left] classpath=${ classpath}:$1[/align]
[align=left] shift[/align]
[align=left] done[/align]
[align=left] CLASSPATH=${ classpath}:${CLASSPATH}[/align]
[align=left]}[/align]
[align=left] [/align]
[align=left]is_proc_run(){[/align]
[align=left] ps - ef | grep -w "${PROC_TAG}" | grep -v grep &>/ dev/null[/align]
[align=left] return $?[/align]
[align=left]}[/align]
[align=left] [/align]
[align=left]status_proc(){[/align]
[align=left] is_proc_run[/align]
[align=left] if [ $? - eq 0 ]; then[/align]
[align=left] echo "${RUNNING_TAG} ${PROC_TAG} is running !"[/align]
[align=left] ps - ef | grep -w "${PROC_TAG}" | grep -v grep[/align]
[align=left] set_classpath[/align]
[align=left] ${java_home}/bin/java - Diname=${PROC_TAG} ${VM_FLAG} -cp ${CLASSPATH} ${MAIN_CLASS} status[/align]
[align=left] else[/align]
[align=left] echo "${NOT_RUNNING_TAG} ${PROC_TAG} is not running !"[/align]
[align=left] fi[/align]
[align=left]}[/align]
[align=left] [/align]
[align=left]start_proc(){[/align]
[align=left] is_proc_run[/align]
[align=left] if [ $? - eq 0 ]; then[/align]
[align=left] echo "${INFO_TAG} ${PROC_TAG} is already running !"[/align]
[align=left] else[/align]
[align=left] echo "${INFO_TAG} Starting ${PROC_TAG} ..."[/align]
[align=left] set_classpath[/align]
[align=left] nohup ${java_home}/bin/java - Diname=${PROC_TAG} ${VM_FLAG} -cp ${CLASSPATH} ${MAIN_CLASS} start > ${LOG_FILE} 2>&1 &[/align]
[align=left] sleep 1[/align]
[align=left] is_proc_run[/align]
[align=left] if [ $? - eq 0 ]; then[/align]
[align=left] echo "${INFO_TAG} ${PROC_TAG} started !"[/align]
[align=left] else[/align]
[align=left] echo "${ERROR_TAG} ${PROC_TAG} starts failed !"[/align]
[align=left] fi[/align]
[align=left] [/align]
[align=left] fi[/align]
[align=left]}[/align]
[align=left] [/align]
[align=left]stop_proc(){[/align]
[align=left] set_classpath[/align]
[align=left] ${java_home}/bin/java - Diname=${PROC_TAG} ${VM_FLAG} - cp ${CLASSPATH} ${MAIN_CLASS} stop[/align]
[align=left] sleep 1[/align]
[align=left] is_proc_run[/align]
[align=left] if [ $? - eq 0 ]; then[/align]
[align=left] pid=` ps - ef| grep " Boce"| grep -v grep | awk '{print $2}'`[/align]
[align=left] kill ${ pid}[/align]
[align=left] fi[/align]
[align=left]}[/align]
[align=left] [/align]
[align=left] [/align]
[align=left]usage(){[/align]
[align=left] echo ${PROC_DESC} usage:[/align]
[align=left] echo -e "` basename $0` <start|stop|status|restart>"[/align]
[align=left] echo -e "\ tstart - start ${PROC_TAG}"[/align]
[align=left] echo -e "\ tstop - stop ${PROC_TAG}"[/align]
[align=left] echo -e "\ tstatus - list ${PROC_TAG}"[/align]
[align=left] echo -e "\ trestart - restart ${PROC_TAG}"[/align]
[align=left]}[/align]
[align=left] [/align]
[align=left] [/align]
[align=left]#=======================================================================[/align]
[align=left]# Main Program begin[/align]
[align=left]#=======================================================================[/align]
[align=left] [/align]
[align=left]case $1 in[/align]
[align=left] start)[/align]
[align=left] start_proc[/align]
[align=left] ;;[/align]
[align=left] status)[/align]
[align=left] status_proc $2 $3[/align]
[align=left] ;;[/align]
[align=left] stop)[/align]
[align=left] stop_proc[/align]
[align=left] ;;[/align]
[align=left] restart)[/align]
[align=left] stop_proc[/align]
[align=left] start_proc[/align]
[align=left] ;;[/align]
[align=left] *)[/align]
[align=left] usage[/align]
[align=left]esac[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]

3.部署运行相关的有用命令;
解压

tar -xf all.tar

删除

rm -rf xxx 强制删除文件和文件夹
更改权限:
chmod 777 xxx
运行:
./xxx.sh start
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: