近期改的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命令。

最新文章

  1. java设计模式--策略模式
  2. 在centos6.5中安装scp和lrzsz
  3. ABK (枚举)
  4. 【Android】 Sqlite3 not found
  5. <WEB>平板_手机开发_13 个处理触摸事件和多点触摸的JS 库
  6. redis-如何在工程中使用redis
  7. P3092 [USACO13NOV]没有找零No Change
  8. Python开发【内置模块篇】datetime
  9. 3.7 unittest之断言
  10. [解决]RESTEASY003215: could not find writer for content-type text/html type: java.lang.String
  11. Caused by: java.lang.NumberFormatException: For input string: "18446744073709551615"
  12. 在mpvue中使用map如何避坑
  13. linux 内核假死循环导致的问题
  14. mysql 清空所有表数据重置自增ID
  15. WPF MeasureOverride和 ArrangeOverride做个 页面导航
  16. C# 金额转中文大写
  17. TOMCAT可以稳定支持的最大并发用户数
  18. selenium+python定位元素的方法及使用
  19. MATLAB 人脸定位
  20. InitialContext和lookup(转)

热门文章

  1. C++ STL算法系列1---unique , unique_copy函数
  2. iPhone应用中加入评分功能
  3. log4net的分类型输出文件的配置
  4. Flex 各种校验
  5. Prolog 外部不能有 DOCTYPE 声明。处理资源 'http://192.168.115.152:8082/api/EmpApi.aspx' 时出错。第 3 行,位置: 11
  6. win7下安装sdks
  7. yum网络源配置
  8. 使用 visualstudio code 编辑器调试执行在 homestead 环境中的 laravel 程序
  9. 你不知道的document.write
  10. asp.net 验证码技术