从零开始学习Linux部署Java web项目

20161207.png

前言

最近越来越发现需要学习的东西太多了,前几天公司服务器出现问题,需要对服务器硬件进行维护,当然服务器上的服务需要部署到另一个服务器上。这对于我来说是很陌生的,虽然这件工作没有让我去做,但是还是很好奇web项目是如何部署到服务器的。其实很早之前就想学习这些,但是一直没有行动。所以趁着这股兴奋劲,就决定去学习一下,并做此次总结。

准备工作

虚拟机 : VMware10
Linux : CentOS-7-x86_64-DVD
JDK : java 1.7
Xmanager Enterprise (Xshell) : Xmanager Enterprise 5( Xshell 5)
Tomcat : Tomcat-8.5

可去官网下载,由于官网下载文件相对较慢,我把文件上传到百度网盘了,链接:http://pan.baidu.com/s/1eR4ivkQ 密码:g0j8。

VMware安装

对于VMware的安装没什么可说的,直接下一步就可以了,在最后会出现一个填注册码的地方,这个软件是收费的,所以我们需要破解,在上传的VMware10安装包中,有一个vm10keygen.exe可执行文件,该文件是生成注册码序列的,直接将Serial后的一串字符复制填写即可破解使用。

这里写图片描述

CentOS7安装

在VMware上安装Linux,需要先创建一个虚拟机。打开VMware后点击文件-新建-虚拟机(接下来上图了,看图更清晰)

这里写图片描述

之后我们选择制自定义,当然如果你不想麻烦的话可以选择典型安装,这个也是默认的安装的方式。点击下一步

这里写图片描述

硬件的兼容性我们直接选择默认的的就行。

这里写图片描述

在这里就出现了选择安装的操作系统的方式,有光盘,iso文件及稍后安装操作系统。在这里选择了第三项先稍后安装操作系统。

这里写图片描述

这里就是选择要安装的操作系统,以及操作系统的版本。显然选择Linux,CentOS 64位就好了

这里写图片描述

这里给虚拟机命名及选择安装位置,点击下一步就会出现处理器设置,以及虚拟机内存设置,可以直接选择默认的就行了。再点击下一步就会出现网络类型设置,网络类型选择NAT,之后就一路下一步就可以了。

这里写图片描述

走到上面注意一下,这里选择磁盘大小,根据自己的使用设置,默认是20G,磁盘存储选择中间的那一项将虚拟磁盘存储为单个文件。

这里写图片描述

上面选择虚拟磁盘存储的位置,可以选择上面虚拟机的安装位置就可以,当然也可以按你自己意愿选择位置。再下一步就出现完成的按钮,点击完成即可。此时硬件信息都给你罗列出来了,你可以选择你创建的虚拟机右键设置,去更改这些选项。如下图

这里写图片描述

最后需要点击上图DVD选项,选择使用ISO文件,并选择你iso文件所在的地方,点击确定。然后选择开启虚拟机就开始进行安装了

这里写图片描述

出现上面图示,通过上下键选择第一项Install CentOS 7然后回车。

这里写图片描述

出现上面语言选择,我这里选择了默认语言英语,你可以选择中文。然后就出现一些设置项如下

这里写图片描述

上面选项的配置如DATE,KEYBOADY,LANGUAGE SUPPORT等不作介绍,可以自己设置。主要介绍下磁盘分区

这里写图片描述

如果你想省事就直接尊重第一项Automatically就可以,它会自己帮助你分配,选择自己配置,第二个选项。

这里写图片描述

上面分区模式选择标准方式,及第一项。

这里写图片描述

点击左下角那个加号即可自己增加。之后选择网络选项设置网络

这里写图片描述

如上图将右上角设置为ON模式,会出现下面IP地址等信息。确定之后选择右下角Begin Installation

这里写图片描述

到这里就正式安装系统了,上面有设置用户的,你可以设置root用户密码,及创建自己用户,登录时验证。(Xshell远程登录时需要用户名密码)后面就耐心等待安装就可以了,时间相对较长。

JDK安装

为了真实模拟服务器,我用Xshell 5登录到Linux系统,用root用户登录的。

Xshell:\> 

Connecting to 192.168.199.130:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

Last login: Wed Dec  7 08:46:57 2016 from 192.168.199.1
ABRT has detected 1 problem(s). For more info run: abrt-cli list --since 1481071617
[root@xiehui ~]# java -version
java version "1.7.0_75"
OpenJDK Runtime Environment (rhel-2.5.4.2.el7_0-x86_64 u75-b13)
OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)
[root@xiehui ~]# 

登录之后,我们通过java -version命令可以看到CentOS 操作系统默认安装的是有JDK的,当然如果你不想使用这个版本的JDK,可以自己安装。

Tomcat 安装

我们先进入home目录下,创建tomcat8文件夹

[root@xiehui /]# cd home
[root@xiehui home]# mkdir tomcat8
[root@xiehui home]# ls
tomcat8  xiehui

然后将apache-tomcat-8.5.8.tar.gz复制到新创建的文件夹中,解压文件

[root@xiehui tomcat8]# tar -zvxf apache-tomcat-8.5.8.tar.gz

解压之后,我们进入解压的文件

[root@xiehui apache-tomcat-8.5.8]# ls
bin  conf  lib  LICENSE  logs  NOTICE  RELEASE-NOTES  RUNNING.txt  temp  webapps  work

bin目录中存放Tomcat的一些脚本文件,最重要的也是用的最多就是启动和关系tomcat服务脚本。
conf:存放Tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xml
webapps:Tomcat的主要Web发布目录,默认情况下把Web应用文件放于此目录
logs:存放Tomcat执行时的日志文件
那么我们进入bin目录将tomcat启动

[root@xiehui apache-tomcat-8.5.8]# cd bin
[root@xiehui bin]# ./startup.sh
Using CATALINA_BASE:   /home/tomcat8/apache-tomcat-8.5.8
Using CATALINA_HOME:   /home/tomcat8/apache-tomcat-8.5.8
Using CATALINA_TMPDIR: /home/tomcat8/apache-tomcat-8.5.8/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /home/tomcat8/apache-tomcat-8.5.8/bin/bootstrap.jar:/home/tomcat8/apache-tomcat-8.5.8/bin/tomcat-juli.jar
Tomcat started.

执行后我们发现最后有提示Tomcat started,表示服务已经启动。然后通过下面命令查看服务详细信息

[root@xiehui bin]# ps -ef|grep tomcat
root      5110     1 54 11:12 pts/0    00:00:21 java -Djava.util.logging.config.file=/home/tomcat8/apache-tomcat-8.5.8/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -classpath /home/tomcat8/apache-tomcat-8.5.8/bin/bootstrap.jar:/home/tomcat8/apache-tomcat-8.5.8/bin/tomcat-juli.jar -Dcatalina.base=/home/tomcat8/apache-tomcat-8.5.8 -Dcatalina.home=/home/tomcat8/apache-tomcat-8.5.8 -Djava.io.tmpdir=/home/tomcat8/apache-tomcat-8.5.8/temp org.apache.catalina.startup.Bootstrap start
root      5143  4533  0 11:12 pts/0    00:00:00 grep --color=auto tomcat
[root@xiehui bin]# 

通过上面命令,我们可以看到启动用户,进程id,配置等信息。对于结束服务我们可以在bin目录执行./shutdown.sh。也可以使用下面命令

[root@xiehui bin]# kill -9 5110
[root@xiehui bin]# ps -ef|grep tomcat
root      5211  4533  0 11:18 pts/0    00:00:00 grep --color=auto tomcat

kill -9后面的数字就是服务的进程号,如果想启动再次执行./shutdown.sh就可以了。再次把服务打开,然后在本机访问Linux Tomcat ,发现并不能访问,但是在Linxu内部的浏览器却是可以的,这种原因一般是防火墙的问题。关闭下防火墙就可以访问了

[root@xiehui sysconfig]# systemctl stop firewalld

因为配置的是NAT,即使本地和虚拟机不在一个网段也是可以访问的。安装好Tomcat后,在webapps下面自带一个demo

[root@xiehui apache-tomcat-8.5.8]# cd webapps/
[root@xiehui webapps]# ls
docs  examples  host-manager  manager  ROOT
[root@xiehui webapps]# 

发现此时打开了部署的web项目。


这里写图片描述

部署项目只需要把把项目复制到Tomcat的Webapps下即可。这也是最简单的一种方式。如果我们想更改我们的tomcat服务接口,那么可以到tomcat下的conf目录,里面有个server.xml文件。重要的配置信息在这里

  <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
  <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
               

在配置文件中有一个unpackWARs参数,如果设置为false即可以部署war包项目,tomcat会自动解压文件。还可以在server.xml中使用Context标签指定项目在任何位置。

<Context path="定web应用的虚拟路径名" docBase="要部署的Web应用的源路径(实际位置)" reloadable="true" /> 

到这里,通过自己的学习并实践将项目部署掌握了,从此部署项目So easy。应了那句话自己动手丰衣足食。
最后再发几个常用命令

df -h   查看磁盘使用信息
vi filename 查看文件输入后进入命令行模式,命令行模式输入I进入插入模式,此时可更改文件内容,更改完成,按Esc退出编辑模式到命令行模式
: wq (输入「wq」,存盘并退出vi) 
: q! (输入q!, 不存盘强制退出vi) 
cat /proc/version  查看正在运行的内核版本
cat /etc/issue       显示的是发行版本信息
lsof -i:端口号         查看占用某端口的进程
ps aux | grep 进程号        根据进程ID查看进程详细信息
cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l   物理CPU的个数
cat /proc/cpuinfo |grep "processor"|wc -l               逻辑CPU的个数
cat /proc/cpuinfo |grep "cores"|uniq                查看CPU内核数
top  查看系统负载,CPU,存储,进程等详细的使用信息

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,635评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,628评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,971评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,986评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,006评论 6 394
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,784评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,475评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,364评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,860评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,008评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,152评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,829评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,490评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,035评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,428评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,127评论 2 356

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,673评论 18 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,827评论 6 342
  • 这周Alister小朋友终于实现了自己的愿望,跟着舅舅去山西啦。 提前两天兴奋的不行不行的了,自己收拾行李,神奇书...
    athenaliang阅读 180评论 0 0
  • 【每日一思】距今为止你认为最重要的道理是什么? 人生在世,随心而活。幸福的方式有很多种,遵循内心的声音。
    柚子粒阅读 151评论 0 0
  • What are the things you find most beautiful in science? S...
    singto_tutu阅读 275评论 0 0