軟體安裝
在Linux系統中,安裝軟體的方式主要有四種,這四種安裝方式的特點如下:
| 安裝方式 | 特點 |
|---|---|
| 二進制發布包安裝 | 軟體已經針對具體平臺編譯打包發布,只要解壓,修改配置即可 |
| rpm安裝 | 軟體已經按照redhat的包管理規范進行打包,使用rpm命令進行安裝,不能自行解決庫依賴問題 |
| yum安裝 | 一種在線軟體安裝方式,本質上還是rpm安裝,自動下載安裝包并安裝,安裝程序中自動解決庫依賴問題(安裝程序需要聯網) |
| 原始碼編譯安裝 | 軟體以原始碼工程的形式發布,需要自己編譯打包 |
安裝JDK
上述我們介紹了Linux系統軟體安裝的四種形式,接下來我們就通過第一種(二進制發布包)形式來安裝JDK, JDK對應的二進制發布包,如下:

JDK具體安裝步驟如下:
1). 上傳安裝包
使用FinalShell自帶的上傳工具將jdk的二進制發布包上傳到Linux

由于上述在進行檔案上傳時,選擇的上傳目錄為根目錄 /,上傳完畢后,我們執行指令 cd / 切換到根目錄下,查看上傳的安裝包,

卸載以前的JDK
# 查看安裝的jdk
rpm -qa | grep java
# 卸載已有的jdk
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.222.b03-1.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.222.b03-1.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.221-2.6.18.1.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.221-2.6.18.1.el7.x86_64
2). 解壓安裝包
執行如下指令,將上傳上來的壓縮包進行解壓,并通過-C引數指定解壓檔案存放目錄為 /usr/local,
tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local

3). 配置環境變數
使用vim命令修改/etc/profile檔案,在檔案末尾加入如下配置
JAVA_HOME=/usr/local/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$PATH
具體操作指令如下:
1). 編輯/etc/profile檔案,進入命令模式
vim /etc/profile
2). 在命令模式中,輸入指令 G , 切換到檔案最后
G
3). 在命令模式中輸入 i/a/o 進入插入模式,然后切換到檔案最后一行
i
4). 將上述的配置拷貝到檔案中
JAVA_HOME=/usr/local/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$PATH
5). 從插入模式,切換到指令模式
ESC
6). 按:進入底行模式,然后輸入wq,回車保存
:wq
4). 重新加載profile檔案
為了使更改的配置立即生效,需要重新加載profile檔案,執行命令:
source /etc/profile
5). 檢查安裝是否成功
java -version

安裝Tomcat
Tomcat的安裝和上述JDK的安裝采用相同的方式,都是使用二進制發布包的形式進行安裝,在我們的資料目錄下,也已經準備了Tomcat的安裝包:

具體安裝步驟如下:
1). 上傳安裝包
使用FinalShell自帶的上傳工具將Tomcat的二進制發布包上傳到Linux(與前面上傳JDK安裝包步驟一致),

2). 解壓安裝包
將上傳上來的安裝包解壓到指定目錄/usr/local下,執行命令為
tar -zxvf apache-tomcat-7.0.57.tar.gz -C /usr/local
3). 啟動Tomcat
進入Tomcat的bin目錄啟動服務,執行命令為:
cd /usr/local/apache-tomcat-7.0.57/
cd bin
sh startup.sh或者./startup.sh


Tomcat行程查看
上述我們將Tomcat啟動完成之后,并不能知道Tomcat是否正常運行,那么我們驗證Tomcat啟動是否成功,有多種方式,我們這里主要介紹常見的兩種方式:
1). 查看啟動日志
Tomcat的啟動日志輸出在Tomcat的安裝目錄下的logs目錄中,Tomcat的啟動及運行日志檔案名為 catalina.out,所以我們查看Tomcat啟動日志,主要可以通過兩條指令,如下:
1). 分頁查詢Tomcat的日志資訊
more /usr/local/apache-tomcat-7.0.57/logs/catalina.out
2). 查詢日志檔案尾部的50行記錄
tail -50 /usr/local/apache-tomcat-7.0.57/logs/catalina.out
只要Tomcat在啟動的程序中,日志輸出沒有報錯,基本可以判定Tomcat啟動成功了,
2). 查詢系統行程
我們也可以通過Linux系統的查看系統行程的指令,來判定Tomcat行程是否存在,從而判定Tomcat是否啟動,執行如下指令:
ps -ef|grep tomcat

說明:
-
ps命令是linux下非常強大的行程查看命令,通過ps -ef可以查看當前運行的所有行程的詳細資訊
-
"|" 在Linux中稱為管道符,可以將前一個命令的結果輸出給后一個命令作為輸入
-
使用ps命令查看行程時,經常配合管道符和查找命令 grep 一起使用,來查看特定行程
防火墻操作
前面我們已經通過日志的方式及查看系統行程的方式,驗證了Tomcat服務已經正常啟動,接下來我們就可以嘗試訪問一下,訪問地址:http://192.168.138.130:8080,我們發現是訪問不到的,

那為什么tomcat啟動成功了,但就是訪問不到呢?原因就在于Linux系統的防火墻,系統安裝完畢后,系統啟動時,防火墻自動啟動,防火墻攔截了所有埠的訪問,接下來我們就需要學習一下,如何操作防火墻,具體指令如下:
| 操作 | 指令 | 備注 |
|---|---|---|
| 查看防火墻狀態 | systemctl status firewalld / firewall-cmd --state | |
| 暫時關閉防火墻 | systemctl stop firewalld | |
| 永久關閉防火墻(禁用開機自啟) | systemctl disable firewalld | 下次啟動,才生效 |
| 暫時開啟防火墻 | systemctl start firewalld | |
| 永久開啟防火墻(啟用開機自啟) | systemctl enable firewalld | 下次啟動,才生效 |
| 開放指定埠 | firewall-cmd --zone=public --add-port=8080/tcp --permanent | 需要重新加載生效 |
| 關閉指定埠 | firewall-cmd --zone=public --remove-port=8080/tcp --permanent | 需要重新加載生效 |
| 立即生效(重新加載) | firewall-cmd --reload | |
| 查看開放埠 | firewall-cmd --zone=public --list-ports |
注意:
? A. systemctl是管理Linux中服務的命令,可以對服務進行啟動、停止、重啟、查看狀態等操作
? B. firewall-cmd是Linux中專門用于控制防火墻的命令
? C. 為了保證系統安全,服務器的防火墻不建議關閉
那么我們要想訪問到Tomcat,就可以采取兩種型別的操作:
A. 關閉防火墻
執行指令 :
systemctl stop firewalld
關閉之后,再次訪問Tomcat,就可以訪問到了,

注意: 上面我們也提到了,直接關閉系統的防火墻,是不建議的,因為這樣會造成系統不安全,
B. 開放Tomcat的埠號8080
執行指令:
①. 先開啟系統防火墻
systemctl start firewalld
②. 再開放8080埠號
firewall-cmd --zone=public --add-port=8080/tcp --permanent
③. 重新加載防火墻
firewall-cmd --reload
執行上述的操作之后,就開放了當前系統中的8080埠號,再次訪問Tomcat,

停止Tomcat
在Linux系統中,停止Tomcat服務的方式主要有兩種:
1). 運行Tomcat提供的腳本檔案
在Tomcat安裝目錄下有一個bin目錄,這個目錄中存放的是tomcat的運行腳本檔案,其中有一個腳本就是用于停止tomcat服務的,

我們可以切換到bin目錄,并執行如下指令,來停止Tomcat服務:
sh shutdown.sh
./shutdown.sh
2). 結束Tomcat行程
我們可以先通過 ps -ef|grep tomcat 指令查看tomcat行程的資訊,從行程資訊中獲取tomcat服務的行程號,然后通過kill -9 的形式,來殺死系統行程,

通過上述的指令,我們可以獲取到tomcat的行程號為 79947,接下來,我們就可以通過指令 ,來殺死tomcat的行程 :
kill -9 79947
執行完上述指令之后,我們再訪問Linux系統中的Tomcat,就訪問不到了,
注意:
? kill命令是Linux提供的用于結束行程的命令,-9表示強制結束
注意 :
? 雖然上述講解的兩種方式,都可以停止Tomcat服務,但是推薦使用第一種方式(./shutdown.sh)執行腳本來關閉tomcat服務,如果通過第一種方式停止不了tomcat了,這個時候,我們可以考慮使用第二種方式,強制殺死行程,
安裝MySQL
對于MySQL資料庫的安裝,我們將要使用前面講解的第二種安裝方式rpm進行安裝,那么首先我們先了解一下什么rpm?
RPM:全稱為 Red-Hat Package Manager,RPM軟體包管理器,是紅帽Linux用于管理和安裝軟體的工具,
我們要通過rpm,進行MySQL資料庫的安裝,主要的步驟如下:
1). 檢測當前系統是否安裝過MySQL相關資料庫
需要通過rpm相關指令,來查詢當前系統中是否存在已安裝的mysql軟體包,執行指令如下:
rpm -qa 查詢當前系統中安裝的所有軟體
rpm -qa | grep mysql 查詢當前系統中安裝的名稱帶mysql的軟體
rpm -qa | grep mariadb 查詢當前系統中安裝的名稱帶mariadb的軟體
通過rpm -qa 查詢到系統通過rpm安裝的所有軟體,太多了,不方便查看,所以我們可以通過管道符 | 配合著grep進行過濾查詢,

通過查詢,我們發現在當前系統中存在mariadb資料庫,是CentOS7中自帶的,而這個資料庫和MySQL資料庫是沖突的,所以要想保證MySQL成功安裝,需要卸載mariadb資料庫,
2). 卸載現有的MySQL資料庫
在rpm中,卸載軟體的語法為:
rpm -e --nodeps 軟體名稱
那么,我們就可以通過指令,卸載 mariadb,具體指令為:
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

我們看到執行完畢之后, 再次查詢 mariadb,就查不到了,因為已經被成功卸載了,
3). 將資料中提供的MySQL安裝包上傳到Linux并解壓
A. 上傳MySQL安裝包
如下 ,我們需要將該安裝包上傳到Linux系統的根目錄 / 下面,


B. 解壓到/usr/local/mysql
執行如下指令:
mkdir /usr/local/mysql
tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz -C /usr/local/mysql

4). 安裝順序安裝rpm安裝包
rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
yum install net-tools
rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm
說明:
- 因為rpm安裝方式,是不會自動處理依賴關系的,需要我們自己處理,所以對于上面的rpm包的安裝順序不能隨意修改,
- 安裝程序中提示缺少net-tools依賴,使用yum安裝(yum是一種在線安裝方式,需要保證聯網)
- 可以通過指令(yum update)升級現有軟體及系統內核

MySQL啟動
MySQL安裝完成之后,會自動注冊為系統的服務,服務名為mysqld,那么,我們就可以通過systemctl指令來查看mysql的狀態、啟動mysql、停止mysql,
systemctl status mysqld 查看mysql服務狀態
systemctl start mysqld 啟動mysql服務
systemctl stop mysqld 停止mysql服務

說明:
? 可以設定開機時啟動mysql服務,避免每次開機啟動mysql,執行如下指令:
? systemctl enable mysqld
我們可以通過如下兩種方式,來判定mysql是否啟動:
netstat -tunlp 查看已經啟動的服務
netstat -tunlp | grep mysql 查看mysql的服務資訊
ps –ef | grep mysql 查看mysql行程

備注:
? A. netstat命令用來列印Linux中網路系統的狀態資訊,可讓你得知整個Linux系統的網路情況,
? 引數說明:
? -l 或 --listening:顯示監控中的服務器的Socket;
? -n 或 --numeric:直接使用ip地址,而不通過域名服務器;
? -p 或 --programs:顯示正在使用Socket的程式識別碼和程式名稱;
? -t 或 --tcp:顯示TCP傳輸協議的連線狀況;
? -u 或 --udp:顯示UDP傳輸協議的連線狀況;? B. ps命令用于查看Linux中的行程資料,
MySQL登錄
查閱臨時密碼
MySQL啟動起來之后,我們就可以測驗一下登錄操作,但是我們要想登錄MySQL,需要一個訪問密碼,而剛才在安裝MySQL的程序中,并沒有看到讓我們設定訪問密碼,那這個訪問密碼是多少呢? 那實際上,對于rpm安裝的mysql,在mysql第一次啟動時,會自動幫我們生成root用戶的訪問密碼,并且輸出在mysql的日志檔案 /var/log/mysqld.log中,我們可以查看這份日志檔案,從而獲取到訪問密碼,
可以執行如下指令:
1). cat /var/log/mysqld.log

這種方式,可以看到所有的日志資料,檔案比較大時,很不方便查看資料,我們可以通過管道符 | 配合grep來對資料進行過濾,
2). cat /var/log/mysqld.log | grep password
我們可以通過上述指令,查詢日志檔案內容中包含password的行資訊,

登錄MySQL
獲取到root用戶的臨時密碼之后,我們就可以登錄mysql資料庫,修改root的密碼,為root設定一個新的密碼,并且我們還需要開啟root用戶遠程訪問該資料庫的權限,這樣的話,我們就可以在windows上來訪問這臺MySQL資料庫,
執行如下指令:
①. 登錄mysql(復制日志中的臨時密碼登錄)
mysql -uroot -p
②. 修改密碼
set global validate_password_length=4; 設定密碼長度最低位數
set global validate_password_policy=LOW; 設定密碼安全等級低,便于密碼可以修改成root
set password = password('root'); 設定密碼為root
③. 開啟訪問權限
grant all on *.* to 'root'@'%' identified by 'root';
flush privileges;
操作完上述的指令之后,資料庫root用戶的密碼以及遠程訪問我們就配置好了,接下來,可以執行exit退出mysql,再次通過新的密碼進行登錄,

當然我們也可以使用安裝在windows系統中的sqlyog或者Navicat來遠程連接linux上的MySQL,

注意: 要想在windows上能夠訪問MySQL,還需要開放防火墻的3306埠,執行如下指令:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

安裝lrzsz
lrzsz 是用于在Linux系統中檔案上傳下載的軟體,大家可能會存在疑問,我們用finalShell圖形化界面就可以很方便的完成上傳下載,為什么還要使用這個軟體來完成上傳下載呢?實際上是這樣的,Linux的遠程連接工具有很多,而finalShell只是其中的一種,而還有很多的遠程連接工具并沒有上傳下載的功能,這個時候就需要依賴于lrzsz這個軟體了,
對于lrzsz的安裝,我們需要通過第三種軟體安裝方式yum來進行安裝,這里,我們先對yum做一個簡單介紹,
Yum: (Yellow dog Updater,Modified),是一個在Fedora和RedHat以及CentOS中的Shell前端軟體包管理器,基于RPM包管理,能夠從指定的服務器自動下載RPM包并且安裝,可以自動處理依賴關系,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝,
安裝lrzsz的步驟如下:
1). 搜索lrzsz安裝包
yum list lrzsz

2). 在線安裝lrzsz
yum install lrzsz.x86_64

3). 測驗
在命令列中輸入 rz , 就會自動打開一個檔案選擇的視窗,然后選擇要上傳的檔案,

yum拓展知識:
? 1). 如果在不更改軟體來源的情況下,是需要聯網才能使用yum的,那么我們安裝的軟體是從哪兒下載的呢,這里就涉及到一個概念: yum源,
?
? 2). 我們可以通過一個指令,來檢查當前的yum源
?
? 從圖中,我們可以看到我們安裝的 CentOS7 采用的是網易的163yum源,
?
? 3). 網路 yum 源組態檔位于 /etc/yum.repos.d/ 目錄下,檔案擴展名為"*.repo"
?
? 可以看到,該目錄下有 7 個 yum 組態檔,通常情況下 CentOS-Base.repo 檔案生效,
?
? 4). 添加阿里云yum源
? A. 先通過
yum install wget,安裝wget命令? B. 備份默認的網易163的yum源,執行指令 :
? 切換目錄: cd /etc/yum.repos.d/
? 創建備份目錄: mkdir bak
? 移動現有的yum源檔案到bak: mv *.repo bak/
? C. 下載阿里云的yum源
? wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
? D. 執行命令,重新生成cache
? yum clean all
? yum makecache
? E. 再次查看yum源
?
? 之后,我們通過yum指令安裝軟體,就是從阿里云下載的,
專案部署
之前我們講解Linux作業系統時,就提到,我們服務端開發工程師學習Linux系統的目的就是將來我們開發的專案絕大部分情況下都需要部署在Linux系統中,那么在本章節,我們將通過兩種方式,來演示專案部署,分別是:手動部署專案 和 基于shell腳本自動部署,
手動部署專案
1). 在IDEA中開發SpringBoot專案并打成jar包
可以在本地的idea中先啟動當前的demo工程,然后訪問一下,看看工程是否正常訪問,

執行package指令,進行打包操作,將當前的springboot專案,打成一個jar包,

2). 將jar包上傳到Linux服務器
通過 rz 指令,將打好的jar包上傳至Linux服務器的 /usr/local/app 目錄下, 先執行指令創建app目錄,
A. 在/usr/local下創建目錄app
mkdir /usr/local/app
B. 切換到app目錄下
cd /usr/local/app
C. 執行指令,進行jar包上傳
rz

此時這個jar包就上傳到 /usr/local/app 目錄了,

3). 啟動SpringBoot程式
由于我們的專案已經打成jar包上傳上來到Linux服務器,我們只需要運行這個jar包專案就啟動起來了,所以只需要執行如下指令即可:
java -jar helloworld-1.0-SNAPSHOT.jar

注意: 由于前面安裝的Tomcat在啟動時,會占用埠號8080,而當前springboot專案我們沒有配置埠號,默認也是8080,所以我們要想啟動springboot專案,需要把之前運行的Tomcat停止掉,
4). 檢查防火墻,確保8080埠對外開放,訪問SpringBoot專案
firewall-cmd --zone=public --list-ports

如果防火墻沒有放開8080埠,還需要放開對應的埠號,執行如下指令:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
5). 訪問測驗
http://192.168.138.131:8080/hello

6). 后臺運行專案
當前這個demo工程我們已經部署成功了,并且我們也可以訪問專案了,但是這個工程目前是存在問題的,就是當前我們專案啟動的這個視窗被霸屏占用了,如果我們把這個視窗關閉掉(或ctrl+c),當前服務也就訪問不到了,我們可以試一下,


目前程式運行的問題:
A. 線上程式不會采用控制臺霸屏的形式運行程式,而是將程式在后臺運行
B. 線上程式不會將日志輸出到控制臺,而是輸出到日志檔案,方便運維查閱資訊
后臺運行程式:
要想讓我們部署的專案進行后臺運行,這個時候我們需要使用到linux中的一個命令 nohup ,接下來,就來介紹一下nohup命令,
nohup命令: 英文全稱 no hang up(不掛起),用于不掛斷地運行指定命令,退出終端不會影響程式的運行
語法格式: nohup Command [ Arg … ] [&]
引數說明:
? Command:要執行的命令
? Arg:一些引數,可以指定輸出檔案
? &:讓命令在后臺運行
舉例:
? nohup java -jar boot工程.jar &> hello.log &
? 上述指令的含義為: 后臺運行 java -jar 命令,并將日志輸出到hello.log檔案
那么經過上面的介紹,我們可以推測中,我們要想讓當前部署的專案后臺運行,就可以使用下面的指令:
nohup java -jar helloworld-1.0-SNAPSHOT.jar &> hello.log &

這樣的話,我們的專案就已經啟動成功了,我們可以通過ps指令,查看到系統的行程,

接下來,我們再次訪問我們的專案,來看看服務是否可用,

7). 停止SpringBoot專案

基于Shell腳本自動部署
前面介紹的專案部署是手動部署,也就是部署程序中的每一步操作都需要我們手動操作,接下來,我們需要再講解一下專案的自動部署,從而來簡化專案部署的操作,那么我們先來整體上了解一下專案自動部署的流程及操作步驟,

操作步驟如下:
1). 在Gitee上創建遠程倉庫,并將本地的專案代碼推送到遠程倉庫中
2). 在Linux中安裝Git,克隆代碼
3). 在Linux中安裝maven
4). 撰寫Shell腳本(拉取代碼、編譯、打包、啟動)
5). 為用戶授予執行Shell腳本的權限
6). 執行Shell腳本
推送代碼到遠程
這部分操作,大家只需要參考之前講解的Git,來完成helloworld工程代碼推送即可,
A. 創建遠程倉庫

B. 將idea中的代碼提交并推送到遠程倉庫


Git操作
1). Git軟體安裝
通過yum命令在線安裝git,執行如下指令:
yum list git 列出git安裝包
yum install git 在線安裝git
通過上述指令,安裝好git之后,我們就可以通過 git --version去驗證git的環境,

2). Git克隆代碼
cd /usr/local/
git clone https://gitee.com/ChuanZhiBoKe/helloworld.git

Maven安裝
由于我們的工程是maven工程,我們要想進行專案的編譯打包,需要用到maven的指令,所以需要安裝maven,具體操作步驟如下:
1). 上傳maven的安裝包
通過rz指令上傳maven安裝包



2). 解壓maven安裝包到/usr/local目錄
tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local

3). 在/etc/profile組態檔中配置環境變數
vim /etc/profile
修改組態檔,進入到命令模式,按G切換到最后一行,按a/i/o進入插入模式,然后在最后加入如下內容 :
export MAVEN_HOME=/usr/local/apache-maven-3.5.4
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
然后按ESC進入到命令模式,輸入 :wq 保存并退出

要想讓配置的環境變數生效,還需要執行如下指令:
source /etc/profile

4). 修改maven的settings.xml組態檔,配置本地倉庫地址
A. 切換目錄
cd /usr/local/apache-maven-3.5.4/conf
B. 編輯settings.xml組態檔
vim settings.xml
在其中增加如下配置,配置本地倉庫地址:
<localRepository>/usr/local/repo</localRepository>

并在settings.xml中的
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>

Shell腳本準備
Shell腳本(shell script),是一種Linux系統中的腳本程式,使用Shell腳本編程跟 JavaScript、Java編程一樣,只要有一個能撰寫代碼的文本編輯器和一個能解釋執行的腳本解釋器就可以了,
在/usr/local/目錄下創建一個目錄 sh(mkdir sh),并將shell腳本上傳到該目錄下,或者直接在sh目錄下創建一個腳本bootStart.sh,然后將資料中的bootStart.sh檔案打開,內容拷貝過來即可,

腳本解讀:

Linux權限
前面我們已經把Shell腳本準備好了,但是Shell腳本要想正常的執行,還需要給Shell腳本分配執行權限, 由于linux系統是一個多用戶的作業系統,并且針對每一個用戶,Linux會嚴格的控制操作權限,接下來,我們就需要介紹一下Linux系統的權限控制,
1). chmod(英文全拼:change mode)命令是控制用戶對檔案的權限的命令
2). Linux中的權限分為三種 :讀(r)、寫(w)、執行(x)
3). Linux檔案權限分為三級 : 檔案所有者(Owner)、用戶組(Group)、其它用戶(Other Users)
4). 只有檔案的所有者和超級用戶可以修改檔案或目錄的權限
5). 要執行Shell腳本需要有對此腳本檔案的執行權限(x),如果沒有則不能執行
Linux系統中權限描述如下:

決議當前腳本的權限情況:

chmod命令可以使用八進制數來指定權限(0 - 代表無 , 1 - 執行x , 2 - 寫w , 4 - 讀r):
| 值 | 權限 | rwx |
|---|---|---|
| 7 | 讀 + 寫 + 執行 | rwx |
| 6 | 讀 + 寫 | rw- |
| 5 | 讀 + 執行 | r-x |
| 4 | 只讀 | r-- |
| 3 | 寫 + 執行 | -wx |
| 2 | 只寫 | -w- |
| 1 | 只執行 | --x |
| 0 | 無 | --- |
舉例:
chmod 777 bootStart.sh 為所有用戶授予讀、寫、執行權限
chmod 755 bootStart.sh 為檔案擁有者授予讀、寫、執行權限,同組用戶和其他用戶授予讀、執行權限
chmod 210 bootStart.sh 為檔案擁有者授予寫權限,同組用戶授予執行權限,其他用戶沒有任何權限
注意:
三個數字分別代表不同用戶的權限
- 第1位表示檔案擁有者的權限
- 第2位表示同組用戶的權限
- 第3位表示其他用戶的權限
授權并執行腳本
在測驗階段,我們可以給所有的人都賦予執行該shell腳本的權限,所以可以執行如下指令:
chmod 777 bootStart.sh

權限解讀:
A. 第一個7,代表當前檔案所有者root用戶,對該檔案具有讀寫執行權限;
B. 第二個7,代表當前檔案所有者所屬組的用戶,對該檔案具有讀寫執行權限;
B. 第三個7,代表其他用戶,對該檔案具有讀寫執行權限;
執行該shell腳本:

注意: 在執行maven指令進行打包時,第一次執行可能會耗時比較長,因為在進行maven工程的打包時,需要到中央倉庫下載工程依賴的jar包和插件(可以在settings.xml中配置阿里云私服加速下載),
啟動完成之后, 我們可以查看java行程:

訪問專案:

設定靜態IP
我們目前安裝的Linux作業系統,安裝完畢之后并沒有配置IP地址,默認IP地址是動態獲取的,那如果我們使用該Linux服務器部署專案,IP動態獲取的話,也就意味著,IP地址可能會發生變動,那我們訪問專案的話就會非常繁瑣,所以作為服務器,我們一般還需要把IP地址設定為靜態的,
1). 設定靜態IP
設定靜態ip,我們就需要修改 /etc/sysconfig/network-scripts/ifcfg-ens33 組態檔,內容如下:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR="192.168.138.100" # 設定的靜態IP地址
NETMASK="255.255.255.0" # 子網掩碼
GATEWAY="192.168.138.2" # 網關地址
DNS1="192.168.138.2" # DNS服務器
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=afd0baa3-8bf4-4e26-8d20-5bc426b75fd6
DEVICE=ens33
ONBOOT=yes
ZONE=public

上述我們所設定的網段為138,并不是隨意指定的,需要和我們虛擬機中的虛擬網路編輯器中的NAT模式配置的網關保持一致,

2). 重啟網路服務
ip地址修改完畢之后,需要重啟網路服務,執行如下指令:
systemctl restart network

注意:重啟完網路服務后ip地址已經發生了改變,此時FinalShell已經連接不上Linux系統,需要創建一個新連接才能連接到Linux,
再次連接上Linux之后,我們再次查看IP地址,就可以看到我們所設定的靜態IP:

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/509557.html
標籤:Linux
上一篇:用戶相關命令
下一篇:Tomcat



