debian/ubuntu部署java应用小结
近期改的Java应用即将部署,为了强强联合,需要把Java应用部署到linux,我们选择了debian系列。小结一下部署的大致过程,如下:
- Ubuntu已经默认安装了OpenJDK,但还是比较倾向官方正式的JDK版本,如何安装Oracle 的JDK,请参考这里。
- 由于我们使用的Oracle数据库,为了发挥更好的性能,我们需要配置客户端TNS,如何配置请参考这里。
- 使用Eclipse到处可执行的jar包,为了配置方便,我把应用的所有相关配置文件放在与该应用同级的config目录里,这些配置文件包括应用配置,日志配置文件等。
- 处理^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
- 执行应用可能使用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应用小结的更多相关文章
- 阿里云Ubuntu部署java web - 文件夹
文件夹(点击章节标题阅读): 阿里云Ubuntu部署java web(1) - 系统配置 ssh链接server(使用终端远程链接) 加入用户 给用户赋予运 ...
- ubuntu部署Java、Python开发环境
要部署Java开发环境首先就要安装JDK. 一.安装JDK8 1. 下载 jdk-8u172-linux-x64.tar.gz 到 /usr/java8/ 目录下: 2. tar -zxvf jd ...
- 阿里云Ubuntu部署java web(2) - 配置tomcat
系统版本号:Ubuntu12.04 64位 安装: 首先要安装java(測试时使用的版本号是6b27-1.12.6-1ubuntu0.12.04.2).版本号可自行选择,但不同版本号配置方法可能不同. ...
- 阿里云Ubuntu部署java web(1) - 系统配置
系统版本号:ubuntu 12.04 64位 ssh链接服务器(使用终端远程链接): ssh -l username IP地址 假设出现相似例如以下错误: @ WARNING: REMOTE H ...
- Ubuntu部署Java web项目
登录服务器和给服务器传输文件,使用的工具是Xshell Xftp Mysql 安装mysql 输入:sudo apt-get update 更新软件列表 输入: ...
- ubuntu部署java环境
一.安装java sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracl ...
- ubuntu docker安装与部署java,mysql,nginx镜像
docker 安装与部署java,mysql,nginx docker 配置 安装docker $ sudo apt-get remove docker docker-engine docker.io ...
- 转:CentOS/Debian/Ubuntu一键安装LAMP(Apache/MySQL/PHP)环境
CentOS/Debian/Ubuntu一键安装LAMP(Apache/MySQL/PHP) 今天遇到一个网友提到需要在Linux VPS服务器中安装LAMP(Apache/MySQL/PHP)网站环 ...
- 服务器操作系统应该选择 Debian/Ubuntu 还是 CentOS?
来自 http://www.zhihu.com/question/19599986 服务器操作系统应该选择 Debian/Ubuntu 还是 CentOS? 想选择一个 Linux 发行版作为服务器. ...
随机推荐
- linux iptables 配置
1.查看已有配置 iptables -L -n 2.清除原有规则. iptables -F 清除预设表filter中的所有规则链的规则 iptables -X 清除预设表f ...
- Linux 系统分区
合理的系统分区,便于后期管理和提高文件的搜索速度 分区格式说明 linux分区不同于windows,linux下硬盘设备名为(IDE硬盘为hdx(x为从a—d)因为IDE硬盘最多四 个,SCSI,SA ...
- QT第一天学习
sudo apt-get install libqt4-dev回顾: 面向对象方法: 封装.继承.多态 封装:类 数据和操作 实现了信息隐藏 public: 类的内部 类的外部 private: pr ...
- Android EditText获取焦点和失去焦点监听事件
实现方法也很简单.那就是绑定OnFocusChangeListener事件.实现onFocusChange(View v, boolean hasFocus) 方法.第二个参数就是判断得到焦点或失去焦 ...
- MVC无刷新查询,PagedList分页控件使用,导出Excel
使用MVC开发也有一段时间了,总结下无刷新部分视图的使用.PagedList分页控件的使用. @using PagedList @model StaticPagedList<T> < ...
- 使用PHP的strstr()函数来统计一段字符串中元音字母的个数(区分大小写)
<?php/**练习:统计一段字符串中所有元音字母的个数(区分大小写)*/$str='This is a test file.'; //原始字符串echo $str.'<br>'; ...
- 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 ...
- 怎样在chrome中内置扩展,以及一些简单的定制
本文中chromium 版本为54 参考资料: chromium如何新增extension API以及添加内部扩展 http://slides.com/luyuan/grit#/ 一.嵌入扩展 1. ...
- 安卓TCP通信
tCPServer.java 服务器的两个socket都没有关闭:s,ss.两个都是一直开启,然后数据才有显示 class tcpServer { public static void main(St ...
- R语言爬虫 rvest包 html_text()-html_nodes() 原理说明
library(rvest) 例子网页:http://search.51job.com/jobsearch/search_result.php?fromJs=1&jobarea=010000% ...