近期改的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. linux iptables 配置

    1.查看已有配置 iptables -L -n 2.清除原有规则. iptables -F        清除预设表filter中的所有规则链的规则 iptables -X        清除预设表f ...

  2. Linux 系统分区

    合理的系统分区,便于后期管理和提高文件的搜索速度 分区格式说明 linux分区不同于windows,linux下硬盘设备名为(IDE硬盘为hdx(x为从a—d)因为IDE硬盘最多四 个,SCSI,SA ...

  3. QT第一天学习

    sudo apt-get install libqt4-dev回顾: 面向对象方法: 封装.继承.多态 封装:类 数据和操作 实现了信息隐藏 public: 类的内部 类的外部 private: pr ...

  4. Android EditText获取焦点和失去焦点监听事件

    实现方法也很简单.那就是绑定OnFocusChangeListener事件.实现onFocusChange(View v, boolean hasFocus) 方法.第二个参数就是判断得到焦点或失去焦 ...

  5. MVC无刷新查询,PagedList分页控件使用,导出Excel

    使用MVC开发也有一段时间了,总结下无刷新部分视图的使用.PagedList分页控件的使用. @using PagedList @model StaticPagedList<T> < ...

  6. 使用PHP的strstr()函数来统计一段字符串中元音字母的个数(区分大小写)

    <?php/**练习:统计一段字符串中所有元音字母的个数(区分大小写)*/$str='This is a test file.'; //原始字符串echo $str.'<br>'; ...

  7. The type or namespace name '****' could not be found

    偶尔会在编译时出现“The type or namespace name '****' could not be found (are you missing a using directive or ...

  8. 怎样在chrome中内置扩展,以及一些简单的定制

    本文中chromium 版本为54 参考资料: chromium如何新增extension API以及添加内部扩展 http://slides.com/luyuan/grit#/ 一.嵌入扩展 1.  ...

  9. 安卓TCP通信

    tCPServer.java 服务器的两个socket都没有关闭:s,ss.两个都是一直开启,然后数据才有显示 class tcpServer { public static void main(St ...

  10. R语言爬虫 rvest包 html_text()-html_nodes() 原理说明

    library(rvest) 例子网页:http://search.51job.com/jobsearch/search_result.php?fromJs=1&jobarea=010000% ...