Centos8部署jdk、mysql8、tomcat,並部署專案到tomcat中

code小星星發表於2021-08-07

目錄

Linux系統的學習與使用(Centos8)

Linux系統的介紹

Linux不是一個具體的作業系統,而是一類作業系統的統稱。具體的版本稱之為發行版。發行版一般有如下幾個

  • Red Hat :紅帽,目前被IBM收購了。收費版。是目前全球最大的Linux供應商
  • CentOs:Red Hat推出的免費版的Linux作業系統
  • Ubuntu:圖形化頁面比較友好的Linux作業系統(免費)

為什麼要選擇Linux作為伺服器執行的作業系統

  • 開源免費
  • 聽說10年不關機依然可以正常執行
  • 比Windows更加的安全

目錄結構

Linux不同於Windws硬碟進行了分割槽,分為c盤,d盤等等。
可以理解為Linux只有一個分割槽。所有的檔案都存放在該分割槽中。

  • ect 存放配置檔案,可以想想一下windows的環境變數

  • bin 可執行檔案,我們輸入的命令,例如cd,ls等都存放在該目錄

  • usr/local 相當於Windows安裝東西等的預設安裝目錄

  • var 存放一些臨時檔案

  • home 除了root使用者外,其他使用者都會在該目錄下有一個同名資料夾。對應的使用者對其資料夾有完整的許可權

  • root 只有root使用者能夠操作的目錄

使Linux系統能夠聯網(登入root使用者)

  • 編輯該網路卡配置,開啟該網路卡
    vi /etc/sysconfig/network-scripts/ifcfg-ens33
    image
  • 重啟該網路卡
    nmcli c reload ens33

常用命令

cd命令(用於進入到某個目錄)

cd ./aa/ 進入到當前目錄下的aa資料夾
cd ../bb/  進入上一級目錄下的bb資料夾
cd /home 進入根目錄下的home目錄

ls、ll命令 (檢視某目錄下的檔案和資料夾)

ls 檢視目錄下的檔案及資料夾。不顯示詳細資訊,只顯示名稱。
ls -a 功能同上,但是會顯示隱藏的檔案或資料夾
ll 檢視當前目錄下的檔案及資料夾。顯示詳細資訊。

clear命令(清屏)

clear 清屏

pwd命令(獲取當前所在目錄)

pwd 執行後會在控制檯輸出你當前所在的目錄

mkdir 命令(建立目錄)

mkdir ./aa  在當前目錄建立一個aa資料夾
mkdir /home/dqx/bb 在根路徑的home目錄下的dqx目錄下建立一個bb資料夾
特別提示:mkdir 命令如果沒有加引數,則只能建立一級的資料夾,如果要在bb目錄下建立aa,那麼bb則必須先存在。所以有如下指令。
mkdir -p /home/dqx/aa/bb 會建立bb目錄。但是如果aa目錄或者dqx目錄等前面的目錄不存在,則會一同建立

rm命令(刪除檔案或目錄)

rm aa.txt 刪除當前目錄下的aa.txt檔案
rm -r /home/dqx/aa 刪除 根路徑下的 home目錄下的dqx目錄下的aa資料夾,及其裡面的檔案或子資料夾。會出現需要確認的提示
rm -rf /home/dqx/aa 功能同上,但是不會提示是否需要刪除。

touch 命令(建立檔案)

touch a.txt 在當前目錄下建立一個檔案

vi/vim命令(文字編輯)

vi a.txt 會編輯當前目錄下的a.txt檔案
按下ESC則進入命令狀態
命令狀態下按i,看到左下角有insert,則進入輸入狀態。
命令狀態下按 :q 退出當前編輯,(未改動的情況下)
命令狀態下按 :wq 寫入並退出
命令狀態下按 :wq! 強制寫入並退出
命令狀態下按 dd 會刪除游標所在的行
命令狀態下按 d + 行號 + enter 會刪除指定行號的行

使用vi或者vim命令操作檔案時,有時候會出現有臨時檔案,可以根據需求對臨時檔案進行操作。例如刪除臨時檔案(在彈出有臨時檔案的提示時按D),也可以手動rm -rf xxxx.swap臨時檔案

cat命令(檢視資料)

cat a.txt 檢視當前目錄下a.txt檔案的內容

tail命令(檢視指定條目資料)

tail a.txt 檢視當前目錄下a.txt檔案的最後10行內容
tail -5 a.txt 檢視當前目錄下a.txt檔案的最後5行內容
tail -f a.txt 動態檢視a.txt檔案,如果該檔案修改,那麼我們看到的資料也會修改

mv命令(剪下)

mv 需要移動的檔案 目的檔案
mv ./a.txt /home/dqx/b.txt 將當前目錄下的a.txt檔案剪下到根目錄下的home目錄 下的dqx目錄下,並且重新命名為b.txt

(注意了,必須要寫移動後的檔名)

cp命令(複製)

cp ./a.txt /home/dqx 將當前目錄下的a.txt檔案複製到/home/dqx檔案目錄下(可以不用指定複製後的檔名)

cp ./a.txt /home/dqx/b.txt 也可以指定檔名
cp -r ./aa ./bb/ 將aa資料夾複製到bb資料夾中

tar(解壓壓縮檔案)

tar -zxvf 壓縮檔案
解壓 .tar.gz 以及 .tar檔案
z:是否具有gzip檔案格式,也就是副檔名是否為.tar.gz
x:解壓內容
v:是否顯示解壓過程
f:寫到最後,然後緊跟需要被解壓的檔案

ps命令(查詢程式)

ps -ef|grep mysql 查詢mysql的全部程式
ps -aux|grep mysql 顯示所有包含其他使用者的mysql程式
-e 顯示所有程式,環境變數
-f 全格式

kill(殺死程式)

kill -9 程式號  ,-9代表強制刪除,無論是否在執行

service命令(主要用於作業系統服務)

service 服務名 start|stop|status|restart
service firewalld stop // 關閉防火牆

systemctl命令(系統控制)

systemctl disable firewalld // 關閉防火牆開機自動啟動
systemctl enable firewalld // 與上相反

安裝JDK

將下載好的壓縮版的linux版本的JDK下載到/usr/local/tmp資料夾下

tmp資料夾是自己建立的
image

使用tar -zxf命令解壓該壓縮包

image

將解壓後的資料夾複製到/usr/local目錄下,並命名為jdk

image

為jdk配置環境變數,/etc/profile

  • 開啟配置環境變數的檔案
    vim /etc/profile
    image
    儲存退出。
  • 重新解析該配置檔案
    source /etc/profile

java環境測試是否安裝成功

如若以下三個命令都能找到指令,則代表jdk環境配置好了
java -version
javac
java

安裝MYSQL8

去官網下載對應的mysql8版

下載地址
image

將其複製到linux系統的/usr/local/tmp目錄下並解壓

image

將解壓後的mysql資料夾複製到/usr/local目錄中,並重新命名資料夾為mysql

image

進入到mysql目錄,建立my.cnf檔案,修改並儲存

cd /usr/local/mysql
vim my.cnf

# my.cnf檔案配置如下,請自行按照需求更改
[mysqld]
# 埠
port=3306
# 基礎mysql路徑
basedir=/usr/local/mysql/
# mysql的資料儲存路徑
datadir=/usr/local/mysql/data/
# 出現錯誤的日誌檔案路徑
log-error=/usr/local/mysql/data/error.log
# mysql以socket方式執行的sock檔案位置
socket=/tmp/mysql.sock
# 程式id檔案的位置
pid-file=/usr/local/mysql/data/mysql.pid
# 伺服器使用的字符集
character-set-server=utf8mb4
# 使表名不區分大小寫,如果為0則區分
lower_case_table_names=1
# innodb日誌大小
innodb_log_file_size=1G
# 預設使用的引擎
default-storage-engine=INNODB
# 預設使用的驗證外掛
default_authentication_plugin=mysql_native_password

[mysql]
default-character-set=utf8mb4

[client]
# 埠號
port=3306
# 客戶端預設字符集
default-character-set=utf8mb4

將該my.cnf複製一份到/etc/目錄下,因為mysql8啟動時會在該目錄找配置檔案

cp /usr/local/mysql/my.cnf /etc/

新增mysql的使用者組及使用者,並授權

# 建立使用者組,名為mysql
groupadd mysql
# 建立一個使用者 -r代表建立系統使用者, -g代表指定使用者組,所以使用者名稱為mysql,所屬的使用者組也是mysql
useradd -r -g mysql mysql
# 將mysql目錄的所有者設定為mysql使用者,所屬的組設定為mysql組
chown -R mysql:mysql /usr/local/mysql/

image

執行命令初始化mysql,並檢視初始密碼

# 初始化mysql資料
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

# 檢視初始化密碼
cat /usr/local/mysql/data/error.log

image

建立軟連線

# 建立的原因是因為mysql使用的libtinfo.so是5的,而centos預設是使用6的,所以要替換成5
# 建立一個軟連線/usr/lib64/libtinfo.so.5 ,指向/usr/lib64/libtinfo.so.6
ln -s /usr/lib64/libtinfo.so.6 /usr/lib64/libtinfo.so.5
ln -s /usr/lib64/libncurses.so.6 /usr/lib64/libncurses.so.5

將mysql註冊成服務,使其可以通過service|systemctl命令控制

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

image

設定mysql開啟自啟動並啟動mysql服務

# 設定開機自啟動
systemctl enable mysql
# 啟動mysql服務
service mysql start

image
image

為mysql新增軟連線,使得任何路徑下都能使用mysql命令

ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

登入mysql(這裡的密碼是前面初始化mysql時那一步時建立的隨機密碼),並重新設定root密碼,以及開啟遠端訪問

image

修改當前root密碼

image

建立一個所有ip都能訪問的root使用者,並授予所有許可權

# 建立一個root使用者,%代表所有ip都可訪問
create user 'root'@'%' identified by 'root';
# 為該使用者賦予所有許可權,並且使其也可以賦予許可權給其他使用者
grant all privileges on *.* to 'root'@'%' with grant option;
# 重新整理許可權
flush privileges;

使用navicat測試連線

image

安裝Tomcat

下載Linux版的tomcat

下載地址
image

將下載下來的檔案放入linux系統的/usr/local/tmp目錄下,然後執行如下操作

# 進入該目錄
cd /usr/local/tmp/
# 解壓,這個壓縮包的名稱按照你下載的來
tar -zxf apache-tomcat-8.5.69.tar.gz
# 將其複製到/usr/local目錄下,並重新命名為tomcat
cp -r apache-tomcat-8.5.69 /usr/local/tomcat

進入tomcat的bin目錄,開啟tomcat服務

# 進入目錄
cd /usr/local/tomcat/bin
# 開啟tomcat
./startup.sh
# 關閉tomcat
./shutdown.sh

部署專案到Linux的tomcat中

首先將我們的專案打包成war包

war包本質上就是tomcat可以識別的一個壓縮包。與jar無異。

將該war包放入tomcat伺服器的webapps目錄下

image

啟動tomcat

/usr/local/tomcat/bin/startup.sh

檢視tomcat錯誤日誌

如果將war包放入tomcat的webapps目錄下,然後啟動tomcat無法正常訪問。可以看看tomcat的日誌
tomcat的日誌在tomcat安裝根路徑下的logs資料夾目錄中。其中有一個catalina.out的檔案,檢視該檔案即可看到tomcat的啟動日誌資訊。

相關文章