java _tomcat_mysql 部署
项目做完了,要发布了,而Java的特长之一就是移植性好,面对着微软的XP的停止服务,Windows系统的“独裁”,越来越多的商家选择了开源的免费的linux系统作为服务器。因为linux系统也有图形界面(虽然和Windows比起来很不一样),所以在图形界面中操作相对来说还是容易的,这就好比我们在Windows系统上部署项目一样,大部分人都是小Case。但是真正工作中,服务器都会在固定的机房,而且往往只有一台主机,更规模大一些的就是使用单片机,像摆书一样摆到机房的机器架上,而我们操作它的最常用的方式就成为了远程访问。就像在控制台一样进行命令输入控制,从而使人们操作电脑又回到了几十年代前(不知道这种方式什么时候能改革了),所以还是需要些技术的。这篇博客,简单讲述一下在linux部署项目需要注意的事项,以及常用命令。
好,简单讲述Java项目+Tomcat+MySQL的部署过程。
一,首先就是如何远程连接linux系统:
1,在linux端创建可支持远程访问的用户;
2,利用相应的远程访问软件:SecureFXPortable(窗口)+SecureCRTPortable(控制台)或者PUTTY(控制台)+RealVNCsetup(窗口)等。
3,在一块,还有ssh等各种端口协议等,一大块知识需要我们研究,这里不再给出。我也是刚刚接触。大家网上都搜资料。
二,MySql相关
1,如果服务器没有MySql,需要进行安装,安装可以下载绿色版的进行解压缩即可,也可以在线安装。
a,解压缩:
zip:
zip-r myfile.zip ./*
将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件.
unzip -q myfile.zip 解压myfile.zip压缩包,-q是将不显示解压过程。
tar:
tar命令可以用来压缩打包单文件、多个文件、单个目录、多个目录。
常用格式:
单个文件压缩打包 tar czvf my.tar file1
多个文件压缩打包 tar czvf my.tar file1 file2,...
单个目录压缩打包 tar czvf my.tar dir1
多个目录压缩打包 tar czvf my.tar dir1 dir2
解包至当前目录:tar xzvf my.tar
解释:
tar命令
[root@linux~]# tar [-cxtzjvfpPN] 文件与目录 ....
参数:
-c:建立一个压缩文件的参数指令(create 的意思);
-x:解开一个压缩文件的参数指令!
-t:查看 tarfile 里面的文件!
特别注意,在参数的下达中,c/x/t 仅能存在一个!不可同时存在!
因为不可能同时压缩与解压缩。
-z:是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j:是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v:压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f:使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
例如使用『tar -zcvfP tfile sfile』就是错误的写法,要写成
『tar -zcvPf tfile sfile』才对喔!
-p:使用原文件的原来属性(属性不会依据使用者而变)
-P:可以使用绝对路径来压缩!
-N:比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
--exclude FILE:在压缩的过程中,不要将 FILE 打包!
b,在线安装:sudo apt-get installmysql-server,在安装过程中会提示输入Root密码及密码确认等。
2,当然后边还需要添加角色,编写配置文件,建库,建表,备份,还原等等操作,每个操作都有很多的对应的代码,这里不再一一给出,看下这个链接:在Linux下安装和使用MySQL
三,Tomcat使用,
1,安装Tomcat,也是解压利用unzip或者tar等命令。
a,前边我们可能会建文件夹利用Mkdir,建目录,建文件夹等:
b,复制粘贴,移动等常用命令
cp拷贝:
sudo cp~/toInstall/apache-tomcat-6.0.37.tar.gz ./ 管理员拷贝到当前目录
mv移动 [选项] 源文件或目录 目标文件或目录
-b :若需覆盖文件,则覆盖前先行备份。
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会更新(update)
-t : --target-directory=DIRECTORYmove all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
2,其次我们进行Tomcat的开启和关闭:
开启:sh startup.sh
关闭:sh shutdown.sh
查看进程:ps -ef|grep tomcat(进程名称即可)
杀死进程:kill -9 进程号
3,对于一些辅助服务的开启,例如nginx:
server nginx(服务名) start
server nginx(服务名) stop
等,也是linux命令来实现,我们以前点击实现的功能。
四,项目部署,其实直接将项目拷贝到Tomcat webapps Root目录下,或者指定的目录下,解压即可,只是这里还需要修改其中的一些配置文件,使mysql+tomcat+各种辅助服务(nginx)+Java程序配套起来。
这里提一下文件的修改,Tomcat目录下的可以通过窗口远程,下载修改上传覆盖的形式进行简易操作,如果非得再linux远程界面上修改操作文件的话,可以利用VI编辑器命令进行实现,简单命令:
:set nu 显示行号
:dd 删除当前行
:wq 保存退出
:q 退出
:q! 强制退出
i 开始编辑文件
esc 退出编辑
综上为在linux系统项目部署的大概流程,这里仅仅是梳理了下思路,具体知识写的不够详细,还需要大家上网多查多搜索。内容不够丰富,还望大家多多包含……
java _tomcat_mysql 部署的更多相关文章
- 高密度Java应用部署的一些实践
传统的Java应用部署模式,一般遵循“硬件->操作系统->JVM->Java应用”这种自底向上的部署结构,其中JEE应用可以细化为“硬件->操作系统->JVM->J ...
- Java Project部署到Tomcat服务器上
所有的JAVA程序员,在编写WEB程序时,一般都通过工具如 MyEclipse,编写一个WEB Project,通过工具让这个WEB程序和Tomcat关联.其实在我们可以通过JAVA程序部署到Tomc ...
- android 之 java环境部署
上甲骨文公司官网下载最新的jdk http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-z ...
- idea java项目部署至Tomcat服务器
1. 服务器部署TomCat 1. 安装JDK,配置环境变量 > 变量名:JAVA_HOME;变量值:C:\Program Files\Java\jdk1.7.0_45 ...
- 揭秘Java热部署原理及JRebel(Hotcode)的实现原理
基础知识:class卸载.热替换和Tomcat的热部署的分析HotSwap:HotSwap和JRebel原理成熟的热部署技术实现原理:深入探索 Java 热部署 java的热部署和热加载
- 探秘 Java 热部署三(Java agent agentmain)
前言 让我们继续探秘 Java 热部署.在前文 探秘 Java 热部署二(Java agent premain)中,我们介绍了 Java agent premain.通过在main方法之前通过类似 A ...
- 探秘 Java 热部署二(Java agent premain)
# 前言 在前文 探秘 Java 热部署 中,我们通过在死循环中重复加载 ClassLoader 和 Class 文件实现了热部署的功能,但我们也指出了缺点-----不够灵活.需要手动修改文件等操作. ...
- 【JavaService】使用Java编写部署windows服务
如果你玩windows系统,你对服务这个东西并不会陌生,服务可以帮我们做很多事情,在不影响用户正常工作的情况下,可以完成很多我们需要的需求. 众所周知,微软的visio studio内置的Servic ...
- java项目部署后的文件路径获取
//eclipse部署工程 String path = request.getServletContext().getRealPath( File.separator+ "WEB-INF&q ...
随机推荐
- Shell重启Tomcat脚本
#!/bin/bash echo -e "\n\n\n" #force kill flag,if equal [f] to force kill all flag="He ...
- AJAXA进行分页(2)
查询功能是开发中最重要的一个功能,大量数据的显示,我们用的最多的就是分页. 在ASP.NET 中有很多数据展现的控件,比如用的最多的GridView,它同时也自带了分页的功能.但是我们知道用GridV ...
- 洛谷P1111修复公路并查集改
看了他们的题解感觉很震惊,为什么要用kruskal,这题要用到最小生成树吗??? 38行短短的程序就可以了,我觉得学习不是一种套用,套自己学的,而且题解很大一部分都是kruskal. 个人认为自己的程 ...
- 第二篇:ssh.invoke_shell() 切换root出现的新问题
接上一篇:按照上一篇的方式,在没有对ssh.invoke_shell()执行后的登录提示符进行判断的话,那边有部分机器就回因为返回为空导致程序卡死. 正常机器 ssh.recv(9999) 命令返 ...
- 六、Linux 文件基本属性
Linux 文件基本属性 Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限.为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规 ...
- 十九、MySQL GROUP BY 语句
MySQL GROUP BY 语句 GROUP BY 语句根据一个或多个列对结果集进行分组. 在分组的列上我们可以使用 COUNT, SUM, AVG,等函数. GROUP BY 语法 SELECT ...
- 3.Cisco Packet Tracer中关于交换机端口安全的设置
本次实验将在这幅拓扑图的基础上完成 我们会对pc0在交换机上进行mac地址绑定,pc1访问时则交换机断开端口 1.为pc机配置ip地址 pc0:192.168.1.1 pc1:192.168.1.2 ...
- linux正则表达式扩展部分
扩展的正则表达式(Extended Regular Expressions): 使用的命令为:grep -E以及egrep [了解即可] 1)+ 表示重复“一个或一个以上”前面的字符(*是0或多 ...
- windows下CMD命令大全(仅供参考)
CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本.文件系统版本)chcp 修改默认字符集chcp 936默认中文chcp 650011. appwiz.c ...
- 用描述符实现classmethod方法和staticmethod方法
1. @classmethod class ClassMethod: def __init__(self, func): self.func = func def __get__(self, inst ...