文章目錄
>> Linux 遠程控制管理
Linux安裝的是Ubuntu服務器版本(UBuntu Server 16.04 X64),作爲服務器的電腦,一般不會放在身邊,一般放在機房有專人看管維護,或者託管到運營商,我們平時操作的電腦是客戶機;所以要控制服務器,就要通過遠程控制的方式;
傳統的網絡服務程序,FTP、POP、Telnet本質上都是不安全的,因爲它們在網絡上通過明文傳送口令和數據,這些數據很容易被截獲;
SSH
(Secure Shell)是LInux上的一種安全遠程連接技術
,由客戶端和服務端組成
;它可以把傳輸數據進行加密、壓縮,預防攻擊的同時還可以加快傳輸速度;
- SSH 默認端口號:22
- 遠程連接工具:
SecuetCRT
;
只要是連接,就有服務端和客戶端;服務端創建監聽端口,一直等待客戶端請求服務端的監聽端口;客戶端發送請求到服務端,兩端一連上就是長連接(tcp/ip連接),連上之後數據就能互相傳遞了;
SSH連接有兩種方式:
- 基於口令的連接方式:知道服務器的賬號密碼即可遠程登錄,口令和數據會在傳輸過程中國被加密;
- 基於祕鑰的安全驗證:客戶端創建一對祕鑰,公有祕鑰上傳到服務端上自己的宿主機目錄中,私鑰保存在本地;客戶端在訪問服務端IP地址的時候,會將私鑰傳到服務端,與服務端上保存的公鑰進行匹配,若匹配成功就可直接登錄;
(免密登錄:沒有免密纔是最安全的!)
~ Shell
Shell是一個特殊的應用程序,本質上是一個命令解釋器,下通系統調用,上通各種應用,連接系統和應用之間的交互;
在沒有圖形界面之前,Shell充當用戶界面,用戶需要運行某些應用的時候,要通過Shell輸入命令,建立運行程序;
同時Shell是可編程的,可以執行符合Shell語法的文本,這個文本稱爲Shell腳本;
Shell是Linux默認主流的bash;
echo $SHELL
:查看當前shell版本;
cat /etc/shells
:查看本機器支持的shell的版本;
chsh -s /bin/sh
:切換到指定的shell上;
>> Linux 目錄結構
bin
:存放二進制可執行文件;(綠色顯示)(.exe)(ls、cat、mkdir等)
boot
:存放用於系統引導時使用的各種文件;就是啓動文件,系統啓動時運行的文件;
dev
:用於存放設備文件;
etc
:存放系統配置文件;
home
:存放所有用戶文件的根目錄;
lib
:存放跟文件系統中的程序運行所需要的共享庫及內核模塊;Linux運行需要的依賴,類似Java程序運行時需要的第三方依賴;
mnt
:系統管理員安裝臨時文件系統的安裝點;
opt
:額外安裝的可選應用程序包所放置的位置;
proc
:虛擬文件系統,存放當前內存的映射;
root
:超級用戶目錄;
sbin
:存放二進制可執行文件,只有root才能訪問;
tmp
:用於存放各種臨時文件;
usr
:(存放手動安裝的程序) 用於存放系統應用程序,比較重要的目錄/usr/local
本地管理員軟件安裝目錄:自己安裝的程序必須放置在該目錄;
var
:用於存放運行時需要改變數據的文件;Eg:MySQL的dtd文件;
Linux安裝軟件,軟件中的文件是分開存放的,例如:配置文件放在/etc目錄下,可執行文件放在/bin目錄下;而Windows安裝的軟件的文件存放在一起;
>> Linux 常用命令
- 命令區分大小寫;
- 命令太長一行放不下時,可在第一行尾輸入
“\”
字符,按回車鍵,這時shell會返回大於號“>”
作爲提示符,表示該命令尚未結束,允許繼續輸入命令; XX --help:
打印XX命令用法;man find/其他指令
:查看指令用法;
~ 重啓/關機
sudo reboot
:重啓sudo shutdown -r now
:重啓sudo shutdown -h now
:關機
~ 操作文件目錄命令
-
ls
:顯示文件和目錄列表;ls [-l -a] [name]
-l
:列出文件的詳細信息;-a
:列出當前目錄所有文件,包含隱藏文件;-d
:只顯示當前目錄下的各個子目錄名;
-
mkdir
:創建目錄;mkdir [-p] dirName
-p
:父目錄不存在的情況下先生成父目錄;
-
cd
:切換目錄;cd [dirName]
-
touch
:創建文件 - 生成一個空文件;(文本文件)
修改指定文件的時間標籤,把已存在的文件的時間標籤更新爲系統當前時間(默認方式),它們的數據原封不動的保存下來;若該文件尚未存在,則創建一個空新文件;touch fileName.txt
-
echo
:寫文件 - 生成一個帶有內容的文件;echo message > 1.txt
- message後面不加 > 表示直接將message在控制檯顯示;message用單引號括起來表示原樣輸出,否則多個空格合併爲一個輸出;
- 一個 > 表示message替換文件中原有內容;
- 兩個 >> 表示追加內容,不刪除文件中原有內容;
-
cat
:讀文件 - 顯示文本文件內容;cat fileName
:控制檯顯示cat f1 f2 > f3
:合併文件;
-
cp
:複製文件或目錄;(目的目錄要存在)cp source dest
-r
:同時複製目錄下所有文件及子目錄內容;- 所有目標文件指定的目錄必須已經存在,cp命令不能創建目錄!
cp file /home/mengqc/f
:將file複製到/home/mengqc目錄下,並改名爲f;
-
rm
:刪除文件;rm fileName
-f
:強制刪除文件或目錄;-r
:遞歸刪除,同時刪除該目錄下的所有文件;-i
:使用文件擴展名刪除多個文件時,逐一詢問是否要刪除文件;
-
mv
:剪切文件或目錄,或者重命名;mv source dest
- 若將一個文件移到另一個已經存在的目標文件中,則目標文件的內容會被覆蓋;
- mv 命令可將源文件移至一個目標文件中,或將一組文件移至一個目標目錄中;
- 源文件被移至目標文件有兩種結果:
若目標文件是到某一目錄文件的路徑,源文件會被移到此目錄下,且文件名不變;
若目標文件不是目錄文件,則源文件名(只能有一個)會變爲此目標文件名,並覆蓋已經存在的同名文件;若源文件與目標文件在同一個目錄下,mv的作用就是改文件名; - 當目標文件是目錄時,源文件或目錄參數可以有多個,則所有源文件都會被移至目標文件中,所有移到該目錄下的文件都將保留以前的文件名;
-
find
:在文件系統中查找指定的文件(搜索文件);find -name fileName
:從當前目錄 遞歸查找指定文件;精確查找find -iname fileName
:-iname表示文件名忽略大小寫;不區分大小寫find / -name fileName
:從linux的根目錄/
下開始, 遞歸查找指定文件;模糊查找find ~ -name "*.txt"
:從當前用戶的home目錄下查找指定文件;
-
grep
:在指定的文本文件中查找指定字符串(檢索文件內容);grep "要搜索的字符串" "指定查找的文件範圍"
grep "要搜索的字符串"
:不指定文件範圍,會從標準輸入設備(控制檯)讀取數據;-o
:只輸出符合正則表達式的字符串;-v
:過濾掉包含相關字符串的內容;grep
:一次只能搜索一個指定的模式;egrep
:等同於grep -E,可以使用擴展的字符串模式進行搜索;fgrep
:等同於grep -F,是快速搜索命令,它檢索固定字符串,但是不識別正則表達式;
-
**
管道操作符 |
:將指令連接起來,前一個指令的輸出作爲後一個指令的輸入;- 管道操作符只能處理前一個命令的正確輸出,不處理錯誤輸出;
- 右邊命令必須能夠接收標準輸入流,否則傳遞過程中數據會被拋棄;
- 常用來作爲接收管道數據的命令有:
sed、awk、grep、cut、head、top、less、more、wc、join、sort、split
等;
-
awk
:對文件內容做統計;grep過濾數據,awk進行統計;-
一次讀取一行文本,按輸入分割符進行切片,切成多個組成部分;將每個分片直接保存在內建的變量中,$1,$2,…($0表示行的全部內容),引用指定的變量可以顯示指定的切片的內容;支持對單個切片的判斷,支持對所有切片進行循環判斷,默認分隔符爲空格;
-
awk '{print $1,$4}' fileName1 fileName2
:獲取指定文件的第一列和第四列的內容;逐行遍歷文本內容,將每行的各個部分按照空格切片出來,進行保存; -
awk '$1=="aa" && $2==12{print $0}
fileName’:獲取指定文件第一列值爲"aa",第二列值爲12的行的所有內容; -
awk '($1=="aa" && $2==12) || NR==1 {print $0} fileName'
:顯示錶頭內容;NR表示從awk開始執行後,按照記錄分隔符,讀取的數據的次數,默認的記錄分隔符爲換行符,因此NR默認讀取的就是數據的行數; -
awk -F "," '{print $2}' fileName
:指定切片分隔符; -
grep 'str' fileName | awk '{arrStr[$1]++}END{for(i in arrStr) print i "\t" arrStr[i]}'
:定義一個數組,用它的下標來保存行切片的內容,數組的值就對應行切片的值,進行累加,END表示掃描結束需要做什麼操作,就是執行花括號裏面的內容:遍歷數組裏面的內容;
-
-
sed
:批量替換/刪除文件內容;stream editor
,流編輯器,適用於對文本的行內容進行處理、編輯;sed -i 's/^zhang/Zhang/g' fileName
:將以zhang開頭的的字符串,改成Zhang;
-i
:直接在目標文本中做修改;默認是將修改後的內容輸出到終端;
s:表示要進行字符串的操作;
第一個反斜槓後面:要被替換的內容,^表示篩選出以xx開頭行;'s/.表示以xx結尾;斜槓表示轉義特殊字符;
第二個反斜槓後面:要替換成的目標內容;
第三個反斜槓後面:不寫g,默認替換每一行第一次匹配的內容;g表示替換所有;set -i 's/\.$/\;/g'
:將以.
結尾的行的.
替換成;
set -i '/^ *$/d'
:刪除空行;set -i '/str/d'
:刪除包含str的行;
-
tree
:以樹狀圖列出目錄的內容; -
ln
:建立軟連接;ln 需要創建軟連接的文件的位置 目標
-ln a/1.txt 2.txt
- 軟連接相當於是快捷方式;在2.txt文件中修改文件內容,1.txt文件中同步修改;
-
more
:分頁顯示文本文件內容;- 按Space鍵,顯示文本的下一屏內容;
- 按Enter鍵,只顯示文本下一行內容;
- 按斜線**“/”**,接着輸入一個模式,可以在文本中尋找下一個相匹配的模式;
- 按H鍵,顯示幫助屏,該屏上有相關的幫助信息;
- 按B鍵,顯示上一屏內容;
- 按Q鍵,退出more命令;
-
less
:分屏顯示文件內容;- 與more區別:more只能向前瀏覽,less能向前、向後瀏覽文件;
- 按PageUp鍵,向上翻頁;
- 按PageDown鍵,向下翻頁;
- 按Q鍵,退出 less 程序;
-
head
:顯示文件開頭內容; -
tail
:顯示文件結尾內容;-f
:跟蹤輸出;tail -100f XXX.log
:查看最近100行;
~ 系統管理命令
-
lsb_release -a
:查看Ubuntu系統版本; -
stat
:顯示指定文件的相關信息,比ls命令顯示的內容更多; -
who
:顯示所有正在使用系統的用戶、所有終端名和註冊到系統的時間;- who am i:列出使用該命令的當前用戶的相關信息;
-
hostname
:顯示主機名稱; -
uname
:顯示系統信息; -
top
:顯示當前系統中耗費資源最多的進程;相當於任務管理器; -
ps
:顯示瞬間的進程狀態; -
du
:顯示指定的文件/目錄已使用的磁盤空間的總量;-h:換算爲M; -
df
:顯示文件系統磁盤空間的使用情況; -
free
:顯示當前內存和交換空間的使用情況; -
ifconfig
:顯示網絡接口信息; -
ping
:測試網絡的聯通性; -
netstat
:顯示網絡狀態信息; -
clear
:清屏 -
kill
:殺死一個進程;-9
:徹底殺除;
~ 壓縮命令
tar
:
tar [] 打包之後壓縮包的名稱 欲打包目錄
- 壓縮文件:
tar -czvf aa.tar.gz .
,將當前目錄使用gzip算法打包壓縮; - 壓縮文件:
tar -cjvf bb.tar.bz2 .
,使用bzip2壓縮; - 解壓縮:
tar -xzvf aa.tar.gz
,將壓縮文件解壓到當前目錄; -c
:創建壓縮包;-x
:解壓縮包;-z
:是否需要使用gzip壓縮;-j
:是否需要使用bzip2壓縮;-v
:壓縮過程中顯示文件;-f
:使用檔名,在f之後要立即接檔名;-tf
:查看歸檔文件裏面的文件;
zip
:
apt-get install unzip
unzip ***.zip
>> Linux 軟件的安裝與卸載
-
更新數據源:https://blog.csdn.net/qq_37546891/article/details/80482031#t5
-
apt
:(Advanced Packaging Tools 高級安裝包工具)
是Ubuntu下的軟件包管理程序,使用它可以找到想要的軟件包,並進行安裝、更新、卸載; -
apt-get
是一個下載安裝軟件包的簡單命令行接口,一般需要root權限執行;apt-get update
:更新軟件包列表;apt-get [選項] install pkg1 [pkg2 ...]
:安裝軟件包;apt-get [選項] remove pkg1 [pkg2 ...]
:刪除軟件包;
-
常用命令:
update - 更新軟件包列表
upgrade - 更新操作系統版本(慎用!!)
install - 安裝軟件包
remove - 移除軟件包
autoremove - 自動移除全部不使用的軟件包;刪除軟件包及其依賴;
purge - 移除軟件包和配置文件
source - 下載源碼檔案
build-dep - 爲源碼包配置編譯依賴
dist-upgrade - 發行版升級
dselect-upgrade - 依照 dselect 的選擇更新
clean - 清除下載的歸檔文件
autoclean - 清除舊的的已下載的歸檔文件
check - 檢驗是否有損壞的依賴 -
選項:
-h
本幫助文件;
-q
輸出到日誌 - 無進展指示;
-qq
不輸出信息,錯誤除外;
-d
僅下載 - 不安裝或解壓歸檔文件;
-s
不實際安裝。模擬執行命令;
-y
安裝包的時候會詢問y/n,這個參數是所有詢問默認y;
-f
嘗試修正系統依賴損壞處;
-m
如果歸檔無法定位,嘗試繼續;
-u
同時顯示更新軟件包的列表;
-b
獲取源碼包後編譯 -V 顯示詳細的版本號;
>> 用戶和組管理
~ 用戶
Linux操作系統是一個多用戶操作系統,它允許多用戶同時登錄到系統上並使用資源,系統會根據賬戶來區分每個用戶的文件、進程、任務、環境,使得每個用戶工作互不干擾;
安裝操作系統時創建了一個賬戶,該用戶爲root的代理用戶,使用sudo可以提升用戶權限成root的權限,不使用sudo時就是普通用戶;在實際生產操作中,我們基本都是使用超級管理員賬戶操作Linux系統的,Linux系統默認是關閉root賬戶的,所以需要爲root用戶設置一個初始密碼以方便使用;
sudo passwd root
:設置root賬戶密碼;su
:切換到root;- 設置允許遠程登錄root:
~ 組
- 私有組:當創建一個用戶時沒有指定屬於哪個組,Linux就會建立一個與用戶同名的私有組,此私有組只含有該用戶;
- 標準組:創建一個用戶時可以選定一個標準組,若一個用戶同時屬於多個組時,登錄後所屬的組爲主組,其他爲附加組;
~ 賬戶系統文件說說明
https://www.funtl.com/zh/linux/Linux-用戶和組管理.html#賬戶系統文件說明
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
~ 用戶管理常用命令
https://www.funtl.com/zh/linux/Linux-用戶和組管理.html#賬戶管理常用命令
增加用戶
修改用戶
刪除用戶
組賬戶維護
口令維護
用戶和組狀態
>> 文件權限管理
~ ll
/ ls -al
查看文件/目錄的權限信息
-rw-r--r-- 1 zxj root 148 Aug 17 2015 .profile
- rw- r-- r--
: 文件類型 / 文件所有者的權限 / 文件所屬用戶組的權限 / 其他用戶的權限;- 文件類型:
d
:表示目錄;-
:表示普通文件;l
:表示鏈接文件(軟連接);c
:表示串行端口字符設備文件;b
:表示可供存儲的塊設備文件;
- 文件權限:3個一組
-
:0,無權限;r
:4,讀權限;w
:2,寫權限;x
:1,可執行權限;
- 文件類型:
1
:文件連接數,指有多少文件指向同一個索引節點;zxj
:文件/目錄所屬的用戶;root
:文件/目錄所屬的組;148
:文件的大小,默認bytes;Aug 17 2015
:文件的創建時間;(最後被修改時間).profile
:文件的名稱;
~ 更改操作權限
(1)chown
:change owner,更改文件/目錄的所有者,所有者包含用戶和用戶組;
chown [-R] 用戶名稱:用戶組名稱 文件/目錄
;
-R
:進行遞歸式的權限更改,將目錄下的所有文件、子目錄更新爲指定用戶組權限;
(2)chmod
:change modify,改變訪問權限;
chmod [who] [操作符號] [mode] 文件名
who
:表示操作對象可以是以下字母的一個或組合;a
:表示所有用戶;(系統默認的,不指定表示a)u
:表示用戶user;g
:表示用戶組group;o
:表示其他用戶;
- 操作符號:
+
:表示添加某個權限;-
:表示取消某個權限;=
:表示賦予給定的權限,取消文檔以前的所有權限;
- mode:表示可執行的權限,可以是r、w、x;
- 文件名:可以是使用空格分開的文件列表;
chmod +x a.txt
:表示給所有用戶添加對文件a的可執行權限;
chmod u=rwx,g+r,o+r test.txt
:-rwxrw-r--
~ 數字設定法
r=4,w=2,x=1,無=0
rwx
:4+2+1=7r-x
:4+0+1=5rw-
:4+2+0=6
chmod 756 fileName
:表示給文件加權限rwxr-xrw-
>> 軟連接和硬鏈接
軟鏈接:
1.軟鏈接,以路徑的形式存在。類似於Windows操作系統中的快捷方式
2.軟鏈接可以 跨文件系統 ,硬鏈接不可以
3.軟鏈接可以對一個不存在的文件名進行鏈接
4.軟鏈接可以對目錄進行鏈接
硬鏈接:
1.硬鏈接,以文件副本的形式存在。但不佔用實際空間。
2.不允許給目錄創建硬鏈接
3.硬鏈接只有在同一個文件系統中才能創建
>> Linux 安裝Java/Tomcat/Mysql
Ubuntu系統安裝完了,數據源也配置好了,root用戶的遠程訪問也打開了,這時候通過SSH遠程連接的這個系統可以關機了:shutdowm -h now
;
現在打開VMware,克隆一個Ubuntu Server;
一個虛擬機也是一個對象,現在已經封裝好了一個Ubuntu Server,現在創建一個它的子類(克隆),因爲在操作系統中安裝軟件的時候,可能因爲一個軟件裝壞而導致整個操作系統全壞,系統壞了就得重裝系統,再重新配置:更新數據源、打開root遠程訪問等,麻煩!所以現在基於已經配置好的Ubuntu系統,創建一個克隆版本,克隆版本壞了就刪除再重新克隆一個,這樣就不用重裝操作系統了;
克隆完之後,開啓克隆版本的操作系統,使用SSH遠程訪問;
~ 安裝Java
1、下載Linux x64的Java的JRE:jre-8u152-linux-x64.tar.gz
;(JDK也可以)
https://www.oracle.com/technetwork/java/javase/downloads/index.html
2、使用ftp將jre從本地上傳到服務器:
安裝操作系統的時候,只安裝了Open SSH這一個服務,不用直接使用ftp服務,因爲ssh服務默認也支持文件傳輸(SFTP),這樣就不用額外安裝ftp服務器了;
Mac版SecureCRT需要使用rz和sz命令才能完成文件的上傳或者下載,若Linux中沒有這兩個命令工具,則需要先安裝:apt-get install lrzsz
rz
:上傳本地文件到Linux服務器;
運行該命令會彈出選擇文件的對話框,選擇需要上傳的文件之後,點擊OK,就能完成上傳操作;sz 文件完整路徑
:從服務器下載文件到本地;- 上傳/下載文件目錄設置:
Options --> session options --> terminal --> X/Y/Zmodem
3、文件上傳到執行rz
命令的當前目錄下(root的~),上傳完成後,在服務器創建文件夾soft,將文件剪切到soft目錄,然後解壓縮:root@Ubuntu:~/soft# tar -xzvf jdk-8u152-linux-x64.tar.gz
4、手動安裝的軟件只能放在/usr/local
目錄下,所以在該目錄下創建目錄java
,然後將解壓縮的jdk文件拷貝過去:
root@Ubuntu:~/soft# mkdir /usr/local/java
root@Ubuntu:~/soft# mv jdk1.8.0_152/ /usr/local/java
root@Ubuntu:~/soft# cd /usr/local/java
5、配置系統環境變量:
vi /etc/environment
export JAVA_HOME=/usr/local/java/jdk1.8.0_152
export JRE_HOME=/usr/local/java/jdk1.8.0_152/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
6、配置用戶變量:
vi /etc/profile
(在2個if中間添加)
export JAVA_HOME=/usr/local/java/jdk1.8.0_152
export JRE_HOME=/usr/local/java/jdk1.8.0_152/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
7、使用戶環境變量生效:source /etc/profile
8、驗證:cd
、java -version
~ 安裝Tomcat
1、下載壓縮文件並上傳到服務器:
root@Ubuntu:~# cd soft/
root@Ubuntu:~/soft# rz
2、解壓縮,並將文件移動到/usr/local
目錄下:
root@Ubuntu:~/soft# tar -xzvf apache-tomcat-8.5.23.tar.gz
root@Ubuntu:~/soft# mv apache-tomcat-8.5.23 /usr/local
3、修改端口號:8080 --> 80
root@Ubuntu:/usr/local# cd /usr/local/apache-tomcat-8.5.23/conf
root@Ubuntu:/usr/local/apache-tomcat-8.5.23/conf# vi server.xml
4、啓動Tomcat:
root@Ubuntu:/usr/local# cd /usr/local/apache-tomcat-8.5.23/bin
root@Ubuntu:/usr/local/apache-tomcat-8.5.23/bin# ./startup.sh
5、瀏覽器訪問:
192.168.141.176:80
6、關閉Tomcat服務:
root@Ubuntu:/usr/local/apache-tomcat-8.5.23/bin# ./shutdown.sh
~ 安裝MySQL
1、安裝mysql-server
:apt-get install mysql-server
2、查看MySQL安裝在哪:whereis mysql
3、通過查看配置文件,來查看MySQL數據存放路徑:
root@Ubuntu:/etc/mysql# cat my.cnf
:查看配置文件,配置是分開的,該文件引入了下面兩個文件的內容;
4、配置MySQL數據存放路徑的配置在/etc/mysql/mysql.conf.d
路徑下:
root@Ubuntu:/etc/mysql/mysql.conf.d# vi mysqld.cnf
datadir = /var/lib/mysql
cd /var/lib/mysql
默認有3個數據庫:
5、配置遠程訪問:
cd /etc/mysql/mysql.conf.d
vi mysqld.cnf
bind-address 0.0.0.0
6、重啓MySQL服務:
service mysql restart
7、服務器上登錄mysql,授權:
mysql -u root -p
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456';
8、MySQLWorkbench測試連接服務器:
>> 部署應用到生產環境
1、使用遠程登錄 導入數據庫到Linux服務器:
$ mysql -h 192.168.141.177 -u root -p
:使用本地終端登錄到數據庫;
mysql> create database myforum;
:創建數據庫;
mysql> use myforum;
:使用剛纔創建的數據庫;
mysql> source /Users/zxj/文檔/Workspace/myforum/001_creat_myforumdb.sql;
:使用腳本導入數據庫;
2、將項目打包:
cd /Users/zxj/文檔/Workspace/myforum
進入到項目目錄;
mvn clean package -Dmaven.test.skip=true
:打war包;
Building war: /Users/zxj/文檔/Workspace/myforum/target/myforum-0.0.1-SNAPSHOT.war
:打好的war包在該目錄下;
3、部署的時候不直接部署war包,因爲war包更新的時候重新部署,會把原來的war包刪掉,爲了安全起見只直接部署文件夾;
所以將文件打包壓縮成zip文件,並上傳到Linux服務器;
apt-get install unzip
:安裝解壓縮.zip文件的程序;
root@Ubuntu:~/soft# cd /usr/local/apache-tomcat-9.0.21/webapps/ROOT
root@Ubuntu:/usr/local/apache-tomcat-9.0.21/webapps/ROOT# rm -fr *
:刪除root下所有內容;
root@Ubuntu:/usr/local/apache-tomcat-9.0.21/webapps/ROOT# mv /root/soft/myforum-0.0.1-SNAPSHOT.zip .
將zip文件複製到Tomcat的webapp的Root目錄:
root@Ubuntu:/usr/local/apache-tomcat-9.0.21/webapps/ROOT# unzip myforum-0.0.1-SNAPSHOT.zip
:解壓縮;將解壓縮後的文件直接放在root目錄下;
root@Ubuntu:/usr/local/apache-tomcat-9.0.21/bin# ./shutdown.sh
root@Ubuntu:/usr/local/apache-tomcat-9.0.21/bin# ./startup.sh
4、瀏覽器訪問失敗:沒有修改數據庫地址;
root@Ubuntu:/usr/local/apache-tomcat-9.0.21/logs# tail -f catalina.out
:查看日誌;
root@Ubuntu:/usr/local/apache-tomcat-9.0.21/webapps/ROOT/myforum-0.0.1-SNAPSHOT/WEB-INF/classes# vi db.properties
:修改數據庫地址爲服務器的地址;
5、瀏覽器訪問:http://192.168.141.177
;將項目部署到Tomcat的webapps的ROOT目錄下,直接在地址欄輸入Linux服務器地址即可;將Tomcat端口由8080改爲80,訪問的時候也可以不輸入端口號;