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

以前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

#=======================================================================

# Mutable Properties

#=======================================================================

PROC_TAG="middleware_service"

VM_FLAG="-Xrs -Xms300M -Xmx758M -Ddefault.client.encoding=UTF-8 -Dfile.encoding=UTF-8 -Duser.language=Zh"

MAIN_CLASS="launcher.Launcher"

LOADER_PATH="../lib/**/*.jar ../ lib/*.jar ../ conf"

java_home=$JAVA_HOME

#java_home=/user

LOG_FILE=../logs/console.out

#=======================================================================

# Define information tag

#=======================================================================

RUNNING_TAG="[R]"

NOT_RUNNING_TAG="[X]"

ERROR_TAG="[E]"

INFO_TAG="[I]"

#=======================================================================

# Define functions for process

#=======================================================================

set_classpath(){

set ${LOADER_PATH}

while [ $# - gt 0 ]; do

classpath=${ classpath}:$1

shift

done

CLASSPATH=${ classpath}:${CLASSPATH}

}

is_proc_run(){

ps - ef | grep -w "${PROC_TAG}" | grep -v grep &>/ dev/null

return $?

}

status_proc(){

is_proc_run

if [ $? - eq 0 ]; then

echo "${RUNNING_TAG} ${PROC_TAG} is running !"

ps - ef | grep -w "${PROC_TAG}" | grep -v grep

set_classpath

${java_home}/bin/java - Diname=${PROC_TAG} ${VM_FLAG} -cp ${CLASSPATH} ${MAIN_CLASS} status

else

echo "${NOT_RUNNING_TAG} ${PROC_TAG} is not running !"

fi

}

start_proc(){

is_proc_run

if [ $? - eq 0 ]; then

echo "${INFO_TAG} ${PROC_TAG} is already running !"

else

echo "${INFO_TAG} Starting ${PROC_TAG} ..."

set_classpath

nohup ${java_home}/bin/java - Diname=${PROC_TAG} ${VM_FLAG} -cp ${CLASSPATH} ${MAIN_CLASS} start > ${LOG_FILE} 2>&1 &

sleep 1

is_proc_run

if [ $? - eq 0 ]; then

echo "${INFO_TAG} ${PROC_TAG} started !"

else

echo "${ERROR_TAG} ${PROC_TAG} starts failed !"

fi

fi

}

stop_proc(){

set_classpath

${java_home}/bin/java - Diname=${PROC_TAG} ${VM_FLAG} - cp ${CLASSPATH} ${MAIN_CLASS} stop

sleep 1

is_proc_run

if [ $? - eq 0 ]; then

pid=` ps - ef| grep " Boce"| grep -v grep | awk ‘{print $2}‘`

kill ${ pid}

fi

}

usage(){

echo ${PROC_DESC} usage:

echo -e "` basename $0` <start|stop|status|restart>"

echo -e "\ tstart   - start   ${PROC_TAG}"

echo -e "\ tstop    - stop    ${PROC_TAG}"

echo -e "\ tstatus  - list    ${PROC_TAG}"

echo -e "\ trestart - restart ${PROC_TAG}"

}

#=======================================================================

# Main Program begin

#=======================================================================

case $1 in

start)

start_proc

;;

status)

status_proc $2 $3

;;

stop)

stop_proc

;;

restart)

stop_proc

start_proc

;;

*)

usage

esac

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

解压

tar -xf all.tar
     删除
     rm -rf xxx 强制删除文件和文件夹

更改权限:

chmod 777 xxx

运行:

./xxx.sh start

时间: 2024-08-28 22:13:22

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

在Linux中运行Nancy应用程序

最近在研究如何将.NET应用程序移植到非Windows操作系统中运行,逐渐会写一些文章出来.目前还没有太深的研究,所以这些文章大多主要是记录我的一些实验. 这篇文章记录了我如何利用NancyFx编写一个自托管(Self-host)的应用程序,并且将其发布到Linux系统中. 什么是NancyFx? 简单地说,这真是一个神奇的框架.它给自己的定义是:lightweigh web framework for .NET.不用不知道,一用吓一跳哈 http://nancyfx.org/ 与微软官方的AS

【linux】linux下运行java程序

参考了http://www.cnblogs.com/howard-queen/archive/2012/01/30/2331795.html 第一步:用vim先写一个java程序  first.java  就写在jdk的bin目录下 public class first{ public static void main(String args[]){ System.out.println("This is my first program."); } } 第二步:./javac /us

Linux系统运行Java项目

写个今天学习的总结吧,留个记录方便查阅 - 2016-8-17 17:51:03 工具是eclipse,目的是在Linux系统中运行Java的main方法 网上学习了下,有两种方法来实现: 一.导成jar包运行:(test.jar) 1.在eclipse中,右键选择export->jar File ->next下去要注意3点: 1).第三方依赖包不要导出到jar包中,取消勾选 2).是选择你要导出的路径和jar包文件名 3).记得要选则Main class ->finish 2.接着打开

如何在IE11运行Java小程序(Applet)

Applet 介绍: Applet是使用Java编写的一种小程序,能够在浏览器上运行Java程序,丰富页面功能(大概在JDK1.0的年代比较流行). 目前Java小程序已经失去了实用价值,经过一段时间的火热后被Adobe Flash所替代.在这个Flash都被逐渐废弃的时代,可想而知这个Applet是有多么古老了,写本篇博文缅怀一下曾经的辉煌. 测试环境:Windows 10 + IE11 在 Internet Explorer 中安装 Java,参考:https://support.micro

Linux下运行java项目

最近初步接触了linux,感觉很有新鲜感.之前在windows下干过的事情也便想到在linux环境下实现一下.正好手头在编java,就想既然java可以在windows的DOS操作下运行,是不是也可以在linux的terminal下编译执行呢?好奇心是最好的老师,网上丰富的资源帮助我很快的实现了这一操作.具体实现过程如下: 安装JDK 要编译执行java代码,首先需要有支持java的系统程序,所谓的jdk,java development kit就是干这个用的.无论是在windows还是Linu

Linux程序员福利 - 追女友神奇(Linux终端运行炫酷程序)

概述 作为IT人员,给同事的感觉呆板,不会会浪漫,不懂情趣.其实不然,我们可以用我们的技能创造出IT人员独有的浪漫.girlLove脚本就可以实现IT人员的浪漫.girlLove本质上是一个简易的问答系统,通过设置不同的问题和答案来实现"浪漫"效果.读者通过改写该脚本,可以很轻松的实现一个基于Linux终端的调查系统或考试系统等. 详细 代码下载:http://www.demodashi.com/demo/12738.html 一.功能简介 作为IT人员,给同事的感觉呆板,不会会浪漫,

在Linux下运行C语言程序

市面上常见的Linux都是发行版本,典型的Linux发行版包含了Linux内核.桌面环境和各种常用的必备工具,国内使用较多的是Ubuntu(乌班图).CentOS.Deepin(深度Linux).本教程以Deepin为例来讲述如何编译C程序. Gedit Gedit是一个简单实用的文本编辑器,拥有漂亮的界面,支持语法高亮,比 Vim 更易上手.本教程将Gedit作为C代码编辑器. Gedit的安装: sudo apt-add-repository ppa:ubuntu-on-rails/ppa

linux部署的java应用,浏览器访问时,报域名解析错误

工作中,经常需要在Linux环境中部署Tomcat,配置java应用.在浏览器中访问应用时,却报域名解析错误,该怎么样解决呢? 解决方法:关闭防火墙 iptables -L -n     查看已添加的iptables规则 iptables -F service iptables save 它会保存在/etc/sysconfig/iptables这个文件中

Linux终端运行java源码出错——Error: Could not find or load main class [duplicate]

Linux终端中运行.class文件出错