近期改的Java应用即将部署,为了强强联合,需要把Java应用部署到linux,我们选择了debian系列。小结一下部署的大致过程,如下:

  1. Ubuntu已经默认安装了OpenJDK,但还是比较倾向官方正式的JDK版本,如何安装Oracle 的JDK,请参考这里
  2. 由于我们使用的Oracle数据库,为了发挥更好的性能,我们需要配置客户端TNS,如何配置请参考这里
  3. 使用Eclipse到处可执行的jar包,为了配置方便,我把应用的所有相关配置文件放在与该应用同级的config目录里,这些配置文件包括应用配置,日志配置文件等。
  4. 处理^M(非必要步骤)
    很久以前,老式的电传打字机使用两个字符来另起新行。一个字符把滑动架移回首位 (称为回车,ASCII码为0D),另一个字符把纸上移一行 (称为换行,ASCII码为0A)。当计算机问世以后,存储器曾经非常昂贵。有些人就认定没必要用两个字符来表示行尾。UNIX 开发者决定他们可以用一个字符来表示行尾\n,Linux沿袭Unix,也是\n。Apple 开发者规定了用\r.开发 MS-DOS以及Windows 的那些家伙则决定沿用老式的\r\n.因此

    unix : \n
    dos : \r\n
    mac : \r

    这意味着,如果你试图把一个文件从一种系统移到另一种系统,那么你就有换行符方面的麻烦。
    因此当我把配置文件从windows通过ftp上传到ubuntu上,打开配置文件发现有很多”^M”,这里的”^M”并不是“^”再加上“M”,而是“Ctrl+v”、“Ctrl+M”键生成的,或者“Ctrl+M”再回车生成的。
    其实并不影响使用,只是看起来不爽,因此你可以使用vi替换功能批量处理,使用vi打开配置文件后:

    :%s/^M//g

  5. 执行应用可能使用shell脚本来自执行更自动化一些,但目前我还没能掌握shell,这里只是简单使用terminal来执行。
    这里我们会让应用在后端执行,就是不能当terminal关闭后应用就停止了,而让应用后端执行有两种方式:可以在命令后“空格&”如

    java -jar AppCommServer.jar &

    如果忘记了加“空格&”,而又不想重启应用,此时可以使用"ctrl+z"使应用切换到台执行;但要注意虽然切换到后台了,但它的状态是停止(Stopped)的,当你“Ctrl+z”后或通过jobs命令可以查看到

    [1]+ Stopped java -jar AppCommServer.jar

    这时你可以通过"bg 1"让其在后端执行,效果同"空格&",还可以通过"fg 1"把它调回前台。

其实最好还需要了解一下ps、netstat和kill命令。

debian/ubuntu部署java应用小结的更多相关文章

  1. 阿里云Ubuntu部署java web - 文件夹

    文件夹(点击章节标题阅读): 阿里云Ubuntu部署java web(1) - 系统配置         ssh链接server(使用终端远程链接)        加入用户        给用户赋予运 ...

  2. ubuntu部署Java、Python开发环境

    要部署Java开发环境首先就要安装JDK. 一.安装JDK8 1. 下载 jdk-8u172-linux-x64.tar.gz 到 /usr/java8/ 目录下: 2. tar  -zxvf  jd ...

  3. 阿里云Ubuntu部署java web(2) - 配置tomcat

    系统版本号:Ubuntu12.04 64位 安装: 首先要安装java(測试时使用的版本号是6b27-1.12.6-1ubuntu0.12.04.2).版本号可自行选择,但不同版本号配置方法可能不同. ...

  4. 阿里云Ubuntu部署java web(1) - 系统配置

    系统版本号:ubuntu 12.04 64位 ssh链接服务器(使用终端远程链接): ssh -l username IP地址 假设出现相似例如以下错误: @    WARNING: REMOTE H ...

  5. Ubuntu部署Java web项目

    登录服务器和给服务器传输文件,使用的工具是Xshell Xftp Mysql 安装mysql 输入:sudo apt-get update                     更新软件列表 输入: ...

  6. ubuntu部署java环境

    一.安装java sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracl ...

  7. ubuntu docker安装与部署java,mysql,nginx镜像

    docker 安装与部署java,mysql,nginx docker 配置 安装docker $ sudo apt-get remove docker docker-engine docker.io ...

  8. 转:CentOS/Debian/Ubuntu一键安装LAMP(Apache/MySQL/PHP)环境

    CentOS/Debian/Ubuntu一键安装LAMP(Apache/MySQL/PHP) 今天遇到一个网友提到需要在Linux VPS服务器中安装LAMP(Apache/MySQL/PHP)网站环 ...

  9. 服务器操作系统应该选择 Debian/Ubuntu 还是 CentOS?

    来自 http://www.zhihu.com/question/19599986 服务器操作系统应该选择 Debian/Ubuntu 还是 CentOS? 想选择一个 Linux 发行版作为服务器. ...

随机推荐

  1. Android Studio快捷键汇总

  2. 【spoj LCS2】 Longest Common Substring II

    http://www.spoj.com/problems/LCS2/ (题目链接) 题意 求多个串的最长公共子串 Solution 对其中一个串构造后缀自动机,然后其它串在上面跑匹配.对于每个串都可以 ...

  3. 详解JavaScript中的事件处理

    在漫长的演变史,我们已经告别了内嵌式的事件处理方式(直接将事件处理器放在HTML元素之内来使用),今天的事件,它已是DOM的重要组成部分,遗憾的是,IE继续保留它最早在IE4.0中实现的事件模型,以后 ...

  4. emmet学习笔记

    Emment语法使用:按table键的结果1.初始化:(HTML文档需要包含一些固定的标签,比如<html>.<head>.<body>等). html:或! :用 ...

  5. lo dash api

    https://lodash.com/docs 用 Lo-Dash 替换 underscore http://segmentfault.com/a/1190000000359484

  6. IM比较SipDroid/IMSDroid/CSipsimple/Linphone/Webrtc

    一) sipdroid1)架构sip协议栈使用JAVA实现,音频Codec使用skype的silk(Silk编解码是Skype向第三方开发人员和硬件制造商提供免版税认证(RF)的Silk宽带音频编码器 ...

  7. Python学习--15 日期和时间

    获取当前时间 # coding: utf-8 from datetime import datetime now = datetime.now() print(now) print(now.strft ...

  8. Java虚拟机(JVM)默认字符集详解

    Java中对字符串等进行转换字节数组时, 需要根据字符集编码来进行转换, 当不显示的指定字符集编码时(如: "测试".getBytes()), 会使用Charset.default ...

  9. Yii框架中的form表单

    <?php//引入命名空间use yii\helpers\Html;?><?php //表单:Html::beginForm(提交地址,提交方法,属性数组);?><?=H ...

  10. [译] AR SDK的种类比你想得要多!这里介绍七个棒棒哒

    作者:Eddie Offermann 原文:There are dozens more Augmented Reality SDKs than you think! Here are seven gr ...