目錄
- Linux系統的學習與使用(Centos8)
- Linux系統的介紹
- 目錄結構
- 使Linux系統能夠聯網(登入root使用者)
- 常用命令
- 安裝JDK
- 安裝MYSQL8
- 去官網下載對應的mysql8版
- 將其複製到linux系統的/usr/local/tmp目錄下並解壓
- 將解壓後的mysql資料夾複製到/usr/local目錄中,並重新命名資料夾為mysql
- 進入到mysql目錄,建立my.cnf檔案,修改並儲存
- 將該my.cnf複製一份到/etc/目錄下,因為mysql8啟動時會在該目錄找配置檔案
- 新增mysql的使用者組及使用者,並授權
- 執行命令初始化mysql,並檢視初始密碼
- 建立軟連線
- 將mysql註冊成服務,使其可以通過service|systemctl命令控制
- 設定mysql開啟自啟動並啟動mysql服務
- 為mysql新增軟連線,使得任何路徑下都能使用mysql命令
- 登入mysql(這裡的密碼是前面初始化mysql時那一步時建立的隨機密碼),並重新設定root密碼,以及開啟遠端訪問
- 安裝Tomcat
- 部署專案到Linux的tomcat中
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
- 重啟該網路卡
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資料夾是自己建立的
使用tar -zxf命令解壓該壓縮包
將解壓後的資料夾複製到/usr/local目錄下,並命名為jdk
為jdk配置環境變數,/etc/profile
- 開啟配置環境變數的檔案
vim /etc/profile
儲存退出。 - 重新解析該配置檔案
source /etc/profile
java環境測試是否安裝成功
如若以下三個命令都能找到指令,則代表jdk環境配置好了
java -version
javac
java
安裝MYSQL8
去官網下載對應的mysql8版
將其複製到linux系統的/usr/local/tmp目錄下並解壓
將解壓後的mysql資料夾複製到/usr/local目錄中,並重新命名資料夾為mysql
進入到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/
執行命令初始化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
建立軟連線
# 建立的原因是因為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
設定mysql開啟自啟動並啟動mysql服務
# 設定開機自啟動
systemctl enable mysql
# 啟動mysql服務
service mysql start
為mysql新增軟連線,使得任何路徑下都能使用mysql命令
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
登入mysql(這裡的密碼是前面初始化mysql時那一步時建立的隨機密碼),並重新設定root密碼,以及開啟遠端訪問
修改當前root密碼
建立一個所有ip都能訪問的root使用者,並授予所有許可權
# 建立一個root使用者,%代表所有ip都可訪問
create user 'root'@'%' identified by 'root';
# 為該使用者賦予所有許可權,並且使其也可以賦予許可權給其他使用者
grant all privileges on *.* to 'root'@'%' with grant option;
# 重新整理許可權
flush privileges;
使用navicat測試連線
安裝Tomcat
下載Linux版的tomcat
將下載下來的檔案放入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目錄下
啟動tomcat
/usr/local/tomcat/bin/startup.sh
檢視tomcat錯誤日誌
如果將war包放入tomcat的webapps目錄下,然後啟動tomcat無法正常訪問。可以看看tomcat的日誌
tomcat的日誌在tomcat安裝根路徑下的logs資料夾目錄中。其中有一個catalina.out的檔案,檢視該檔案即可看到tomcat的啟動日誌資訊。