從零開始學習Linux部署Java web專案

Code4Android發表於2016-12-07

前言

最近越來越發現需要學習的東西太多了,前幾天公司伺服器出現問題,需要對伺服器硬體進行維護,當然伺服器上的服務需要部署到另一個伺服器上。這對於我來說是很陌生的,雖然這件工作沒有讓我去做,但是還是很好奇web專案是如何部署到伺服器的。其實很早之前就想學習這些,但是一直沒有行動。所以趁著這股興奮勁,就決定去學習一下,並做此次總結。

準備工作

虛擬機器 : VMware10
Linux : CentOS-7-x86_64-DVD
JDK : java 1.7
Xmanager Enterprise (Xshell) : Xmanager Enterprise 5( Xshell 5)
Tomcat : Tomcat-8.5

可去官網下載,由於官網下載檔案相對較慢,我把檔案上傳到百度網盤了,連結:pan.baidu.com/s/1eR4ivkQ 密碼:g0j8。

VMware安裝

對於VMware的安裝沒什麼可說的,直接下一步就可以了,在最後會出現一個填註冊碼的地方,這個軟體是收費的,所以我們需要破解,在上傳的VMware10安裝包中,有一個vm10keygen.exe可執行檔案,該檔案是生成註冊碼序列的,直接將Serial後的一串字元複製填寫即可破解使用。

從零開始學習Linux部署Java web專案
這裡寫圖片描述

CentOS7安裝

在VMware上安裝Linux,需要先建立一個虛擬機器。開啟VMware後點選檔案-新建-虛擬機器(接下來上圖了,看圖更清晰)

從零開始學習Linux部署Java web專案
這裡寫圖片描述

之後我們選擇制自定義,當然如果你不想麻煩的話可以選擇典型安裝,這個也是預設的安裝的方式。點選下一步

從零開始學習Linux部署Java web專案
這裡寫圖片描述

硬體的相容性我們直接選擇預設的的就行。

從零開始學習Linux部署Java web專案
這裡寫圖片描述

在這裡就出現了選擇安裝的作業系統的方式,有光碟,iso檔案及稍後安裝作業系統。在這裡選擇了第三項先稍後安裝作業系統。

從零開始學習Linux部署Java web專案
這裡寫圖片描述

這裡就是選擇要安裝的作業系統,以及作業系統的版本。顯然選擇Linux,CentOS 64位就好了

從零開始學習Linux部署Java web專案
這裡寫圖片描述

這裡給虛擬機器命名及選擇安裝位置,點選下一步就會出現處理器設定,以及虛擬機器記憶體設定,可以直接選擇預設的就行了。再點選下一步就會出現網路型別設定,網路型別選擇NAT,之後就一路下一步就可以了。

從零開始學習Linux部署Java web專案
這裡寫圖片描述

走到上面注意一下,這裡選擇磁碟大小,根據自己的使用設定,預設是20G,磁碟儲存選擇中間的那一項將虛擬磁碟儲存為單個檔案。

從零開始學習Linux部署Java web專案
這裡寫圖片描述

上面選擇虛擬磁碟儲存的位置,可以選擇上面虛擬機器的安裝位置就可以,當然也可以按你自己意願選擇位置。再下一步就出現完成的按鈕,點選完成即可。此時硬體資訊都給你羅列出來了,你可以選擇你建立的虛擬機器右鍵設定,去更改這些選項。如下圖

從零開始學習Linux部署Java web專案
這裡寫圖片描述

最後需要點選上圖DVD選項,選擇使用ISO檔案,並選擇你iso檔案所在的地方,點選確定。然後選擇開啟虛擬機器就開始進行安裝了

從零開始學習Linux部署Java web專案
這裡寫圖片描述

出現上面圖示,通過上下鍵選擇第一項Install CentOS 7然後回車。

從零開始學習Linux部署Java web專案
這裡寫圖片描述

出現上面語言選擇,我這裡選擇了預設語言英語,你可以選擇中文。然後就出現一些設定項如下

從零開始學習Linux部署Java web專案
這裡寫圖片描述

上面選項的配置如DATE,KEYBOADY,LANGUAGE SUPPORT等不作介紹,可以自己設定。主要介紹下磁碟分割槽

從零開始學習Linux部署Java web專案
這裡寫圖片描述

如果你想省事就直接尊重第一項Automatically就可以,它會自己幫助你分配,選擇自己配置,第二個選項。

從零開始學習Linux部署Java web專案
這裡寫圖片描述

上面分割槽模式選擇標準方式,及第一項。

從零開始學習Linux部署Java web專案
這裡寫圖片描述

點選左下角那個加號即可自己增加。之後選擇網路選項設定網路

從零開始學習Linux部署Java web專案
這裡寫圖片描述

如上圖將右上角設定為ON模式,會出現下面IP地址等資訊。確定之後選擇右下角Begin Installation

從零開始學習Linux部署Java web專案
這裡寫圖片描述

到這裡就正式安裝系統了,上面有設定使用者的,你可以設定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專案。

從零開始學習Linux部署Java 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,儲存,程式等詳細的使用資訊複製程式碼

相關文章