Linux第三讲

目录

三、 磁盘和文件管理和使用检测和维护

3.1 磁盘目录

3.2 安装软件

3.2.1 rpm命令

3.2.2 克隆虚拟机

3.2.3 yum或压缩包方式安装jdk

3.2.4 使用虚拟机运行SpringBoot项目

3.2.5 安装mysql80(57)

3.2.6 运行web项目

3.2.7 安装tomcat


三、 磁盘和文件管理和使用检测和维护

3.1 磁盘目录

展示根目录:ls /

/bin (binaries) :该目录中存储的都是一些二进制文件,文件都是可以被运行的。

/dev (devices):该目录中主要存放的是外接设备,例如盘、其他的光盘等。在其中的外接设备是不能直接被使用的,需要挂载(类似windows下的分配盘符)

/etc (etcetera):该目录主要存储一些配置文件。

/home :表示“家”,表示除了root用户以外其他用户的家目录,类似于windows下的User/用户目录。

/proc:process,表示进程,该目录中存储的是Linux运行时候的进程。

/root:该目录是root用户自己的家目录。

/sbin:全称super binary,该目录也是存储一些可以被执行的二进制文件,但是必须得有super权限的用户才能执行。

/tmp:表示“临时”的,当系统运行时候产生的临时文件会在这个目录存着。

/usr:存放的是用户自己安装的软件。类似于windows下的program files。

/var:存放的程序/系统的日志文件的目录。

/mnt:当外接设备需要挂载的时候,就需要挂载到mnt目录下。

/ 根目录root 超级用户目录

/lost+found 存放一些系统出错的检查结果

注:特殊权限:粘着位t

粘着位定义:当权限为777的目录被授予粘着位,用户只能在此目录下删除自己是所有者的文件

磁盘管理相关命令

1、查看磁盘分区信息
语法:fdisk -l 
​
2、显示文件系统磁盘空间的使用情况
语法:#df -h 
选项含义:
    -h表示以可读性较高的形式展示大小
​
3、显示指定的文件(目录)已使用的磁盘空间的总量
语法:#du -sh 目录路径
选项含义:
         -s:summaries,只显示汇总的大小
         -h:表示以高可读性的形式进行显示(human-readable)
案例:统计“/root”目录的实际大小
    du -sh /root
    
4、显示当前内存和交换空间的使用情况 
作用:查看内存使用情况
语法:#free -m
选项含义:
    -m表示以mb为单位查看 

3.2 安装软件

3.2.1 rpm命令

rpm的作用类似于windows上的电脑管家中“软件管理”、安全卫士里面“软件管家”等产品,主要作用是对linux服务器上的软件包进行对应管理操作,管理分为:查询、卸载、安装

①查询某个软件的安装情况
#rpm -qa|grep 关键词
选项:
     -q:查询,query
     -a:全部,all
​
②卸载某个软件
#rpm -e 软件的名称
​
当存在依赖关系的时候又不想去解决这个问题的时候可以:
#rpm -e 软件包名 --nodeps
​
③安装软件:
#rpm -ivh 软件包完整名称
选项:
     -i:install,安装
     -v:显示进度条
     -h:表示以“ # ”形式显示进度条
     -U:update升级

3.2.2 克隆虚拟机

虚拟机进行克隆之前需要先关机

 

 

 

 

 

克隆虚拟机之后可以优先更改一下克隆机的ip地址

更改IP地址之后重启网络:service network restart

3.2.3 yum或压缩包方式安装jdk

安装最小版本的Centos需要自己安装jdk,如果安装的是标准版的Centos,它会自带jdk

1、使用yum安装jdk

① 先检查jdk是否已经安装

(java -version)

② 查看yum中关于java的文件

yum list|grep java

③ 安装 java-1.8.0-openjdk-devel.x86_64

在查询出来的文件中找到 java-1.8.0-openjdk-devel.x86_64
​
执行安装指令 yum -y install java-1.8.0-openjdk-devel.x86_64

文件的默认安装位置是:/usr/lib/jvm

④ 配置环境变量

所有的环境变量都在/etc/profile文件中

使用vim 进入文件  
    vim /etc/profile
定义环境变量
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、使用压缩包进行的安装jdk

① 先检查jdk是否已经安装

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

② 卸载已经安装的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

⑤配置环境变量

使用vim /etc/profile 命令进入配置文件中

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 使用虚拟机运行SpringBoot项目

因为SpringBoot项目自带tomcat,所以在外面运行时只需要jdk即可

通过本机访问项目 要求本机和linux能够相互通信的 所以需要linux关闭防火墙

① 配置打包信息并更改路由信息

    在pom文件中配置打包信息
    <!--  如果不写packaging,那么打包时默认打成jar包,可以不写  -->
    <packaging>jar</packaging>
在application.properties文件中修改数据库url中的localhost为本机ip地址
本机IP地址可以在dos中获取
    win+r打开dos
    输入ipconfig 查看IPv4地址 
​
    因为这里使用的是本机的mysql,所以这里需要连击本机的数据库
然后更改:
spring.datasource.url=jdbc:mysql://192.168.0.136:3306/vuetest?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8

② 打包项目

使用maven工具的声明周期中的package功能对项目进行打包
打包前可以先把target缓存删掉

③ 打包测试

测试打包好的文件是否能正常使用
首先将打包好的文件放到一个文件夹中
然后cmd进入dos 
执行 java -jar 包名.jar 
利用浏览器访问项目中的路径,可以正常获取结果就代表正常
访问时正常使用localhost即可
(  http://198.168.0.136:3306/路径
或者是http://localhost:3306/路径  )

访问时产生异常:null, message from server: "Host 'LAPTOP-LLLFPADD' is not allowed to connect to this MySQL server"

这个异常是数据库只允许localhost或127.0.0.1访问,不允许远程访问,使用本机IP(IPv4地址)都不行。

解决方案:修改访问权限即可

1、打开cmd 登录 mysql
    mysql -uroot -p
 
2、use mysql;
 
4、select host,user from user;
    可以看到 host 为 localhost,表示mysql只允许本机访问。将这个值改为 % 即可。
 
5、update user set host ='%' where user ='root';
 
6、执行刷新权限:flush privileges; 即可

④将jar包放到虚拟机中

一般 /usr 中是存放项目有关的东西的

可以建立一个lwlpro目录,将jar包存到/usr/lwlpro中(传输时,使用Xftp进行上传)

⑤在虚拟机运行项目

运行命令: java -jar 包名.jar
​
在浏览器或者postman对路由进行访问,访问时路由地址使用的是虚拟机的ip地址(198.168.111.127)
http://198.168.111.127:3306/路径

​
看到正常查询结果即可
 

⑥问题:当使用命令 java -jar 包名.jar 运行SpringBoot项目时,如果关闭远程连接客户端,或者在远程客户端进行别的操作,那么在本地访问时,就会无法连接,所以执行时可以使用nohup命令

一直运行jar文件并指定端口号为多少 当然也可以不指定端口号
nohup java -jar MulTableQuery.jar --server.port=8888 &
​
这条命令在哪里执行,就会在哪里生成一个 nohup.out 文件夹
可以查看一下这个文件的内容
tail -1000 nohup.out
会发现该项目已经在运行中

推荐使用nohup指令运行项目

3.2.5 安装mysql80(57)

如果是使用的桌面版(不是最小版)安装的centos,虽然系统不自带mysql,但是会带一个简化版的mysql,名为 mariadb,如果有mariadb就无法安装mysql
所以这里留下查询是否安装mariadb和卸载的方法
​
1、查询是否安装mariadb
rpm -qa | grep mariadb
​
2、卸载mariadb
rpm -e --nodeps 查询的mariadb名字

linux使用最小安装的时候缺少一些东西,所以需要我们手动的导入

安装mysql80或者是mysql57,只有在第二、三步安装mysql时不同

1、导入:

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,确认下载插件
​
Replaced:
  mariadb-libs.x86_64 1:5.5.60-1.el7_5                                                                                                                                             
Complete!
安装成功

4、启动mysql

centos6查看mysqld服务状态:
service mysqld status
​
centos7查看mysqld服务状态
systemctl status mysqld
​
● mysqld.service - MySQL Server
   Loaded: 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
​
​
系统文件存放地址:/usr/lib/systemd/system
centos6的语法在centos7中是可以使用的,而centos7中的语法在6中有的不可以使用
centos6语法:
service mysqld start 
​
centos7语法:
systemctl start mysqld
​
​
启动成功查询状态
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2023-02-09 14:30:55 CST; 11s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 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> 出现这种图标代表登陆成功
退出时输入 exit; 即可退出mysql

③修改密码

mysql> alter user 'root'@'localhost' identified with mysql_native_password by 'Abc123...';
Query OK, 0 rows affected (0.00 sec)

因为最初mysql是有着一套自己的密码验证规则的,登陆成功之后需要先修改一次密码,才可以修改密码验证规则

最初规则:密码至少有8位数,包含大小写,数字和特殊符号

7、修改密码规则

修改完密码以后查看并设置密码规则
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 是密码的最小长度,默认是8,我们把它改成4
 mysql80输入:set global validate_password.length=4;
 mysql57输入:set global validate_password_length=4;
 
 validate_password.policy 验证密码的复杂程度,我们把它改成0
 mysql80输入:set global validate_password.policy=0;
 mysql57输入:set global validate_password_policy=0;
 
 validate_password.check_user_name 用户名检查,用户名和密码不能相同,我们也把它关掉
 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、配置远程访问

1、切换数据库
mysql> use mysql;
2、查看管理用户权限
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为%   可以进行远程连接
mysql> update user set host = '%' where user ='root';
​
4、刷新权限
mysql> flush privileges;
可以再次查看是否修改成功
​
----------------------------输入 exit; 即可退出mysql---------------------

10、使用本机navicat连接远端linux中的mysql

新建连接

 

 

 

 

11、数据库测试

本次数据传输的数据库是上面的SpringBoot项目用到的数据库,可以利用上面的springboot项目再次进行测试

1、测试时可以删除application.properties文件中url中的本地ip地址和数据库表
​
2、测试时修改用户名和密码对应到linux系统中的mysql数据库的用户名和密码
​
3、执行jar包时,如果没有别的错误,但是依然报500,可以尝试切换端口号

然后再次打包测试

3.2.6 运行web项目

使用war包将对应的项目直接存到tomcat的webapp下面即可tomcat运行时会自动解压项目

3.2.7 安装tomcat

1.上传压缩包
2.解压
3.设置配置文件  /etc/profile
#set tomcat 环境
4。启动tomcat
cd apache-tomcat-8.5.37/bin
./startup.sh
运行tomcat
http://192.168.109.34:8080/
出现logo即为成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值