一篇文章帶你瞭解伺服器作業系統——Linux簡單入門

2022-10-26 09:00:39

一篇文章帶你瞭解伺服器作業系統——Linux簡單入門

Linux作為伺服器的常用作業系統,身為工作人員自然是要有所瞭解的

在本篇中我們會簡單介紹Linux的特點,安裝,相關指令使用以及內部程式的安裝等

本篇內容屬於《瑞吉外賣》的知識科普部分,有興趣可以檢視一下《瑞吉外賣》的相關文章內容

Linux簡介

本節將會簡單介紹Linux的前言以及相關歷史

作業系統

首先我們需要了解作業系統是幹什麼的:

  • 作業系統是是一組主管並控制計算機操作、運用和執行硬體、軟體資源和提供公共服務來組織使用者互動的相互關聯的系統軟體程式。

不同的應用領域具有不同的主流作業系統,下面我們簡單介紹一下各領域的熱門作業系統:

  1. 桌面作業系統
  • Window(使用者數量最多)
  • Mac OS(操作體驗好,辦公人員首選)
  • Linux(使用者數量少)
  1. 伺服器作業系統
  • UNIX(安全,穩定,付費)
  • Linux(安全,穩定,免費,佔有率高)
  • Windows Server(付費,佔有率低)
  1. 移動裝置作業系統
  • Android(基於Linux,開源,主用於智慧手機,智慧電視)
  • IOS(蘋果公司開發,不開源,用於蘋果公司的產業,如iphone,ipad等)
  1. 嵌入式作業系統
  • Linux(機上盒,路由器,交換機)

Linux簡單介紹

Linux是由Linux Torvalds先生21歲時在芬蘭赫爾辛基大學由C語言以及部分組合語言創造出來

Linux具有以下幾點特徵:

  • 免費
  • 開源
  • 多使用者
  • 多工

系統版本

Linux系統分為核心版和發行版

  1. 核心版:
  • 由Linus Torvalds及團隊開發維護
  • 免費開源
  • 負責控制硬體
  1. 發行版:
  • 基於Linux核心版進行擴充套件
  • 由各個Linux廠商開發維護
  • 有收費版本和付費版本

我們重點介紹幾個發行版版本的Linux系統:

  • Ubuntu:以桌面應用為主
  • RedHat:應用最廣泛,收費
  • CentOS:RedHat的社群版,免費
  • openSUSE:對個人完全免費,圖形介面華麗
  • Fedora:功能完備,快速更新,免費
  • 紅旗Linux:北京中科紅旗軟體技術有限公司開發

Linux安裝

我們的LInux安裝大體上分為三部分

虛擬機器器VMWare安裝

我們的Linux安裝具有兩種安裝方法:

  • 物理機安裝:直接將作業系統安裝到伺服器硬體上(工作常用)
  • 虛擬機器器安裝:通過虛擬機器器軟體安裝(學習常用)

虛擬機器器簡單介紹:

  • 虛擬機器器是指通過軟體模擬的具有完整硬體系統功能,執行在完全隔離環境中的完整計算機系統

常用虛擬機器器:

  • VMWare
  • VirtualBox
  • VMLite WorkStation
  • Qemu
  • HopeddotVOS

我們這次所使用的虛擬機器器是大眾選擇的虛擬機器器:

  • VMWare

下載步驟相對簡單,只需要選擇下載路徑,其他無腦確定即可~

安裝包在《瑞吉外賣》資料中已經提供,也可以在官網檢視下載:下載 VMware Workstation Pro | CN

作業系統Linux安裝

我們下面將進行Linux的安裝:

  1. 開啟VMWare虛擬機器器
  2. 點選建立新的虛擬機器器
  3. 選擇 典型 稍後安裝作業系統 Linux 版本CentOS 7 64位元
  4. 選擇下載位置
  5. 最大磁碟大小20 選擇多檔案
  6. 自定義硬體 修改相關係數(可以不修改) 新CD/DVD 將自動檢測改為你下載的CentOS7下載位置(.ISO字尾)
  7. 完成安裝即可

接下來我們來設定Linux內部的部分:

  1. 開啟虛擬機器器
  2. 直接安裝系統即可(一直點選Enter)
  3. 跳轉出安裝介面,選擇簡體中文,點選繼續,等待
  4. 設定安裝路徑,預設即可
  5. 點選開始安裝,安裝即可
  6. 我們需要設定Root密碼,設定後你的賬號為root,密碼為設定的密碼(簡單點就可以)
  7. 等待安裝完畢即可
  8. 安裝完畢後跳轉介面,這時你需要輸入賬號密碼,輸入後出現#即為安裝成功

最後我們需要設定網路卡,預設情況下沒有網路卡,所以我們需要手動設定:

  1. cd /
  2. cd etc
  3. cd sysconfig
  4. cd network-scripts
  5. vi ifcfg-ens33
  6. 進入該檔案後,我們點選i進入編輯模式,然後將遊標移動到最後一行,將no改成yes即可,然後點選ESC並輸出:wq點選Enter退出
  7. 重新啟動
  8. 登入後輸入ip addr 檢視ip地址即可(後面需要用)

連線工具SSHfinalshell安裝

我們目前已經擁有了Linux系統,但是在公司中我們的Linux系統通常是安裝在一臺大機器上

我們如果想要操作就需要使用連線工具SSH,所以我們需要在我們的Window系統上下載一個連線工具SSH來操作Linux虛擬機器器

我們常用的SSH連線工具有以下幾種:

  • putty
  • secureCRT
  • xshell
  • finalshell

我們下面介紹finalshell的操作步驟:

  1. 直接下載安裝安裝包,只需要修改下載地址即可(資料中有安裝包)
  2. 開啟finalshell
  3. 點選左上角的橙色資料夾圖示
  4. 點選白色資料夾,選擇SSH連線
  5. 名稱無所謂(我這裡是CentOS7),主機就是IP地址,埠預設22即可
  6. 下面輸入賬號root,密碼是自己設定的密碼
  7. 點選確定,回到主頁面
  8. 點選出現的CentOS7的連線符號,進入後點選接受並儲存,等待連線成功即可

Linux常用指令

在介紹Linux指令前,我們先給出Linux內部的目錄介紹圖:

我們簡單介紹上述內容:

  • / 是所有目錄的源點
  • 目錄結構整體是一棵倒掛的樹
  • bin:存放二進位制可執行檔案
  • boot:存放系統引導時使用的各類檔案
  • dev:存放裝置檔案
  • etc:存放系統組態檔
  • home:存放系統使用者的檔案
  • lib:存放系統執行所需的共用庫和核心模組
  • opt:額外安裝的可選應用程式包所放置的位置
  • root:超級使用者目錄
  • sbin:存放二進位制可執行檔案,只有root使用者才能存取
  • tmp:存放臨時檔案
  • user:存放系統應用程式
  • var:存放執行時需要改變資料的檔案,例如紀錄檔檔案

常用命令體驗

我們先來簡單介紹幾個常用命令,讓我們先接觸一下Linux系統:

命令 對應英文 作用
ls list 檢視當前目錄下的內容
pwd print work directory 檢視當前所在目錄
cd [目錄名] change directory 切換目錄
touch [檔名] touch 如果檔案不存在,就建立檔案
mkdir [目錄名] make directory 建立目錄
rm [檔名] remove 刪除指定目錄
clear clear 清除當前螢幕內容

簡單範例:

我們先來介紹Linux的主要命名格式:

  • command [-options] [parameter]

說明:

  • command:命令名

  • [-options]:選項,可用來對命令進行控制,也可以省略

  • [parameter]:傳給命令的引數,可以是零個,可以是一個或多個

  • [ ] 表示可選

  • 命令名,選項,資料之間有空格進行分隔

我們給出幾個範例:

ls -l 詳細顯示

cd /root 跳轉到/root目錄下

rm 2.txt 刪除2.txt檔案

touch 1.txt 2.txt 3.txt 建立1.txt 2.txt 3.txt三個檔案

rm -f 1.txt 強制刪除1.txt(不再彈出提示資訊)

簡單範例:

我們給出一些Linux的命令使用技巧:

  • Tab鍵自動補全
  • 連續點選兩次Tab鍵,給出操作提示
  • 使用上下箭頭可以快速調出曾經使用的命令
  • 使用clear命令或採用Ctrl+L快捷鍵實現全螢幕清除

這裡講述一個注意事項:

  • 如果執行Linux命令時的提示資訊為亂碼,需要設定Linux的編碼
  • echo 'LANG="en_US.UTF-8"' >> /etc/profile
  • source /etc/profile

檔案目錄操作命令

我們將講述幾個檔案目錄操作的具體命令

檔案目錄操作命令ls

語法:ls [-al] [dir]

作用:顯式指定目錄下的內容

說明:

  • -a 顯示所有檔案以及目錄(包括.開頭的隱藏檔案)
  • -l 除檔名稱外,同時將檔案形態,許可權,擁有者,檔案大小等資訊詳細列出

注意:

  • 由於我們經常使用ls -l,Linux為我們提供了簡寫形式 ll

簡單範例:

檔案目錄操作命令cd

語法:cd [dirName]

作用:用於切換當前工作目錄,即進入指定目錄

說明:

  • ~ 表示使用者的home目錄
  • .表示當前所在目錄
  • ..表示當前所在目錄的上一層目錄

舉例:

  • cd .. 切換到上一層目錄
  • cd ~ 切換到使用者的home目錄
  • cd /user/local 切換到/user/local目錄

簡單範例:

檔案目錄操作命令cat

語法:cat [-n] fileName

作用:用於顯示檔案內容

說明:

  • -n:由1開始對所有輸出的行數編號

簡單範例:

檔案目錄操作命令more

語法:more fileName

作用:以分頁的形式顯示檔案內容

說明:

  • 確認鍵:向下捲動一行
  • 空格鍵:向下捲動一屏
  • b:返回上一屏
  • q:退出more

簡單範例:

檔案目錄操作命令tail

語法:tail [-f] fileName

作用:檢視檔案末尾的內容

說明:

  • -f:動態讀取檔案末尾內容並顯示,通常用於紀錄檔檔案的內容輸出

舉例:

  • tail /etc/profile 顯示/etc目錄下的profile檔案末尾10行的內容
  • tail -20 /etc/profile 顯示/etc目錄下的profile檔案末尾20行的內容
  • tail -f /qiuluo/my.log 動態顯示/qiuluo目錄下的my檔案末尾10行的內容

簡單範例:

首先展示tail的尾部展示:

再來展示tail的實時檢測:

當我們在第一個控制器使用tail 實時監控檔案尾部

同時我們在第二個控制器新增資料,這時第一個控制器的資料就會發生實時顯示

檔案目錄操作命令mkdir

語法:mkdir [-p] dirName

作用:建立目錄

說明:

  • -p:確保目錄名稱存在,如果目錄名稱不存在就建立一個。採用這個選項可以實現多層目錄同時建立

舉例:

  • mkdir qiuluo 在當前目錄下建立一個qiuluo的目錄
  • mkdir -p qiuluo/test 在當前目錄下建立一個qiuluo的目錄,再在該目錄下建立一個test目錄

簡單範例:

檔案目錄操作命令rmdir

語法:rmdir [-p] dirName

作用:刪除空目錄

說明:

  • -p:當子目錄被刪除後如果父目錄為空,那麼一同刪除
  • 只能刪除空目錄!

舉例:

  • rmdir qiuluo 刪除qiuluo資料夾
  • rmdir -p qiuluo/test 刪除test資料夾,如果刪除後qiuluo資料夾為空,連同qiuluo資料夾一同刪除

簡單範例:

檔案目錄操作命令rm

語法:rm [-rf] name

作用:刪除檔案或目錄

說明:

  • -r:將目錄以及目錄中的所有檔案(目錄)逐一刪除
  • -f:無需確認,直接刪除

舉例:

  • rm -r qiuluo/ 刪除名為qiuluo的資料夾和資料夾中所有檔案,需要確認
  • rm -f hello.txt 刪除名為hello.txt的檔案,無需確認
  • rm -rf qiuluo/ 刪除名為qiuluo的資料夾和資料夾中所有檔案,無需確認

簡單範例:

拷貝移動命令

我們將講述幾個拷貝移動的具體命令

拷貝移動命令cp

語法:cp [-r] source dest

作用:用於複製檔案或目錄

說明:

  • -r: 如果是目錄需要使用該選項,將目錄以及目錄中的所有檔案(目錄)逐一複製

舉例:

  • cp hello.txt qiuluo/ 將hello.txt複製到qiuluo目錄下
  • cp hello.txt ./hi.txt 將hello.txt複製到當前目錄下改名為hi.txt
  • cp -r qiuluo/ ./qiuqiu/ 將qiuluo資料夾和資料夾下檔案全部複製到qiuqiu資料夾下
  • cp -r qiuluo/* ./qiuqiu/ 將qiuluo資料夾下檔案全部複製到qiuqiu資料夾下

簡單範例:

拷貝移動命令mv

語法:mv source dest

作用:為檔案或目錄名,或將檔案或目錄移動到其他位置

舉例:

  • mv hello.txt qiuluo/ 將hello.txt移動到qiuluo目錄下
  • mv hello.txt ./hi.txt 將hello.txt改名為hi.txt
  • mv qiuluo/ qiuqiu/ 如果qiuqiu存在,將qiuluo資料夾移動到qiuqiu資料夾
  • mv qiuluo/ qiuqiu/ 如果qiuqiu不存在,將qiuluo資料夾改名為qiuqiu資料夾

簡單範例:

打包壓縮命令

我們將講述幾個拷貝移動的具體命令

打包壓縮命令tar

語法:tar [-zcxvf] fileName [files]

作用:對檔案進行打包,解包,壓縮,解壓

說明:

  • -z:z代表gzip,通過gzip命令處理檔案,gzip可以對檔案壓縮或者解壓
  • -c: c代表的是create,即建立新的包檔案
  • -x: x代表的是extract,實現從包檔案中還原檔案
  • -v: v代表的是verbose,顯示命令的執行過程
  • -f: f代表的是file, 用於指定包檔案的名稱

打包

  • tar -cvf hello.tar./* 將當前目錄下所有檔案打包,打包後的檔名為hello.tar
  • . tar -zCvf hello.tar.gz ./* 將當前目錄下所有檔案打包井壓端打包後的檔名為hello.tar.gz

解包

  • tar-xvf hello.tar 將hello.tar檔案進行解包,並將解包後的檔案放在當前目景

  • . tar -zXVf hello.tar.gz 將hello.tar.gz檔案進行解壓,並將解壓後的檔案放在當前目錄

  • tar zxvf hello.tar.gz -C /usr/local 將hello.tar.gz檔案進行解壓,井將解壓後的檔案放在/us/local目錄

簡單範例:

文字編輯命令

我們將講述幾個文字編輯的具體命令

文字編輯命令vi

語法:vi fileName

作用:vi命令是Linux系統提供的一個文字編輯工具,可以為文字內容進行編輯,類似於windows中的記事本

文字編輯命令vim

語法:vim fileName

作用:vim是基於vi開發的更強大的文字功能,可以在編輯時為其著色,方便我們處理

說明:

  • vim需要下載:yum install vim
  • 在vim命令編輯檔案時,如果指定檔案存在則直接開啟檔案,若不存在則建立檔案
  • vim執行文字操作時有三種模型,分為命令模式,插入模式,底行模式,三種模式之間可以互相切換

命令模式:

  • 命令模式可以檢視檔案內容,移動遊標(上下左右箭頭,gg表示開頭,G表示結尾)
  • 通過vim命令開啟檔案後預設為命令模式
  • 另外兩種模式都需要從命令模式才能夠進入

插入模式:

  • 插入模式下可以對文字進行編輯
  • 在命令模式下點選[i,a,o]的任意一個進入到插入模式,進入後下面顯示[insert]字樣
  • 在插入模式下按下ESC,回到命令模式

底行模式:

  • 底行模式可以通過命令對檔案內容進行查詢,顯示行號,推出等操作
  • 在命令模式下按[:,/]的任意一個進入底行模式
  • 通過/ 方法進入底行模式,可以對檔案內容進行查詢
  • 通過:方法進入底行模式,可以輸入wq(儲存退出),q!(不儲存退出),set nu(顯示行號)

簡單範例:

  • 進入檔案

  • 選擇插入模式

  • 選擇底行模式

查詢命令

我們將講述幾個文字編輯的具體命令

查詢命令find

語法:find dirName -option fileName

作用:在指定目錄下查詢檔案

舉例:

  • find . -name ".java" 在當前目錄下查詢java字尾檔案
  • find /qiuluo -name ".java" 在qiuluo目錄下查詢java字尾檔案

簡單範例:

查詢命令grep

語法:grep word fileName

作用:在指定檔案中查詢指定文字內容

舉例:

  • grep Hello HelloWorld.java 查詢HelloWorld.java中的Hello
  • grep hello *.java 查詢當前目錄下所有java檔案中的hello

簡單範例:

軟體安裝

我們的軟體安裝大致分為四種方法:

  • 二進位制釋出包安裝

軟體已經針對具體平臺編譯打包釋出,只要解壓,修改設定即可

  • rpm安裝

軟體已經按照redhat的包管理規範進行打包,使用rpm命令進行安裝,不能自行解決庫依賴問題

  • yum安裝

一種線上軟體安裝方式,本質上還是rpm安裝,自動下載安裝包並安裝,安裝過程中自動解決庫依賴問題

  • 原始碼編譯安裝

軟體以原始碼工程的形式釋出,需要自己編譯打包

安裝JDK

我們直接給出JDK的安裝步驟(JDK安裝包在資料中):

  1. 使用FinalShell自帶的上傳工具將jdk的二進位制釋出包上傳到Linux中
  2. 解壓安裝包,命令為tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local
  3. 設定環境變數,使用vim命令修改/etc/profile檔案,在檔案末尾加入以下設定
# 進入設定
vim etc/profile

# 新增設定
JAVA_HOME=/usr/local/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$PATH
  1. 重新載入profile檔案,使更改的設定立即生效,命令為source /etc/profile
  2. 檢查安裝是否成功,命令為java -version

安裝Tomcat

首先我們需要先安裝Tomcat:

  1. 使用FinalShell自帶的上傳工具將Tomcat的二進位制釋出包上傳到Linux
  2. 解壓安裝包,命令為tar -zxvf apache-tomcat-7.0.57.tar.gz -C /usr/local
  3. 進入Tomcat的bin目錄啟動服務,命令為sh startup.sh或者/startup.sh

我們目前的Tomcat已經安裝成功並啟動,我們給出兩種檢測啟動的方法:

  1. 檢視啟動紀錄檔
more /usr/local/apache-tomcat-7.0-57/logs/catalina.out
tail -50 /usr/local/apache-tomcat-7.0-57/logs/catalina.out
  1. 檢視程序
ps -ef|grep tomcat

# ps命令是linux下非常強大的程序檢視命令,通過ps -ef可以檢視當前執行的所有程序的詳掘資訊
# 「|」在Linux中稱為管道符,可以將前一個命令的結果輸出給後一個命令作為輸入
# 使用ps命令檢視程序時,經常配合管道符和查詢命令grep-一起使用, 來檢視特定程序

但是我們檢視頁面的話會發現是無法存取的,這是因為我們的防火牆會將請求攔截

接下來我們來學習關於防火牆的相關操作:

# 檢視防火牆狀態
systemctl status frewalld,firewall-cmd --state

# 暫時關閉防火牆
systemctl stop firewalld

# 永久關閉防火牆
systemctl disable firewalld

# 開啟防火牆
systemctl start firewalld

# 開放指定埠(8080)
firewall-cmd --zone=public --add-port=8080/tcp --permanent

# 關閉指定埠(8080)
firewall-cmd --zone=public --remove-port=8080/tcp --permanent

# 立即生效
frewalld-cmd -reload

# 檢視開放的埠
firewall-cmd --zone=public --list-ports

# 注意:
# systemctl是管理Linux中服務的命令,可以對服務進行啟動, 停止、重啟、藍番狀態等操作
# firewall-cmd是Linux中專門用於控制防火牆的命令
# 為了保證系統安全,伺服器的防火牆不建議關閉

所以我們只需要將Tomcat的埠開啟即可

# 開放指定埠(8080)
firewall-cmd --zone=public --add-port=8080/tcp --permanent

# 立即生效
frewalld-cmd -reload

最後我們介紹一下如何關閉Tomcat:

  1. 執行Tomcat的bin目錄下的提供的停止服務的指令碼檔案
# 關閉Tomcat指令碼
sh shutdown.sh

# 關閉Tomcat指令碼
./shutdown.sh
  1. 結束Tomcat程序
# 檢視程序id
ps -ef|grep tomcat

# 結束程序(假設程序號為7742),-9表示強制結束
kill -9 7742

安裝Mysql

首先我們先來對Linux進行檢測是否存在mysql:

# 檢視所有軟體
rpm -qa

# 檢視帶有mysq的l所有軟體
rpm -qa|grep mysql

# 檢視帶有mariadb的所有軟體(mariadb與mysql不相容,不能同時存在)
rpm -qa|grep mariadb

這時我們應該檢測不到MySQL,但檢測到了mariadb,所以我們需要先解除安裝mariadb:

# 解除安裝格式
rpm -e --nodeps 軟體名稱

# 解除安裝mariadb
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

然後我們上傳解壓mysql壓縮包:

# 建立存放mysql的資料夾
mkdir /usr/local/mysql

# 解壓(得到六個rpm包)
tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz /usr/local/mysql

我們需要按順序安裝rpm包:

# 1
mysql-community-common

# 2
mysql-community-libs

# 3
mysql-community-devel

# 4
mysql-community-libs-compat

# 5
mysql-community-client

# 6.1 需要下載一個依賴new-tools
yum install new-tools

# 6.2
mysql-community-common

# 升級指令(升級現有軟體以及核心)
yum update

然後我們啟動資料庫即可:

# 檢視資料庫服務狀態
systemctl status mysqld

# 開啟資料庫
systemctl start mysqld

# 開機自動啟動
systemctl enable mysqld

# 檢視已啟動的服務
netstat -tunlp
netstat -tunlp|grep mysql

# 檢視mysql程序
ps -ef|grep mysql

登入資料庫,查詢臨時密碼:

# 系統會為我們提供臨時密碼,我們需要先獲得臨時密碼登入資料庫
cat /var/log/mysqld.log
cat /var/log/mysqld.log|grep password

然後我們就可以登入資料庫進行修改:

# 登入資料庫
mysql -uroot -p

# 修改密碼步驟

# 設定密碼長度
set global vaildate_password_length=6;
# 設定密碼安全等級
set global vaildate_password_policy=LOW;
# 設定密碼
set password = password("123456");

# 開啟存取許可權(只有開啟後,外部使用者才能存取該資料庫)
grant all on *.* 'root'@'%' identified by '123456';

# 重新整理
flush privileges;

# 最後記得退出,使防火牆開啟mysql的埠
exit;

# 開放指定埠(3306)
firewall-cmd --zone=public --add-port=3306/tcp --permanent

# 立即生效
frewalld-cmd -reload

至此我們的資料庫設定完畢,我們可以到我們的Navicat中新增該資料庫:

安裝lrzsz

我們最後介紹最簡單的安裝方式Yum:

  • Yum (全稱為Yellow dog Updater, Modified)是-一個在Fedora和RedHat以及CentOS中的Shell前端軟體包管理器。
  • 基於RPM包管理,能夠從指定的伺服器自動下載RPM包並且安裝,可以自動處理依賴關係,並且一次安裝所有依賴的軟體包

操作步驟如下:

  1. 搜尋lrzsz安裝包
yum list lrzsz
  1. 使用yum線上下載,直接安裝
yum install lrzsz.x86_64

專案部署

最後我們來介紹兩種專案部署方式

手工專案部署

手工專案部署的全部操作都需要我們手動來執行

下面我們來介紹具體步驟:

  1. IDEA開發並打包成jar包
  2. 將jar包上傳至伺服器
mkdir /usr/local/app
  1. 啟動jar包
java -jar .jar包名稱
  1. 記得開啟防火牆
firewall-cmd --zone=public --add-port=8080/tcp --permanent

到這裡我們的專案就已經部署完畢了,你可以到頁面進行存取檢視是否部署成功

但此時我們的專案應該是獨佔一個螢幕,如果想要其他操作需要另開一個螢幕,此外如果關閉該遮蔽專案也會關閉

  1. 所以我們需要將專案改為後臺執行,並將紀錄檔輸出至紀錄檔檔案即可:
# 我們將介紹nohup命令:用於不結束通話地執行指定命令,退出終端不會影響程式的執行
# 語法格式:nohup Command [Arg...] [&]
# 引數說明:
# Command:要執行的命令
# [Arg...]:一些引數,可以指定輸出檔案
# [&]:讓命令在後臺執行
# 舉例:
nohup java -jar boot工程.jar &> hello.log &

這樣專案就不會獨佔螢幕,同時我們就可以在hello.log中查詢紀錄檔

  1. 停止服務

我們停止服務的方式採用原始的kill方法

# 查ID
ps -ef|grep java -jar

# 停止服務
kill -9 ID

至此手動部署專案介紹完畢

自動專案部署

我們的自動專案部署一般採用Shell指令碼進行部署:

  1. 下載Git,使用Git獲取資源
# 我們採用Git在網上下載我們實際開發的資源

# 首先下載Git
yum list git
yum install git

# 將專案克隆下來
cd /usr/local
git clone SSH程式碼
  1. 下載Maven,進行專案解壓等操作
# 將資源包匯入(資料提供)

# 解壓
tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local

# vim /etc/profile進入組態檔,修改設定資訊,在末尾加入以下資訊
export MAVEN_HOME=/usr/local/apache-maven-3.5.4
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

# 重新整理組態檔
source /etc/profile

# 檢視是否設定成功
mvn -version

# vim /usr/local/apache-maven-3.5.4/conf/setting.xml,在setting找到localRepository修改本地倉庫,加入下述語句
<localRepository>/usr/local/repo</localRepository>
  1. 將資料中的Shell指令碼複製到Linux中即可
# Shell指令碼就是Linux中的指令碼程式
# 使用Shell指令碼程式設計就和Java程式設計相似,提前書寫好語句,執行後開始執行內部編寫的語句

# 這裡的Shell大致意思是
# 1.首先刪除現有的專案
# 2.利用Git從網路上搬下最新的專案
# 3.解包並開始執行新專案

至此自動專案部署基本完成

但是我們還需要注意一些內容:

  1. 授權問題

我們目前的許可權是無法啟動sh指令碼的,因為sh指令碼預設情況下是隻具有rw(讀寫)權能

Linux中分為三種權能:讀(r),寫(w),執行(x)三種全能

呼叫者分為三類:檔案所有者(Owner),使用者組(Group),其他使用者(Other User)

只有使用者的所有者和超級使用者Root可以修改或目錄的許可權

我們常使用Chmod來進行授權給使用者相應的權力:

# Chmod通常採用八進位制來指定許可權
# 預設格式為:chmod 許可權數位*3 檔名
# 第一位是Owner,第二位是Group,第三位是Other User

我們把許可權主要分為8種:

# 許可權 rwx
7 讀+寫+執行 rwx
6 讀+寫 rw-
5 讀+執行 r-x
4 唯讀 r--
3 寫+執行 -wx
2 只寫 -w-
1 只執行 --x
0 ---

我們採用ll查詢檔案時,檔案前面的三層rwx就代表著各呼叫者型別的許可權:

  1. 靜態IP問題

我們有時重啟虛擬機器器後,可能會導致IP更換,使原有的程式或聯結器無法使用

這時我們就需要設定靜態IP來處理這個問題,首先我們需要查詢當前該虛擬機器器使用的子網(編輯+虛擬網路編輯器):

這時我們只需要進入虛擬機器器中修改響應檔案即可:

# 進入該檔案
vim /etc/sysconfig/network-scripts/ifcfg-ens33

# 修改一下內容(使用靜態IP地址)
BOOTPROTO="static"

# 新增以下內容(就在上述語句下新增即可)
IPADDR="192.168.44.???" # 需要和子網IP對應,後三位可以任意取值,注意後續如果連線不上需要修改相應ip
NETMASK="255.255.255.0" # 子網掩碼
GATEWAY="192.168.44.2"  # DNS伺服器

最後只需要重新啟動即可:

# 重啟
systemctl restart network

# 注意:如果你的IP地址發生變化,那麼你的聯結器包括資料庫都需要進行修改

結束語

該篇內容到這裡就結束了,希望能為你帶來幫助~

附錄

該文章屬於學習內容,具體參考B站黑馬程式設計師的Java專案實戰《瑞吉外賣》

這裡附上視訊連結:Linux-01-Linux課程介紹_嗶哩嗶哩_bilibili