女人做春夢網(wǎng)站哈爾濱網(wǎng)站推廣
目錄
三、 磁盤和文件管理和使用檢測和維護(hù)
3.1 磁盤目錄
3.2 安裝軟件
3.2.1 rpm命令
3.2.2 克隆虛擬機(jī)
3.2.3 yum或壓縮包方式安裝jdk
3.2.4 使用虛擬機(jī)運(yùn)行SpringBoot項(xiàng)目
3.2.5 安裝mysql80(57)
3.2.6 運(yùn)行web項(xiàng)目
3.2.7 安裝tomcat
三、 磁盤和文件管理和使用檢測和維護(hù)
3.1 磁盤目錄
展示根目錄:ls /
/bin (binaries) :該目錄中存儲的都是一些二進(jìn)制文件,文件都是可以被運(yùn)行的。
/dev (devices):該目錄中主要存放的是外接設(shè)備,例如盤、其他的光盤等。在其中的外接設(shè)備是不能直接被使用的,需要掛載(類似windows下的分配盤符)。
/etc (etcetera):該目錄主要存儲一些配置文件。
/home :表示“家”,表示除了root用戶以外其他用戶的家目錄,類似于windows下的User/用戶目錄。
/proc:process,表示進(jìn)程,該目錄中存儲的是Linux運(yùn)行時候的進(jìn)程。
/root:該目錄是root用戶自己的家目錄。
/sbin:全稱super binary,該目錄也是存儲一些可以被執(zhí)行的二進(jìn)制文件,但是必須得有super權(quán)限的用戶才能執(zhí)行。
/tmp:表示“臨時”的,當(dāng)系統(tǒng)運(yùn)行時候產(chǎn)生的臨時文件會在這個目錄存著。
/usr:存放的是用戶自己安裝的軟件。類似于windows下的program files。
/var:存放的程序/系統(tǒng)的日志文件的目錄。
/mnt:當(dāng)外接設(shè)備需要掛載的時候,就需要掛載到mnt目錄下。
/ 根目錄root 超級用戶目錄
/lost+found 存放一些系統(tǒng)出錯的檢查結(jié)果
注:特殊權(quán)限:粘著位t
粘著位定義:當(dāng)權(quán)限為777的目錄被授予粘著位,用戶只能在此目錄下刪除自己是所有者的文件
磁盤管理相關(guān)命令
1、查看磁盤分區(qū)信息
語法:fdisk -l
?
2、顯示文件系統(tǒng)磁盤空間的使用情況
語法:#df -h
選項(xiàng)含義:-h表示以可讀性較高的形式展示大小
?
3、顯示指定的文件(目錄)已使用的磁盤空間的總量
語法:#du -sh 目錄路徑
選項(xiàng)含義:-s:summaries,只顯示匯總的大小-h:表示以高可讀性的形式進(jìn)行顯示(human-readable)
案例:統(tǒng)計(jì)“/root”目錄的實(shí)際大小du -sh /root4、顯示當(dāng)前內(nèi)存和交換空間的使用情況
作用:查看內(nèi)存使用情況
語法:#free -m
選項(xiàng)含義:-m表示以mb為單位查看
3.2 安裝軟件
3.2.1 rpm命令
rpm的作用類似于windows上的電腦管家中“軟件管理”、安全衛(wèi)士里面“軟件管家”等產(chǎn)品,主要作用是對linux服務(wù)器上的軟件包進(jìn)行對應(yīng)管理操作,管理分為:查詢、卸載、安裝。
①查詢某個軟件的安裝情況
#rpm -qa|grep 關(guān)鍵詞
選項(xiàng):-q:查詢,query-a:全部,all
?
②卸載某個軟件
#rpm -e 軟件的名稱
?
當(dāng)存在依賴關(guān)系的時候又不想去解決這個問題的時候可以:
#rpm -e 軟件包名 --nodeps
?
③安裝軟件:
#rpm -ivh 軟件包完整名稱
選項(xiàng):-i:install,安裝-v:顯示進(jìn)度條-h:表示以“ # ”形式顯示進(jìn)度條-U:update升級
3.2.2 克隆虛擬機(jī)
虛擬機(jī)進(jìn)行克隆之前需要先關(guān)機(jī)
?
?
?
?
?
克隆虛擬機(jī)之后可以優(yōu)先更改一下克隆機(jī)的ip地址
更改IP地址之后重啟網(wǎng)絡(luò):service network restart
3.2.3 yum或壓縮包方式安裝jdk
安裝最小版本的Centos需要自己安裝jdk,如果安裝的是標(biāo)準(zhǔn)版的Centos,它會自帶jdk
1、使用yum安裝jdk
① 先檢查jdk是否已經(jīng)安裝
(java -version)
② 查看yum中關(guān)于java的文件
yum list|grep java
③ 安裝 java-1.8.0-openjdk-devel.x86_64
在查詢出來的文件中找到 java-1.8.0-openjdk-devel.x86_64
?
執(zhí)行安裝指令 yum -y install java-1.8.0-openjdk-devel.x86_64
文件的默認(rèn)安裝位置是:/usr/lib/jvm
④ 配置環(huán)境變量
所有的環(huán)境變量都在/etc/profile文件中
使用vim 進(jìn)入文件 ?vim /etc/profile
定義環(huán)境變量
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-1.el7_9.x86_64
export JRE_HOME=$JAVA_HOME
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin/$JAVA_HOME:$PATH
⑤ 使配置文件生效
source /etc/profile
2、使用壓縮包進(jìn)行的安裝jdk
① 先檢查jdk是否已經(jīng)安裝
rpm -qa|grep java
?
javapackages-tools-3.4.1-11.el7.noarch
tzdata-java-2022g-1.el7.noarch
python-javapackages-3.4.1-11.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.362.b08-1.el7_9.x86_64
java-1.8.0-openjdk-devel-1.8.0.362.b08-1.el7_9.x86_64
java-1.8.0-openjdk-1.8.0.362.b08-1.el7_9.x86_64
② 卸載已經(jīng)安裝的jdk
刪除后面三個文件
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.362.b08-1.el7_9.x86_64 java-1.8.0-openjdk-devel-1.8.0.362.b08-1.el7_9.x86_64 java-1.8.0-openjdk-1.8.0.362.b08-1.el7_9.x86_64
③ 利用ftxp將jdk的壓縮包傳到 /usr/lwlpro2目錄中,在usr中可以自己定義目錄
④ 解壓這個tar包
解壓指令:tar -zxvf jdk-8u144-linux-x64.tar.gz
⑤配置環(huán)境變量
使用vim /etc/profile 命令進(jìn)入配置文件中
export JAVA_HOME=/usr/lwlpro2/jdk1.8.0_144
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin/$JAVA_HOME:$PATH
⑥ 重新配置一下文件
source /etc/profile
3.2.4 使用虛擬機(jī)運(yùn)行SpringBoot項(xiàng)目
因?yàn)镾pringBoot項(xiàng)目自帶tomcat,所以在外面運(yùn)行時只需要jdk即可
通過本機(jī)訪問項(xiàng)目 要求本機(jī)和linux能夠相互通信的 所以需要linux關(guān)閉防火墻
① 配置打包信息并更改路由信息
? 在pom文件中配置打包信息<!-- 如果不寫packaging,那么打包時默認(rèn)打成jar包,可以不寫 --><packaging>jar</packaging>
在application.properties文件中修改數(shù)據(jù)庫url中的localhost為本機(jī)ip地址
?
本機(jī)IP地址可以在dos中獲取win+r打開dos輸入ipconfig 查看IPv4地址
?因?yàn)檫@里使用的是本機(jī)的mysql,所以這里需要連擊本機(jī)的數(shù)據(jù)庫
然后更改:
spring.datasource.url=jdbc:mysql://192.168.0.136:3306/vuetest?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8
② 打包項(xiàng)目
使用maven工具的聲明周期中的package功能對項(xiàng)目進(jìn)行打包
打包前可以先把target緩存刪掉
③ 打包測試
測試打包好的文件是否能正常使用
首先將打包好的文件放到一個文件夾中
然后cmd進(jìn)入dos
執(zhí)行 java -jar 包名.jar
利用瀏覽器訪問項(xiàng)目中的路徑,可以正常獲取結(jié)果就代表正常
訪問時正常使用localhost即可
( http://198.168.0.136:3306/路徑
或者是http://localhost:3306/路徑 )
訪問時產(chǎn)生異常:null, message from server: "Host 'LAPTOP-LLLFPADD' is not allowed to connect to this MySQL server"
這個異常是數(shù)據(jù)庫只允許localhost或127.0.0.1訪問,不允許遠(yuǎn)程訪問,使用本機(jī)IP(IPv4地址)都不行。
解決方案:修改訪問權(quán)限即可
1、打開cmd 登錄 mysqlmysql -uroot -p2、use mysql;4、select host,user from user;可以看到 host 為 localhost,表示mysql只允許本機(jī)訪問。將這個值改為 % 即可。5、update user set host ='%' where user ='root';6、執(zhí)行刷新權(quán)限:flush privileges; 即可
④將jar包放到虛擬機(jī)中
一般 /usr 中是存放項(xiàng)目有關(guān)的東西的
可以建立一個lwlpro目錄,將jar包存到/usr/lwlpro中(傳輸時,使用Xftp進(jìn)行上傳)
⑤在虛擬機(jī)運(yùn)行項(xiàng)目
運(yùn)行命令: java -jar 包名.jar
?
在瀏覽器或者postman對路由進(jìn)行訪問,訪問時路由地址使用的是虛擬機(jī)的ip地址(198.168.111.127)
http://198.168.111.127:3306/路徑?
看到正常查詢結(jié)果即可
⑥問題:當(dāng)使用命令 java -jar 包名.jar 運(yùn)行SpringBoot項(xiàng)目時,如果關(guān)閉遠(yuǎn)程連接客戶端,或者在遠(yuǎn)程客戶端進(jìn)行別的操作,那么在本地訪問時,就會無法連接,所以執(zhí)行時可以使用nohup命令
一直運(yùn)行jar文件并指定端口號為多少 當(dāng)然也可以不指定端口號
nohup java -jar MulTableQuery.jar --server.port=8888 &
?
這條命令在哪里執(zhí)行,就會在哪里生成一個 nohup.out 文件夾
可以查看一下這個文件的內(nèi)容
tail -1000 nohup.out
會發(fā)現(xiàn)該項(xiàng)目已經(jīng)在運(yùn)行中
推薦使用nohup指令運(yùn)行項(xiàng)目
3.2.5 安裝mysql80(57)
如果是使用的桌面版(不是最小版)安裝的centos,雖然系統(tǒng)不自帶mysql,但是會帶一個簡化版的mysql,名為 mariadb,如果有mariadb就無法安裝mysql
所以這里留下查詢是否安裝mariadb和卸載的方法
?
1、查詢是否安裝mariadb
rpm -qa | grep mariadb
?
2、卸載mariadb
rpm -e --nodeps 查詢的mariadb名字
linux使用最小安裝的時候缺少一些東西,所以需要我們手動的導(dǎo)入
安裝mysql80或者是mysql57,只有在第二、三步安裝mysql時不同
1、導(dǎo)入:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
2、配置安裝源
配置mysql80安裝源
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
?
配置mysql57安裝源:
rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
?
配置過程:
Retrieving https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
warning: /var/tmp/rpm-tmp.KhBs1K: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ? ? ? ? ? ? ? ? ? ? ? ? ?################################# [100%]
Updating / installing...1:mysql80-community-release-el7-3 ?################################# [100%]
3、安裝mysql
安裝mysql80:
yum --enablerepo=mysql80-community install mysql-community-server
?
安裝mysql57:
yum --enablerepo=mysql57-community install mysql-community-server
?
?
Install ?3 Packages (+4 Dependent packages)
Upgrade ? ? ? ? ? ? ( 1 Dependent package)
?
Total download size: 90 M
Is this ok [y/d/N]: 在此輸入y,確認(rèn)下載插件
?
?
Replaced:mariadb-libs.x86_64 1:5.5.60-1.el7_5 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Complete!
安裝成功
4、啟動mysql
centos6查看mysqld服務(wù)狀態(tài):
service mysqld status
?
centos7查看mysqld服務(wù)狀態(tài)
systemctl status mysqld
?
● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: inactive (dead)Docs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.html
?
?
系統(tǒng)文件存放地址:/usr/lib/systemd/system
centos6的語法在centos7中是可以使用的,而centos7中的語法在6中有的不可以使用
centos6語法:
service mysqld start
?
centos7語法:
systemctl start mysqld
? ?
啟動成功查詢狀態(tài)
● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: active (running) since Thu 2023-02-09 14:30:55 CST; 11s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 7691 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 7758 (mysqld)Status: "Server is operational"CGroup: /system.slice/mysqld.service└─7758 /usr/sbin/mysqld
?
Feb 09 14:30:50 localhost.localdomain systemd[1]: Starting MySQL Server...
Feb 09 14:30:55 localhost.localdomain systemd[1]: Started MySQL Server.
5、查看安裝mysql時生成的臨時密碼
grep password /var/log/mysqld.log
或者是
grep A temporary password /var/log/mysqld.log
?
[root@localhost ~]# grep password /var/log/mysqld.log
2023-02-09T06:30:52.337535Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: /rDso-=s2EVe
6、登錄mysql
①輸入:mysql -uroot -p
②在Enter password:后面輸入臨時密碼
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
?
mysql> 出現(xiàn)這種圖標(biāo)代表登陸成功
退出時輸入 exit; 即可退出mysql
③修改密碼
mysql> alter user 'root'@'localhost' identified with mysql_native_password by 'Abc123...';
Query OK, 0 rows affected (0.00 sec)
因?yàn)樽畛鮩ysql是有著一套自己的密碼驗(yàn)證規(guī)則的,登陸成功之后需要先修改一次密碼,才可以修改密碼驗(yàn)證規(guī)則
最初規(guī)則:密碼至少有8位數(shù),包含大小寫,數(shù)字和特殊符號
7、修改密碼規(guī)則
修改完密碼以后查看并設(shè)置密碼規(guī)則
show variables like 'validate_password%';
?
+--------------------------------------+--------+
| Variable_name ? ? ? ? ? ? ? ? ? ? ? | Value |
+--------------------------------------+--------+
| validate_password.check_user_name ? | ON ? ? |
| validate_password.dictionary_file ? | ? ? ? |
| validate_password.length ? ? ? ? ? ? | 8 ? ? |
| validate_password.mixed_case_count ? | 1 ? ? |
| validate_password.number_count ? ? ? | 1 ? ? |
| validate_password.policy ? ? ? ? ? ? | MEDIUM |
| validate_password.special_char_count | 1 ? ? |
+--------------------------------------+--------+
?
策略說明validate_password.length 是密碼的最小長度,默認(rèn)是8,我們把它改成4mysql80輸入:set global validate_password.length=4;mysql57輸入:set global validate_password_length=4;validate_password.policy 驗(yàn)證密碼的復(fù)雜程度,我們把它改成0mysql80輸入:set global validate_password.policy=0;mysql57輸入:set global validate_password_policy=0;validate_password.check_user_name 用戶名檢查,用戶名和密碼不能相同,我們也把它關(guān)掉mysql80輸入:set global validate_password.check_user_name=off;mysql57輸入:set global validate_password_check_user_name=off;
8、再次修改密碼
alter user 'root'@'localhost' identified with mysql_native_password by '密碼';
Query OK, 0 rows affected (0.00 sec) //修改成功
9、配置遠(yuǎn)程訪問
1、切換數(shù)據(jù)庫
mysql> use mysql;
2、查看管理用戶權(quán)限
mysql> select host, user, authentication_string, plugin from user;
?
mysql> select host,user from user;
+-----------+------------------+
| host ? ? | user ? ? ? ? ? ? |
+-----------+------------------+
| localhost | mysql.infoschema |
| localhost | mysql.session ? |
| localhost | mysql.sys ? ? ? |
| localhost | root ? ? ? ? ? ? |
+-----------+------------------+
?
3、修改一下user為root的host為% ? 可以進(jìn)行遠(yuǎn)程連接
mysql> update user set host = '%' where user ='root';
?
4、刷新權(quán)限
mysql> flush privileges;
可以再次查看是否修改成功
?
----------------------------輸入 exit; 即可退出mysql---------------------
10、使用本機(jī)navicat連接遠(yuǎn)端linux中的mysql
新建連接
?
?
?
?
11、數(shù)據(jù)庫測試
本次數(shù)據(jù)傳輸?shù)臄?shù)據(jù)庫是上面的SpringBoot項(xiàng)目用到的數(shù)據(jù)庫,可以利用上面的springboot項(xiàng)目再次進(jìn)行測試
1、測試時可以刪除application.properties文件中url中的本地ip地址和數(shù)據(jù)庫表
?
2、測試時修改用戶名和密碼對應(yīng)到linux系統(tǒng)中的mysql數(shù)據(jù)庫的用戶名和密碼
?
3、執(zhí)行jar包時,如果沒有別的錯誤,但是依然報(bào)500,可以嘗試切換端口號
然后再次打包測試
3.2.6 運(yùn)行web項(xiàng)目
使用war包將對應(yīng)的項(xiàng)目直接存到tomcat的webapp下面即可tomcat運(yùn)行時會自動解壓項(xiàng)目
3.2.7 安裝tomcat
1.上傳壓縮包
2.解壓
3.設(shè)置配置文件? /etc/profile
#set tomcat 環(huán)境
4。啟動tomcat
cd apache-tomcat-8.5.37/bin
./startup.sh
運(yùn)行tomcat
http://192.168.109.34:8080/
出現(xiàn)logo即為成功