Linux操作

2023-12-13 11:28:16

目录

一、Linux简介

1. Linux安装

2. 网卡设置 (修改网卡的配置项)

3.?安装SSH连接工具

FinalShell安装使用

(1)打开finalShell?编辑

?(2)建立连接?

4. Linux目录结构?

(1)目录结构图??编辑

(2)根目录/ 下各个目录的作用及含义说明?编辑

5.?Linux常用命令

(1)??ls

?(2)? pwd

(3)? cd?编辑

(4)? touch?编辑

(5)? mkdir?编辑

?(6)? rm

6.??Linux命令使用技巧

7.?Linux命令格式

8.?文件目录操作命令

(1)ls

(2)cd

(3)cat

(4)more

?(5)tail

(6)mkdir

(7)?rmdir

(8)rm

9. 拷贝移动命令

(1)cp

(2)mv

10.?打包压缩命令

11.?文本编辑命令

(1)vi&vim介绍

(2)vim安装

(3)vim使用

12.?查找命令

(1)find

(2)grep

二、Linux软件安装

1.?软件安装方式?编辑

?2. 基于二进制包安装JDK

(1)?上传安装包

(2)?解压安装包

(3)配置环境变量

(4)?重新加载profile文件

(5) 检查安装是否成功

3. 基于二进制包安装Tomcat

?(1)?上传安装包

(2)?解压安装包

(3)??启动Tomcat

(4)防火墙操作

(5)停止Tomcat

4. 通过rpm安装MySQL?

(1)?检测当前系统是否安装过MySQL相关数据库

(2)?卸载现有的MySQL数据库

(3)?将MySQL安装包上传到Linux并解压

(4)?按顺序安装rpm安装包

(5)MySQL启动

(6) MySQL登录

5. 基于二进制包安装redis

(1)下载Redis

(2)对Redis文件进行解压

(3)进入redis目录下,安装gcc

(4)redis默认不是后台启动,更改启动方式

(5)?启动redis-server服务

(6)使用redis-cli连接测试

(7)查看redis的进程是否开启?(新开一个窗口)

(8)关闭redis服务?

(9)设置Redis开机自启动?

(10)性能测试?

6.? 通过yum安装lrzsz

(1)?搜索lrzsz安装包

(2)?在线安装lrzsz

(3)?测试

三、项目部署

1. 手动部署项目

(1)?在IDEA中开发SpringBoot项目并打成jar包

(2)?将jar包上传到Linux服务器

(3)?启动SpringBoot程序

(4)?检查防火墙,确保8080端口对外开放,访问SpringBoot项目?

(5)访问测试?编辑

(6)?后台运行项目

(7)?停止SpringBoot项目


一、Linux简介

1. Linux安装

?(1)选择语言为 "简体中文
?

(2)选择"自动配置分区"

(3)选择"最小安装

(4)设置"root"用户密码

(5)登录系统

2. 网卡设置 (修改网卡的配置项)

通过linux的指令 ip addr 来查询Linux系统的IP地址,具体信息如下:

没有获取到linux系统的IP地址,是由于启动服务器时未加载网卡,导致IP地址初始化失败而造成的。需要来修改网络初始化配置,设定网卡在系统启动时初始化。

具体操作步骤如下:

cd / 进入根目录
cd etc 进入etc目录
cd sysconfig 进入sysconfig目录
cd network-scripts 进入network-scripts
vi ifcfg-ens33 编辑ifcfg-ens33文件

进入文件后执行如下操作:
①. 按 i 键 进入编辑状态
②. 按↑↓键来移动光标, 删除no,输入yes
③. 按 ESC 键
④. 输入 :wq
⑤. 按 ENTER 保存退出


重启系统通过指令 ip addr 来查看IP地址

3.?安装SSH连接工具

SSH(Secure Shell),建立在应用层基础上的安全协议。常用的SSH连接工具:
?

FinalShell安装使用

(1)打开finalShell
?(2)建立连接?

4. Linux目录结构?

A. / 是所有目录的顶点
B. 目录结构像一颗倒挂的树

(1)目录结构图
?

(2)根目录/ 下各个目录的作用及含义说明

5.?Linux常用命令

(1)??ls


?

ls 查看当前目录下的内容(文件及目录)

ls / 查看指定目录(/)下的内容

?(2)? pwd

pwd 查看当前所在目录

(3)? cd

cd / 切换到根目录
cd /root 切换到/root目录

(4)? touch

touch 1.txt 创建文件1.txt
touch 2.txt 3.txt 4.txt 一次性创建文件2.txt,3.txt,3.txt

(5)? mkdir

mkdir 01 创建文件夹01

?(6)? rm

rm 4.txt 删除文件 (删除文件时,需要确认,输入y, 代表确定)

?注意:

在执行Linux命令时,提示信息如果显示为乱码,如上图所示。这是由于编码问题导致,只需要
修改Linux的编码即可,命令如下:?

echo 'LANG="en_US.UTF-8"' >> /etc/profile

source /etc/profile

6.??Linux命令使用技巧

(1)? Tab键自动补全
(2)? 连续两次Tab键,给出操作提示
(3)? 使用上下箭头快速调出曾经使用过的命令
(4)? 使用clear命令或者Ctrl+l快捷键实现清屏

?

A. 执行指令的时候,对于操作的文件/目录,按一下Tab会自动补全
B. 如果上述以 "1." 开头的文件有多个,可以按两下Tab键,给出操作提示
C. 使用clear命令或者Ctrl+l快捷键实现清屏

7.?Linux命令格式

command [-options] [parameter]

说明:
     command: 命令名
     [-options]: 选项,可用来对命令进行控制,也可以省略
     [parameter]: 传给命令的参数,可以是零个、一个或者多个

注意:
     [] 代表可选
     命令名、选项、参数之间有空格进行分隔

8.?文件目录操作命令

(1)ls

作用: 显示指定目录下的内容

语法: ls [-al] [dir]

说明:
     -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
     -l 除文件名称外,同时将文件型态(d表示目录,-表示文件)、权限、拥有者、
                                                      文件大小等信息详细列出

注意:
     由于我们使用ls命令时经常需要加入-l选项,所以Linux为ls -l命令提供了一种简写方式,即ll

常见用法:
         ls -al 查看当前目录的所有文件及目录详细信息
         ls -al /etc 查看/etc目录下所有文件及目录详细信息
         ll 查看当前目录文件及目录的详细信息

(2)cd

作用: 用于切换当前工作目录,即进入指定目录

语法: cd [dirName]

特殊说明:
          ~ 表示用户的home目录
          . 表示目前所在的目录
          .. 表示目前目录位置的上级目录

举例:
      cd .. 切换到当前目录的上级目录
      cd ~ 切换到用户的home目录
      cd /usr/local 切换到/usr/local目录

备注:
     用户的home目录:
                   root用户 /root
                   其他用户 /home/xxx

(3)cat

作用: 用于显示文件内容

语法: cat [-n] fileName

说明:
     -n: 由1开始对所有输出的行数编号

举例:
     cat /etc/profile 查看/etc目录下的profile文件内容

cat 指令会一次性查看文件的所有内容,如果文件内容比较多,这个时候查看起来就不是很方便了,这个时候我们可以通过一个新的指令more。

(4)more

作用: 以分页的形式显示文件内容

语法: more fileName

操作说明:
        回车键 向下滚动一行
        空格键 向下滚动一屏
        b 返回上一屏
        q或者Ctrl+C 退出more

举例:
     more /etc/profile 以分页方式显示/etc目录下的profile文件内容

当我们在查看一些比较大的文件时,我们可能需要经常查询文件尾部的数据信息,那这个时候如果文件很大,我们要一直向下翻页,直到最后一页,去看最新添加的数据,这种方式就比较繁琐了,此时,我们可以借助于tail指令。

?(5)tail

作用: 查看文件末尾的内容

语法: tail [-f] fileName

说明:
     -f : 动态读取文件末尾内容并显示,通常用于日志文件的内容输出

举例:
     tail /etc/profile 显示/etc目录下的profile文件末尾10行的内容
     tail -20 /etc/profile 显示/etc目录下的profile文件末尾20行的内容
     tail -f /itcast/my.log 动态读取/itcast目录下的my.log文件末尾内容并显示

在窗口1中执行指令 tail -f 1.txt 动态查看文件尾部的数据。然后在顶部的标签中右键选择
"复制标签",打开新的窗口2 , 此时再新打开的窗口2中执行指令 echo 1 >> 1.txt , 往1.txt
文件尾部追加内容,然后我们就可以在窗口1中看到最新的文件尾部的数据。
如果我们不想查看文件尾部的数据了,可以直接使用快捷键 Ctrl+C , 结束当前进程。

(6)mkdir

作用: 创建目录

语法: mkdir [-p] dirName

说明:
     -p: 确保目录名称存在,不存在的就创建一个。通过此选项,可以实现多层目录同时创建

举例:
     mkdir itcast 在当前目录下,建立一个名为itcast的子目录
     mkdir -p itcast/test 在工作目录下的itcast目录中建立一个名为test的子目录,
                                              若itcast目录不存在,则建立一个

(7)?rmdir

作用: 删除空目录

语法: rmdir [-p] dirName

说明:
     -p: 当子目录被删除后使父目录为空目录的话,则一并删除

举例:
     rmdir itcast 删除名为itcast的空目录
     rmdir -p itcast/test 删除itcast目录中名为test的子目录,若test目录删除后itcast目录
                                                               变为空目录,则也被删除
     rmdir itcast* 删除名称以itcast开始的空目录

(8)rm

作用: 删除文件或者目录

语法: rm [-rf] name

说明:
     -r: 将目录及目录中所有文件(目录)逐一删除,即递归删除
     -f: 无需确认,直接删除

举例:
     rm -r itcast/ 删除名为itcast的目录和目录中所有文件,删除前需确认
     rm -rf itcast/ 无需确认,直接删除名为itcast的目录和目录中所有文件
     rm -f hello.txt 无需确认,直接删除hello.txt文件

注意:

? ? ?对于 rm -rf xxx 这样的指令,在执行的时候,一定要慎重,确认无误后再进行删除,避免误删。

9. 拷贝移动命令

(1)cp

作用: 用于复制文件或目录

语法: cp [-r] source dest

说明:
     -r: 如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件

举例:
     cp hello.txt itcast/ 将hello.txt复制到itcast目录中
     cp hello.txt ./hi.txt 将hello.txt复制到当前目录,并改名为hi.txt
     cp -r itcast/ ./itheima/ 将itcast目录和目录下所有文件复制到itheima目录下
     cp -r itcast/* ./itheima/ 将itcast目录下所有文件复制到itheima目录下

(2)mv

作用: 为文件或目录改名、或将文件或目录移动到其它位置

语法: mv source dest

举例:
     mv hello.txt hi.txt 将hello.txt改名为hi.txt
     mv hi.txt itheima/ 将文件hi.txt移动到itheima目录中
     mv hi.txt itheima/hello.txt 将hi.txt移动到itheima目录中,并改名为hello.txt
     mv itcast/ itheima/ 如果itheima目录不存在,将itcast目录改名为itheima
     mv itcast/ itheima/ 如果itheima目录存在,将itcast目录移动到itheima目录中

mv 命令既能够改名,又可以移动,具体是改名还是移动,系统会根据我们输入的参数进行判定(如果第二个参数dest是一个已存在的目录,将执行移动操作,其他情况都是改名)

10.?打包压缩命令

作用: 对文件进行打包、解包、压缩、解压

语法: tar [-zcxvf] fileName [files]
      包文件后缀为.tar表示只是完成了打包,并没有压缩
      包文件后缀为.tar.gz表示打包的同时还进行了压缩

说明:
     -z: z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压
     -c: c代表的是create,即创建新的包文件
     -x: x代表的是extract,实现从包文件中还原文件
     -v: v代表的是verbose,显示命令的执行过程
     -f: f代表的是file,用于指定包文件的名称

举例:
    打包
       tar -cvf hello.tar ./* 将当前目录下所有文件打包,打包后的文件名为hello.tar
       tar -zcvf hello.tar.gz ./* 将当前目录下所有文件打包并压缩,打包后的文件名hello.tar.gz
    解包
       tar -xvf hello.tar 将hello.tar文件进行解包,并将解包后的文件放在当前目录
       tar -zxvf hello.tar.gz 将hello.tar.gz文件进行解压,并将解压后的文件放在当前目录
       tar -zxvf hello.tar.gz -C /usr/local 将hello.tar.gz文件进行解压,并将解压
                                                                 后的文件放在/usr/local目录

11.?文本编辑命令

文本编辑的命令,主要包含两个: vi 和 vim,两个命令的用法类似,我们课程中主要讲解vim的使
用。

(1)vi&vim介绍

作用: vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于? ? ? ? ? ? ? ? ? ?Windows中的记事本

语法: vi fileName

说明:?
? ? ? ?1). vim是从vi发展来的一个功能更加强大的文本编辑工具,编辑文件时可以对文本内容进行着色,方便我们对文件进行编辑处理,所以实际工作中vim更加常用。
? ? ? 2). 要使用vim命令,需要我们自己完成安装。可以使用下面的命令来完成安装: yum install vim

(2)vim安装

命令: yum install vim

安装过程中,会有确认提示,此时输入 y,然后回车,继续安装:

?(3)vim使用

作用: 对文件内容进行编辑,vim其实就是一个文本编辑器

语法: vim fileName

说明:?
? ? ? ?1). 在使用vim命令编辑文件时,如果指定的文件存在则直接打开此文件。如果指定的文件不存在则新建文件。
? ? ? ?2). vim在进行文本编辑时共分为三种模式,分别是 命令模式(Command mode),插入模式(Insert mode)和底行模式(Last line mode)。这三种模式之间可以相互切换。我们在使用vim时一定要注意我们当前所处的是哪种模式。

三种模式:?

命令模式
? ? ? ? ? ? ? ?A. 命令模式下可以查看文件内容、移动光标(上下左右箭头、gg、G)
? ? ? ? ? ? ? ?B. 通过vim命令打开文件后,默认进入命令模式
? ? ? ? ? ? ? ?C. 另外两种模式需要首先进入命令模式,才能进入彼此?

插入模式
? ? ? ? ? ? ? ?A. 插入模式下可以对文件内容进行编辑
? ? ? ? ? ? ? ?B. 在命令模式下按下[i,a,o]任意一个,可以进入插入模式。进入插入模式后,下方会出现【insert】字样
? ? ? ? ? ? ? C. 在插入模式下按下ESC键,回到命令模式

底行模式
? ? ? ? ? ? ? ?A. 底行模式下可以通过命令对文件内容进行查找、显示行号、退出等操作
? ? ? ? ? ? ? ?B. 在命令模式下按下[:,/]任意一个,可以进入底行模式
? ? ? ? ? ? ? ?C. 通过/方式进入底行模式后,可以对文件内容进行查找
? ? ? ? ? ? ? ?D. 通过:方式进入底行模式后,可以输入wq(保存并退出)、q!(不保存退出)、set nu(显示行号)

?

12.?查找命令

(1)find

作用: 在指定目录下查找文件

语法: find dirName -option fileName

举例:
     find . –name "*.java" 在当前目录及其子目录下查找.java结尾文件
     find /itcast -name "*.java" 在/itcast目录及其子目录下查找.java结尾的文件

(2)grep

作用: 从指定文件中查找指定的文本内容

语法: grep word fileName

举例:
     grep Hello HelloWorld.java 查找HelloWorld.java文件中出现的Hello字符串的位置
     grep hello *.java 查找当前目录中所有.java结尾的文件中包含hello字符串的位置

二、Linux软件安装

1.?软件安装方式

?2. 基于二进制包安装JDK

(1)?上传安装包

使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linux

由于上述在进行文件上传时,选择的上传目录为根目录 /,上传完毕后,我们执行指令 cd / 切换到
根目录下,查看上传的安装包。

(2)?解压安装包

执行如下指令,将上传上来的压缩包进行解压,并通过-C参数指定解压文件存放目录为/usr/local。

tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local

(3)配置环境变量

使用vim命令修改/etc/profile文件,在文件末尾加入如下配置

JAVA_HOME=/usr/local/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$PATH

1). 编辑/etc/profile文件,进入命令模式
vim /etc/profile
2). 在命令模式中,输入指令 G , 切换到文件最后
G
3). 在命令模式中输入 i/a/o 进入插入模式,然后切换到文件最后一行
i
4). 将上述的配置拷贝到文件中
JAVA_HOME=/usr/local/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$PATH
5). 从插入模式,切换到指令模式
ESC
6). 按:进入底行模式,然后输入wq,回车保存
:wq?

(4)?重新加载profile文件

为了使更改的配置立即生效,需要重新加载profile文件,执行命令:?

source /etc/profile

(5) 检查安装是否成功

java -version


?

3. 基于二进制包安装Tomcat

?(1)?上传安装包

使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linux

由于上述在进行文件上传时,选择的上传目录为根目录 /,上传完毕后,我们执行指令 cd / 切换到
根目录下,查看上传的安装包。

(2)?解压安装包

将上传上来的安装包解压到指定目录/usr/local下,执行命令为

tar -zxvf apache-tomcat-7.0.57.tar.gz -C /usr/local

(3)??启动Tomcat

进入Tomcat的bin目录启动服务。执行命令为:

cd /usr/local/apache-tomcat-7.0.57/
cd bin
sh startup.sh或者./startup.sh

(4)Tomcat进程查看

上述我们将Tomcat启动完成之后,并不能知道Tomcat是否正常运行,那么我们验证Tomcat启动是否成功,有多种方式,我们这里主要介绍常见的两种方式:

1). 查看启动日志
Tomcat的启动日志输出在Tomcat的安装目录下的logs目录中,Tomcat的启动及运行日志文件名为
catalina.out,所以我们查看Tomcat启动日志,主要可以通过两条指令,如下:

1). 分页查询Tomcat的日志信息
    more /usr/local/apache-tomcat-7.0.57/logs/catalina.out

2). 查询日志文件尾部的50行记录
   tail -50 /usr/local/apache-tomcat-7.0.57/logs/catalina.out

?只要Tomcat在启动的过程中,日志输出没有报错,基本可以判定Tomcat启动成功了。

2). 查询系统进程
我们也可以通过Linux系统的查看系统进程的指令,来判定Tomcat进程是否存在,从而判定Tomcat是
否启动。执行如下指令:

ps -ef|grep tomcat

说明:
? ? ? ? ps 命令是linux下非常强大的进程查看命令,通过ps -ef可以查看当前运行的所有进程的详细信息
? ? ? ?"|" 在Linux中称为管道符,可以将前一个命令的结果输出给后一个命令作为输入
? ? ? ?使用ps命令查看进程时,经常配合管道符和查找命令 grep 一起使用,来查看特定进程

(4)防火墙操作

访问地址:http://192.168.138.130:8080,我们发现是访问不到的。

tomcat启动成功了,但就是访问不到,原因就在于Linux系统的防火墙,系统安装完毕后,系统启动时,防火墙自动启动,防火墙拦截了所有端口的访问。
操作防火墙,具体指令如下:
?

注意:
? ? ? ? ?A. systemctl是管理Linux中服务的命令,可以对服务进行启动、停止、重启、查看状态
等操作
? ? ? ? ?B. firewall-cmd是Linux中专门用于控制防火墙的命令
? ? ? ? ?C. 为了保证系统安全,服务器的防火墙不建议关闭?

要想访问到Tomcat,就可以采取两种类型的操作:

?A. 关闭防火墙,关闭之后,再次访问Tomcat,就可以访问到了。

? ? ? 执行指令 :?

 systemctl stop firewalld

B. 开放Tomcat的端口号8080

? ? ? 执行指令:

①. 先开启系统防火墙
systemctl start firewalld

②. 再开放8080端口号
firewall-cmd --zone=public --add-port=8080/tcp --permanent

③. 重新加载防火墙
firewall-cmd --reload

?执行上述的操作之后,就开放了当前系统中的8080端口号,再次访问Tomcat。

(5)停止Tomcat

在Linux系统中,停止Tomcat服务的方式主要有两种:

A. 运行Tomcat提供的脚本文件

在Tomcat安装目录下有一个bin目录,这个目录中存放的是tomcat的运行脚本文件,其中有一个脚本就是用于停止tomcat服务的。我们可以切换到bin目录,并执行如下指令,来停止Tomcat服务:

sh shutdown.sh

./shutdown.sh

B. 结束Tomcat进程

我们可以先通过 ps -ef|grep tomcat 指令查看tomcat进程的信息,从进程信息中获取tomcat
服务的进程号。然后通过kill -9 的形式,来杀死系统进程。

通过上述的指令,我们可以获取到tomcat的进程号为 79947。接下来,我们就可以通过指令 ,来杀死tomcat的进程 :

kill -9 79947

执行完上述指令之后,再访问Linux系统中的Tomcat,就访问不到了。

注意:

? ? ? ? ? kill命令是Linux提供的用于结束进程的命令,-9表示强制结束

? ? ? ?

? ? ? ? ?虽然上述讲解的两种方式,都可以停止Tomcat服务,但是推荐使用第一种方式
(./shutdown.sh)执行脚本来关闭tomcat服务,如果通过第一种方式停止不了tomcat了,这
个时候,我们可以考虑使用第二种方式,强制杀死进程。

4. 通过rpm安装MySQL?

RPM:全称为 Red-Hat Package Manager,RPM软件包管理器,是红帽Linux用于管理和安
装软件的工具。

(1)?检测当前系统是否安装过MySQL相关数据库

需要通过rpm相关指令,来查询当前系统中是否存在已安装的mysql软件包,执行指令如下:

rpm -qa 查询当前系统中安装的所有软件
rpm -qa | grep mysql 查询当前系统中安装的名称带mysql的软件
rpm -qa | grep mariadb 查询当前系统中安装的名称带mariadb的软件

通过rpm -qa 查询到系统通过rpm安装的所有软件,太多了,不方便查看,所以我们可以通过管道符 | 配合着grep进行过滤查询。

通过查询,我们发现在当前系统中存在mariadb数据库,是CentOS7中自带的,而这个数据库和
MySQL数据库是冲突的,所以要想保证MySQL成功安装,需要卸载mariadb数据库。

(2)?卸载现有的MySQL数据库

在rpm中,卸载软件的语法为:rpm -e --nodeps? 软件名称

通过指令,卸载 mariadb,具体指令为:

rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64


执行完毕之后, 再次查询 mariadb,就查不到了,因为已经被成功卸载了。

(3)?将MySQL安装包上传到Linux并解压

A. 上传MySQL安装包,将该安装包上传到Linux系统的根目录 / 下面。

B. 解压到/usr/local/mysql

? ? ?执行如下指令:

mkdir /usr/local/mysql
tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz -C /usr/local/mysql

(4)?按顺序安装rpm安装包

rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
yum install net-tools
rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm

说明:
? ? ? ? 因为rpm安装方式,是不会自动处理依赖关系的,需要我们自己处理,所以对于上面的rpm包的安装顺序不能随意修改。
? ? ? ?安装过程中提示缺少net-tools依赖,使用yum安装(yum是一种在线安装方式,需要保证
联网)

? ? ? ? 可以通过指令(yum update)升级现有软件及系统内核?

(5)MySQL启动

MySQL安装完成之后,会自动注册为系统的服务,服务名为mysqld。那么,我们就可以通过
systemctl指令来查看mysql的状态、启动mysql、停止mysql。

systemctl status mysqld 查看mysql服务状态
systemctl start mysqld 启动mysql服务
systemctl stop mysqld 停止mysql服务

说明:
? ? ? ? ?可以设置开机时启动mysql服务,避免每次开机启动mysql。执行如下指令:
systemctl enable mysqld?

可以通过如下两种方式,来判定mysql是否启动:

netstat -tunlp 查看已经启动的服务
netstat -tunlp | grep mysql 查看mysql的服务信息
ps –ef | grep mysql 查看mysql进程

(6) MySQL登录

A.??查阅临时密码

MySQL启动起来之后,我们就可以测试一下登录操作,但是我们要想登录MySQL,需要一个访问密码,而刚才在安装MySQL的过程中,并没有看到让我们设置访问密码,那这个访问密码是多少呢?

那实际上,对于rpm安装的mysql,在mysql第一次启动时,会自动帮我们生成root用户的访问密码,并且输出在mysql的日志文件 /var/log/mysqld.log中,我们可以查看这份日志文件,从而获取到访问密码。

可以执行如下指令:

?cat /var/log/mysqld.log

这种方式,可以看到所有的日志数据,文件比较大时,很不方便查看数据。我们可以通过管道符 | 配合grep来对数据进行过滤。

通过以下指令,查询日志文件内容中包含password的行信息。

cat /var/log/mysqld.log | grep password

B. 登录MySQL

获取到root用户的临时密码之后,我们就可以登录mysql数据库,修改root的密码,为root设置一个
新的密码。并且我们还需要开启root用户远程访问该数据库的权限,这样的话,我们就可以在
windows上来访问这台MySQL数据库。

执行如下指令:

①. 登录mysql(复制日志中的临时密码登录)
   mysql -uroot -p

②. 修改密码
   set global validate_password_length=4; 设置密码长度最低位数
   set global validate_password_policy=LOW; 设置密码安全等级低,便于密码可以修改成root
   set password = password('root'); 设置密码为root

③. 开启访问权限
   grant all on *.* to 'root'@'%' identified by 'root';
   flush privileges;

操作完上述的指令之后,数据库root用户的密码以及远程访问我们就配置好了,接下来,可以执行
exit退出mysql,再次通过新的密码进行登录。

也可以使用安装在windows系统中的sqlyog或者Navicat来远程连接linux上的MySQL。

注意: 要想在windows上能够访问MySQL,还需要开放防火墙的3306端口,执行如下指令:

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

5. 基于二进制包安装redis

(1)下载Redis,并上传到服务器(放在opt下)

Redis官网:https://redis.io/

历史版本:http://download.redis.io/releases

(2)对Redis文件进行解压

tar zxvf redis-7.0.5.tar.gz 

(3)进入redis目录下,安装gcc

cd redis-3.2.1

Redis是基于c语言编写的需要安装依赖,需要安装gcc

yum install gcc-c++

查看gcc版本:?

 gcc -v

输入make命令配置Gcc需要的文件?:

make

再次进行make:?

make

make install确认所有都安装完成:?

make install

redis默认安装路径:/usr/local/bin?

(4)将redis配置文件复制到bin目录下

(先新建文件夹然后再将redis配置文件coyp进去)?

将配置文件复制一份,以后用这个配置文件来启动。

mkdir redisconfig

cp /opt/redis-7.0.5/redis.conf redisconfig

(4)redis默认不是后台启动,更改启动方式

有关redis配置文件的一些说明:

然后修改redis.conf文件中的一些配置

# 允许访问的地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问,生产环境不要设置为0.0.0.0
bind 0.0.0.0
# 守护进程,修改为yes后即可后台运行
daemonize yes?
# 密码,设置后访问Redis必须输入密码
requirepass 123321

?Redis的其它常见配置:

# 监听的端口
port 6379
# 工作目录,默认是当前目录,也就是运行redis-server时的命令,日志、持久化等文件会保存在这个目录
dir .
# 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15
databases 1
# 设置redis能够使用的最大内存
maxmemory 512mb
# 日志文件,默认为空,不记录日志,可以指定日志文件名
logfile "redis.log"

vim redis.conf

?

(5)?启动redis-server服务

通过指定配置文件启动服务

redis-server redisconfig/redis.conf

?(6)使用redis-cli连接测试

redis-cli -p 6379

(7)查看redis的进程是否开启?(新开一个窗口)

ps -ef|grep redis

(8)关闭redis服务?

shutdown

再次查看服务:

(9)设置Redis开机自启动?

首先,新建一个系统服务文件:

vi /etc/systemd/system/redis.service

内容如下:

最重要的是:ExecStart=/usr/local/bin/redis-server /usr/local/bin/redisconfig/redis.conf这个,这里指定了redis-server的配置文件

根据配置文件的不同这里的名字也是不同的

[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/bin/redisconfig/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

?然后重载系统服务:

systemctl daemon-reload

现在,我们可以用下面这组命令来操作redis了:

# 启动
systemctl start redis
# 停止
systemctl stop redis
# 重启
systemctl restart redis
# 查看状态
systemctl status redis

执行下面的命令,可以让redis开机自启:?

systemctl enable redis

(10)开启redis端口防火墙允许远程连接

A.查看防火墙状态

在Linux系统中,可以使用以下命令来查看防火墙状态:

sudo systemctl status firewalld

如果输出结果中显示firewalld服务已经启动,则说明防火墙处于开启状态。

B.添加Redis端口规则

在Linux系统中,可以使用以下命令添加Redis的端口规则:

sudo firewall-cmd --zone=public --add-port=6379/tcp --permanent

其中,6379是Redis默认监听的端口号。–zone指定了添加规则的区域,–add-port指定要开放的端口号和协议类型(tcp或udp),–permanent表示该规则将持久化保存。

C.重新加载防火墙配置

执行完上述命令后,需要重新加载防火墙配置才能生效:

sudo firewall-cmd --reload

D.验证是否成功

sudo firewall-cmd --list-ports

执行命令来查看当前开放的端口列表。如果6379出现在列表中,则说明已经成功添加Redis端口规则并且防火墙已经允许该端口进行通信。

(11)性能测试?

redis 性能测试的基本命令如下:

redis-benchmark [option] [option value]

序号?? ?选项? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?描述? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?默认值
1? ? ? ? ? -h? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?指定服务器主机名? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 127.0.0.1
2? ? ? ? ? -p? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 指定服务器端口? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 6379
3? ? ? ? ? -s? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?指定服务器? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?socket??
4? ? ? ? ? -c? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?指定并发连接数? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?50
5? ? ? ? ? -n? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 指定请求数? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 10000
6? ? ? ? ? -d? ? ? ? ? ? ? ? ? ? ? ? ? 以字节的形式指定 SET/GET 值的数据大小? ? ? ? ? ? ? ? ? ? ? ? ? ? 2
7? ? ? ? ? -k? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1=keep alive 0=reconnect? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1
8? ? ? ? ? -r? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?SET/GET/INCR 使用随机 key, SADD 使用随机值?? ?
9? ? ? ? ?-P? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?通过管道传输 请求? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1
10? ? ? ?-q? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?强制退出 redis。 仅显示 query/sec 值?? ?
11? ? ? –csv? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?以 CSV 格式输出?? ?
12? ? ? ?*-l*? ? (L 的小写字母)? ? ? ? ?生成循环,永久执行测试?? ?
13? ? ? ? -t? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 仅运行以逗号分隔的测试命令列表。?? ?
14? ? ? ?*-I*? ?(i 的大写字母)? ? ? ? ? ? Idle 模式。仅打开 N 个 idle 连接并等待。
?

测试100个并发链接,每个并发100000请求?

redis-benchmark -h localhost -p 6379 -c 100 -n 100000

6.? 通过yum安装lrzsz

? ? ? ?lrzsz 是用于在Linux系统中文件上传下载的软件。大家可能会存在疑问,我们用finalShell图形化界面就可以很方便的完成上传下载,为什么还要使用这个软件来完成上传下载呢?实际上是这样的,Linux的远程连接工具有很多,而finalShell只是其中的一种,而还有很多的远程连接工具并没有上传下载的功能,这个时候就需要依赖于lrzsz这个软件了。

? ? ? ?Yum: (Yellow dog Updater,Modified),是一个在Fedora和RedHat以及CentOS中的
Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。?

安装lrzsz的步骤如下:

(1)?搜索lrzsz安装包

yum list lrzsz

(2)?在线安装lrzsz

yum install lrzsz.x86_64



(3)?测试

在命令行中输入 rz , 就会自动打开一个文件选择的窗口,然后选择要上传的文件。

?

yum拓展知识:

?A. 如果在不更改软件来源的情况下,是需要联网才能使用yum的,那么我们安装的软件是从哪儿下载的呢,这里就涉及到一个概念: yum源。

?B. 我们可以通过一个指令,来检查当前的yum源

从图中,我们可以看到我们安装的 CentOS7 采用的是网易的163yum源。

C. 网络 yum 源配置文件位于 /etc/yum.repos.d/ 目录下,文件扩展名为"*.repo"

?可以看到,该目录下有 7 个 yum 配置文件,通常情况下 CentOS-Base.repo文件生效。

D. 添加阿里云yum源

(1) 先通过 yum install wget ,安装wget命令
(2) 备份默认的网易163的yum源,执行指令 :
? ? ? ? 切换目录: cd /etc/yum.repos.d/
? ? ? ? 创建备份目录: mkdir bak
? ? ? ? 移动现有的yum源文件到bak: mv *.repo bak/
(3) 下载阿里云的yum源
? ? ? ?wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.a
liyun.com/repo/Centos-7.repo
(4) 执行命令,重新生成cache
? ? ? ? yum clean all
? ? ? ?yum makecache
(5) 再次查看yum源

?之后,我们通过yum指令安装软件,就是从阿里云下载的。

三、项目部署

1. 手动部署项目

(1)?在IDEA中开发SpringBoot项目并打成jar包

执行package指令,进行打包操作,将当前的springboot项目,打成一个jar包。

(2)?将jar包上传到Linux服务器

通过 rz 指令,将打好的jar包上传至Linux服务器的 /usr/local/app 目录下。 先执行指令创建app目录。

A. 在/usr/local下创建目录app
   mkdir /usr/local/app

B. 切换到app目录下
   cd /usr/local/app

C. 执行指令,进行jar包上传
   rz


?此时这个jar包就上传到 /usr/local/app 目录了。

(3)?启动SpringBoot程序

由于我们的项目已经打成jar包上传上来到Linux服务器,我们只需要运行这个jar包项目就启动起来了,所以只需要执行如下指令即可:

java -jar helloworld-1.0-SNAPSHOT.jar


?

注意:

? ? ? ? ?由于前面安装的Tomcat在启动时,会占用端口号8080,而当前springboot项目我们没有配置端口号,默认也是8080,所以我们要想启动springboot项目,需要把之前运行的Tomcat停止掉。

(4)?检查防火墙,确保8080端口对外开放,访问SpringBoot项目?

如果防火墙没有放开8080端口,还需要放开对应的端口号,执行如下指令:

firewall-cmd --zone=public --add-port=8080/tcp --permanent

(5)访问测试

(6)?后台运行项目

目前程序运行的问题:
A. 线上程序不会采用控制台霸屏的形式运行程序,而是将程序在后台运行
B. 线上程序不会将日志输出到控制台,而是输出到日志文件,方便运维查阅信息

后台运行程序:

nohup命令:

? ? ? ? ? ? ? ? ? ? 英文全称 no hang up(不挂起),用于不挂断地运行指定命令,退出终端不会
影响程序的运行

语法格式: nohup Command [ Arg … ] [&]

参数说明:
? ? ? ? ? ? ? ? Command:要执行的命令
? ? ? ? ? ? ? ? Arg:一些参数,可以指定输出文件
? ? ? ? ? ? ? ? &:让命令在后台运行

举例:
? ? ? ? ?nohup java -jar boot工程.jar &> hello.log &

上述指令的含义为: 后台运行 java -jar 命令,并将日志输出到hello.log文件

可以使用下面的指令,让当前部署的项目后台运行:

nohup java -jar helloworld-1.0-SNAPSHOT.jar &> hello.log &


?这样的话,我们的项目就已经启动成功了,我们可以通过ps指令,查看到系统的进程。

再次访问我们的项目,来看看服务是否可用。
?

(7)?停止SpringBoot项目

ps -ef | grep java       查询Java进程

kill -9 45199            杀死该进程

文章来源:https://blog.csdn.net/qq_53464269/article/details/134928524
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。