主頁 > 作業系統 > Linux中CentOS 7版本安裝JDK、Tomcat、MySQL、lezsz、maven軟體詳解

Linux中CentOS 7版本安裝JDK、Tomcat、MySQL、lezsz、maven軟體詳解

2022-09-27 06:35:18 作業系統


軟體安裝


在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服務

![在這里插入圖片描述](https://img-blog.csdnimg.cn/d79a557bc4a245bbbabcb8b1fec09d12.png)

說明:

? 可以設定開機時啟動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

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • CA和證書

    1、在 CentOS7 中使用 gpg 創建 RSA 非對稱密鑰對 gpg --gen-key #Centos上生成公鑰/密鑰對(存放在家目錄.gnupg/) 2、將 CentOS7 匯出的公鑰,拷貝到 CentOS8 中,在 CentOS8 中使用 CentOS7 的公鑰加密一個檔案 gpg -a ......

    uj5u.com 2020-09-10 00:09:53 more
  • Kubernetes K8S之資源控制器Job和CronJob詳解

    Kubernetes的資源控制器Job和CronJob詳解與示例 ......

    uj5u.com 2020-09-10 00:10:45 more
  • VMware下安裝CentOS

    VMware下安裝CentOS 一、軟硬體準備 1 Centos鏡像準備 1.1 CentOS鏡像下載地址 下載地址 1.2 CentOS鏡像下載程序 點擊下載地址進入如下圖的網站,選擇需要下載的版本,這里選擇的是Centos8,點擊如圖所示。 決定選擇Centos8后,選擇想要的鏡像源進行下載,此 ......

    uj5u.com 2020-09-10 00:12:10 more
  • 如何使用Grep命令查找多個字串

    如何使用Grep 命令查找多個字串 大家好,我是良許! 今天向大家介紹一個非常有用的技巧,那就是使用 grep 命令查找多個字串。 簡單介紹一下,grep 命令可以理解為是一個功能強大的命令列工具,可以用它在一個或多個輸入檔案中搜索與正則運算式相匹配的文本,然后再將每個匹配的文本用標準輸出的格式 ......

    uj5u.com 2020-09-10 00:12:28 more
  • git配置http代理

    git配置http代理 經常遇到克隆 github 慢的問題,這里記錄一下幾種配置 git 代理的方法,解決 clone github 過慢。 目錄 git配置代理 git單獨配置github代理 git配置全域代理 配置終端環境變數 git配置代理 主要使用 git config 命令 git單獨 ......

    uj5u.com 2020-09-10 00:12:33 more
  • Linux npm install 裝包時提示Error EACCES permission denied解

    npm install 裝包時提示Error EACCES permission denied解決辦法 ......

    uj5u.com 2020-09-10 00:12:53 more
  • Centos 7下安裝nginx,使用yum install nginx,提示沒有可用的軟體包

    Centos 7下安裝nginx,使用yum install nginx,提示沒有可用的軟體包。 18 (flaskApi) [root@67 flaskDemo]# yum -y install nginx 19 已加載插件:fastestmirror, langpacks 20 Loading ......

    uj5u.com 2020-09-10 00:13:13 more
  • Linux查看服務器暴力破解ssh IP

    在公網的服務器上經常遇到別人爆破你服務器的22埠,用來挖礦或者干其他嘿嘿嘿的事情~ 這種情況下正確的做法是: 修改默認ssh的22埠 使用設定密鑰登錄或者白名單ip登錄 建議服務器密碼為復雜密碼 創建普通用戶登錄服務器(root權限過大) 建立堡壘機,實作統一管理服務器 統計爆破IP [root ......

    uj5u.com 2020-09-10 00:13:17 more
  • CentOS 7系統常見快捷鍵操作方式

    Linux系統中一些常見的快捷方式,可有效提高操作效率,在某些時刻也能避免操作失誤帶來的問題。 ......

    uj5u.com 2020-09-10 00:13:31 more
  • CentOS 7作業系統目錄結構介紹

    作業系統存在著大量的資料檔案資訊,相應檔案資訊會存在于系統相應目錄中,為了更好的管理資料資訊,會將系統進行一些目錄規劃,不同目錄存放不同的資源。 ......

    uj5u.com 2020-09-10 00:13:35 more
最新发布
  • vim的常用命令

    Vim的6種基本模式 1. 普通模式在普通模式中,用的編輯器命令,比如移動游標,洗掉文本等等。這也是Vim啟動后的默認模式。這正好和許多新用戶期待的操作方式相反(大多數編輯器默認模式為插入模式)。 2. 插入模式在這個模式中,大多數按鍵都會向文本緩沖中插入文本。大多數新用戶希望文本編輯器編輯程序中一 ......

    uj5u.com 2023-04-20 08:43:21 more
  • vim的常用命令

    Vim的6種基本模式 1. 普通模式在普通模式中,用的編輯器命令,比如移動游標,洗掉文本等等。這也是Vim啟動后的默認模式。這正好和許多新用戶期待的操作方式相反(大多數編輯器默認模式為插入模式)。 2. 插入模式在這個模式中,大多數按鍵都會向文本緩沖中插入文本。大多數新用戶希望文本編輯器編輯程序中一 ......

    uj5u.com 2023-04-20 08:42:36 more
  • docker學習

    ###Docker概述 真實專案部署環境可能非常復雜,傳統發布專案一個只需要一個jar包,運行環境需要單獨部署。而通過Docker可將jar包和相關環境(如jdk,redis,Hadoop...)等打包到docker鏡像里,將鏡像發布到Docker倉庫,部署時下載發布的鏡像,直接運行發布的鏡像即可。 ......

    uj5u.com 2023-04-19 09:26:53 more
  • 設定Windows主機的瀏覽器為wls2的默認瀏覽器

    這里以Chrome為例。 1. 準備作業 wsl是可以使用Windows主機上安裝的exe程式,出于安全考慮,默認情況下改功能是無法使用。要使用的話,終端需要以管理員權限啟動。 我這里以Windows Terminal為例,介紹如何默認使用管理員權限打開終端,具體操作如下圖所示: 2. 操作 wsl ......

    uj5u.com 2023-04-19 09:25:49 more
  • docker學習

    ###Docker概述 真實專案部署環境可能非常復雜,傳統發布專案一個只需要一個jar包,運行環境需要單獨部署。而通過Docker可將jar包和相關環境(如jdk,redis,Hadoop...)等打包到docker鏡像里,將鏡像發布到Docker倉庫,部署時下載發布的鏡像,直接運行發布的鏡像即可。 ......

    uj5u.com 2023-04-19 09:19:04 more
  • Linux學習筆記

    IP地址和主機名 IP地址 ifconfig可以用來查詢本機的IP地址,如果不能使用,可以通過install net-tools安裝。 Centos系統下ens33表示主網卡;inet后表示IP地址;lo表示本地回環網卡; 127.0.0.1表示代指本機;0.0.0.0可以用于代指本機,同時在放行設 ......

    uj5u.com 2023-04-18 06:52:01 more
  • 解決linux系統的kdump服務無法啟動的問題

    問題:專案麒麟系統服務器的kdump服務無法啟動,沒有相關日志無法定位問題。 1、查看服務狀態是關閉的,重啟系統也無法啟動 systemctl status kdump 2、修改grub引數,修改“crashkernel”為“512M(有的機器數值太大太小都會導致報錯,建議從128M開始試,或者加個 ......

    uj5u.com 2023-04-12 09:59:50 more
  • 解決linux系統的kdump服務無法啟動的問題

    問題:專案麒麟系統服務器的kdump服務無法啟動,沒有相關日志無法定位問題。 1、查看服務狀態是關閉的,重啟系統也無法啟動 systemctl status kdump 2、修改grub引數,修改“crashkernel”為“512M(有的機器數值太大太小都會導致報錯,建議從128M開始試,或者加個 ......

    uj5u.com 2023-04-12 09:59:01 more
  • 你是不是暴露了?

    作者:袁首京 原創文章,轉載時請保留此宣告,并給出原文連接。 如果您是計算機相關從業人員,那么應該經歷不止一次網路安全專項檢查了,你肯定是收到過資訊系統技術檢測報告,要求你加強風險監測,確保你提供的系統服務堅實可靠了。 沒檢測到問題還好,檢測到問題的話,有些處理起來還是挺麻煩的,尤其是線上正在運行的 ......

    uj5u.com 2023-04-05 16:52:56 more
  • 細節拉滿,80 張圖帶你一步一步推演 slab 記憶體池的設計與實作

    1. 前文回顧 在之前的幾篇記憶體管理系列文章中,筆者帶大家從宏觀角度完整地梳理了一遍 Linux 記憶體分配的整個鏈路,本文的主題依然是記憶體分配,這一次我們會從微觀的角度來探秘一下 Linux 內核中用于零散小記憶體塊分配的記憶體池 —— slab 分配器。 在本小節中,筆者還是按照以往的風格先帶大家簡單 ......

    uj5u.com 2023-04-05 16:44:11 more