目錄
- 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的啟動日志信息。


