文章目录

  • 1、课程介绍
  • 2、为什么需要Linux
  • 3、Linux简介
    • 3.1、什么事Linux
    • 3.2、Linux优点
    • 3.3、常见的Linux系统
    • 3.4、小结
  • 4、虚拟机安装
    • 4.1、引入
    • 4.2、常见的虚拟机软件
    • 4.3、安装vmware
    • 4.4、vmware常用操作
      • 4.4.1、全局配置虚拟机(Linux系统)存储位置
      • 4.4.2、虚拟机操作
  • 5、CentOS安装
    • 5.1、CentOS是什么
    • 5.2、配置虚拟裸机
    • 5.3、CentOS7系统安装过程
    • 5.4、安装完成后配置
      • 5.4.1、备份系统
      • 5.4.2、网络介绍
  • 6、命令执行方式
    • 6.1、引入
    • 6.2、本地终端
      • 6.2.1、打开本地终端
      • 6.2.2、简单使用
    • 6.3、远程访问Linux
      • 6.3.1、引入
      • 6.3.2、SSH服务端的验证
      • 6.3.3、SSH客户端的安装
      • 6.3.4、CentOS防火墙操作
  • 7、Linux命令
    • 7.1、常用命令
    • 7.2、文件相关命令
      • 7.2.1、文件系统
      • 7.2.2、目录相关命令
      • 7.2.3、文件相关命令
      • 7.2.4、查看端口
        • 1、查看端口占用情况:
        • 2、杀死端口所占用的进程
  • 8、CentOS中软件安装
    • 8.1、解压源码包文件安装
    • 8.2、RPM安装
    • 8.3、yum在线安装
    • 8.4、安装JDK
  • 9、安装MySQL
    • 9.1、MySQL卸载
    • 9.2、安装MySQL
    • 9.3、MySQL编码集设置
    • 9.4、增加MySQL远程登录权限
    • 9.5、关闭防火墙
  • 10、安装Tomcat
    • 10.1、准备安装包
    • 10.2、开启服务和关闭服务:
    • 10.3、解压
    • 10.4、部署
  • 11、部署项目
  • 12、资源下载地址
  • 13、总结

1、课程介绍

  1. Linux简介(了解)
  2. 虚拟机软件(掌握)
  3. CentOS安装(掌握)
  4. Linux常用命令命令(掌握)
  5. Linux中安装常用软件(掌握)

2、为什么需要Linux

  1. 程序开发完成之后需要部署到服务器,这样用户才能通过服务器访问到我们的程序
  2. 而在当今主流的三大系统(windows、linux、macOS)中,linux常被当成硬件服务器来使用
  3. Linux无需消耗其他资源维护大量UI界面,所以性能好很多,windows需要消耗资源维护UI界面
  4. Linux系统比windows系统更加稳定和安全

3、Linux简介

3.1、什么事Linux

和windows操作系统类似,Linux是一套性能稳定多用户网络操作系统

3.2、Linux优点

  1. 源代码开放:任何人都可以获取到Linux源代码探索学习
  2. 稳定性和高效性:你也许会听到Windows服务器长时间运行而突然宕机,但你绝不会听到Linux系统服务器因为长时间不关机会卡死,在Linux上几乎是不会出现这种情况的。Linux服务器可以无休止的运行下去不宕机,甚至一两年不重启,因为它继承了Unix卓越的稳定性和高效性
  3. 可靠的安全性、稳定性能:其安全性相比其他系统也要安全很多,基本不需要安装杀毒软件
  4. 多用户多任务:Linux系统同时可以支持多个用户,每个用户对自己的文件设备有特殊的权利,能够保证各用户之间互不干扰。当硬件配置非常高时,每个用户还可以同时执行多个任务、多个线程同时工作、提高效率,简直是完美的一塌糊涂,单凭多用户而言就完爆其他操作系统
  5. 对硬件配置要求低:最低128M内存就可以运行

3.3、常见的Linux系统

1、rpm系(使用Red Hat(红帽子)的软件库管理系统):

(1) Redhat 红帽,收费,技术支持强大,资料完善,系统稳定安全;

(2) Fedora 被红帽赞助,适合个人使用,免费;

(3) Centos 被红帽收购,免费,系统稳定安全,很多公司在用;

2、dpkg系 (package manager for Debian):

(1) Debian 很多公司在用,基于ubuntu(乌班图);

(2) Ubuntu 基于debian的发行版,比较最受欢迎的免费操作系统,界面强大。比较适合个人用户;

(3) Pear os 基于Ubuntu,仿macos;

3、国产linux系统:

(1) 红旗Linux,真正的国产linux系统,2014年公司解散后被收购

3.4、小结

  1. Linux是一个操作系统,有很多发行版本;
  2. 服务器:centos、redhat、Ubuntu等;

4、虚拟机安装

4.1、引入

  • Linux需要在一台电脑上进行安装,获得一台电脑的方式有很多,比如网上或者实体店购买
  • 当然现在有了更加便宜的解决方案,那就是借助虚拟机软件,使用虚拟机软件可以模拟出计算机,从而可以在上面安装任何的操作系统,大大节约了成本

4.2、常见的虚拟机软件

  1. vmware:虚拟机软件中的NO.1,特点:模拟完善、有商业授权、收费软件(序列号),内存大
  2. virtualbox:原来的sun公司,现属于Oracle,免费开源,更新及时,体积小,内存优化,兼容性不是特别好
  3. virtual PC 微软的免费产品:仅支持windows系统(微软官方说只支持windows,其实别的系统也可以安装)现已停止更新
  4. Hyper:微软最新的虚拟机软件;

4.3、安装vmware

双击【VMware-workstation-full-10.0.0-1295980.exe】文件,安装即可:

选择自定义:

注意,这里的安装目录不要选择C盘,选择其他空间大点点盘,路径不要带中文,然后下一步:

这里的共享虚拟机存储路径需要选择一个非C盘,非中文目录的路径。下面的端口是443,如果你本地安装了SVN的话,那可能会冲突,那就修改成其他端口即可。

然后下一步:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q8rVMLLH-1673165466128)(https://gitee.com/xiaochen1106/MyImages/raw/master/java/202301081607789.png)]

等待几分钟之后,就会弹出下面界面需要你输入密钥了:

打开课件里面的【密钥.txt】文件,拷贝密钥出来粘贴进去即可:

点击【输入】即可:

安装成功后桌面出现下面图标:

那么怎么验证我们安装成功呢?

打开本地网络链接:

如果出现两个VMware的网络的话,那就是安装成功了,没有这个的话,到时候是无法和虚拟机中的系统进行通信的。

可能出现的问题:安装完成后不能看到屏幕,即红蜘蛛控屏出现问题;

分析原因:红蜘蛛客户端使用了vmware的虚拟网卡作为网卡了,而该网卡的Ip和教师机不在同一网段;

解决方法:

  1. 重新启动红蜘蛛客户端
  2. 先把VMware的两个虚拟网卡禁用,再启动红蜘蛛客户端

4.4、vmware常用操作

4.4.1、全局配置虚拟机(Linux系统)存储位置

1、vmware是一个虚拟机软件,在Vmware上可以新建不同的虚拟机,而虚拟机是作为宿主机的一个文件而存在的,默认Vmware是安装在C盘,而虚拟机又安装在vmware目录下面的,也就是说虚拟机是在系统盘(C盘),如果宿主机重新安装系统,会导致C盘被格式化,就会让已经安装好的虚拟机被格式化了。所以需要修改虚拟机存储位置,来规避这个问题;

2、修改虚拟机的默认位置(也可以在安装时修改):编辑 -> 首选项

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vLAapZbk-1673165466133)(https://gitee.com/xiaochen1106/MyImages/raw/master/java/202301081607798.png)]

4.4.2、虚拟机操作

1、创建虚拟机

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BTx106hO-1673165466134)(https://gitee.com/xiaochen1106/MyImages/raw/master/java/202301081607799.png)]

2、导入导出:可以把已经安装好的虚拟机导出,以后需要时再导入

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wAhEnaFt-1673165466134)(https://gitee.com/xiaochen1106/MyImages/raw/master/java/202301081607800.png)]

3、备份还原

注意:初学者配置快照非常重要,如果Linux中软件安装失败了,可以恢复到指定的快照版本再来一次,否则删除不干净需要重新安装Linux,非常麻烦;

5、CentOS安装

5.1、CentOS是什么

  1. CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版(红帽子)之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件;
  2. CentOS就是一个红帽系列的开源免费的可以用做服务器的Linux系统;
  3. 此系统需要在wmware(虚拟机软件)中先新建一个虚拟机,然后再虚拟机中安装CentOS

5.2、配置虚拟裸机

打开我们的虚拟机:

我们开始新建虚拟机:

选择自定义即可:

这一步不用改什么,直接下一步:

选择稍候安装操作系统

这里选择Linux和CentOS 64位,因为给大家准备的镜像文件是CentOS 64位的

这里给虚拟机取个名字,容纳后指定一个位置即可:

这里我为虚拟机分配了4个G的内存,根据你电脑实际内存去分配

默认下一步即可:

这里选择单个文件,磁盘大小我分配了20G,根据实际情况分配即可(必须大于9G):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mTFzvO8F-1673165466140)(https://gitee.com/xiaochen1106/MyImages/raw/master/java/202301081607817.png)]

此处,点击【自定义硬件】,将不需要的全部移除,像打印机、声卡、USB等去掉:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1sfUkubl-1673165466141)(https://gitee.com/xiaochen1106/MyImages/raw/master/java/202301081607818.png)]

然后点击关闭

最后虚拟机新建完的效果如下:

5.3、CentOS7系统安装过程

选择第一个即可

安装需要等待一会,如果静止不动了点话,按回车即可,鼠标移不出来的了的话,按Alt+Ctrl即可将鼠标移出来

等一会之后就会出现如下界面:

这里我们选择中文即可:

点击继续:

软件选择:默认是最小安装的,这里可以选择带有桌面的选择这种模式,选择图示:

安装位置,选择如下:

KDUMP选择如下:不用勾

点击【网络和主机名】:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m5fc0MUT-1673165466144)(https://gitee.com/xiaochen1106/MyImages/raw/master/java/202301081607829.png)]

点击完成

到此就全部设置完毕了,点击【开始安装】

点击【ROOT密码】,然后设置超级管理员密码即可:

我这里设置的是123456,自己设置的记住就可以了:

等一段时间安装完成之后就是如下界面:

点击【重启】即可

选择第一个,等会后出现下面界面:

点击第一项,需要勾选统一许可:

然后点击【完成配置】,等会后出现下面界面:

直接点击【前进】

继续点击【前进】

点击【前进】

不管,直接点击【前进】

不选择,直接点击【跳过】

这里可以输入你的名字,然后点击【前进】

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xmt0pOqK-1673165466150)(https://gitee.com/xiaochen1106/MyImages/raw/master/java/202301081607844.png)]

我这里设置的是:itsource123456,然后点击【前进】

设置完毕:

5.4、安装完成后配置

5.4.1、备份系统

5.4.2、网络介绍

我们这里介绍vmware给我们提供的3中模式,它们分别是:

  1. Nat网络地址转换模式
  2. Bridged Adapter 桥接模式
  3. Host-only Adapter 主机模式

1、Nat网络地址转换模式

(1) 只能单向访问,虚拟机可以通过网络访问到宿主机,宿主机无法通过网络访问到虚拟机;

(2) 如果linux上的ip地址是自动获取的,是可以通过宿主机访问虚拟机的,但是要保证linux的ip地址网段和宿主机的虚拟网卡的网段一致;

(3) 只要宿主机可以联网,那么虚拟机就可以联网,因为net方式联网是依靠宿主机的ip;

(4) Net方式的ip地址是由虚拟网卡分配的;

2、Bridged Adapter 桥接模式

(1) 可以相互访问,因为虚拟机在真实网络段中有独立IP,主机与虚拟机处于同一网络段中,彼此可以通过各自IP相互访问

(2) 桥接模式的ip地址是由路由器分配的;如果宿主机能联网,虚拟机不一定能联网,如果宿主机不能联网,虚拟机也可以联网;

3、Host-only Adapter 主机模式

Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯

通过上图,我们可以发现,如果要使得虚拟机能联网,我们可以将主机网卡共享给VMware Network Adapter VMnet1网卡,从而达到虚拟机联网的目的

注:宿主机,就是提供给虚拟机环境的主机。这里指的就是我们的windows系统主机;

6、命令执行方式

6.1、引入

  1. Linux最开始是没有图形界面的,都是通过命令操作。后面为了方便操作一些版本的操作系统把常用的操作封装图形操作,这样我们可以使用图形界面操作Linux
  2. 但并且不是所有的功能都有图形界面的,有的操作必须得命令完成。并且一般服务器都是不安装图形界面
  3. Linux操作命令分两种:本地终端执行和远程终端执行

6.2、本地终端

类似于windows下面的cmd:

6.2.1、打开本地终端

注意:此种方式要求你必须在Linux电脑旁边

出现如下界面:

6.2.2、简单使用

  1. 查看IP:Linux(ifconfig)、 windows(ipconfig)
  2. 结束当前执行命令:ctrl + C
  3. 清屏:clear
  4. 查看命令的使用方法:help

注:如果Linux处理休眠状态:按下回车键和ESC键或者EXIT重新登录

6.3、远程访问Linux

6.3.1、引入

  1. 虽然可以通过本地终端,访问linux,但是有的时候服务器不在咱们身边。需要远程连接并操作。
  2. 要想远程访问Linux,需要通过SSH(英文全称Secure Shell,是一种安全的协议),也是用于远程登入的。既然是远处登入工具,那么就需要有一台主机作为客户端,另一台主机作为服务器端。且在客户端上面必须要有能够远处登入的软件工具才行;

即:服务端有ssh的支持,客户端需要有连接linux的客户端软件;

6.3.2、SSH服务端的验证

  • 客户端远程访问服务端必须通过SSH服务(安全协议)才行
  • CentOS中默认安装了SSH服务,可以通过以下指令验证:(在本地终端执行)
ps -ef|grep ssh

注意进程号为1268的进程,就是ssh服务正在运行

思考:如要在windows中连接linux,使用什么软件呢?

6.3.3、SSH客户端的安装

  1. 常见的SSH客户端软件有SecureCRT、Xshell、Putty、finalshell等,一般用于Windows客户端计算机
  2. 课件为大家都准备了,大家用哪个用的习惯就可以使用哪个,作用都是一样的

6.3.4、CentOS防火墙操作

  • 远程访问linux时,需要关闭防火墙,否则访问linux上的tomcat,mysql等服务可能会失败;
  • 查看防火墙状态: systemctl status firewalld.service(绿的running表示防火墙开启)
  • 执行关闭命令(立即关闭 - 立即生效): systemctl stop firewalld.service
  • 再次执行查看防火墙命令:systemctl status firewalld.service
  • 执行开机禁用防火墙自启命令(永久关闭 - 重启生效): systemctl disable firewalld.service
  • 开启防火墙:systemctl start firewalld.service

7、Linux命令

7.1、常用命令

1、查看当前所在目录(用处:拷贝目录到一些配置文件):pwd

2、切换目录(需要到特定的目录执行命令):cd 目录名

3、文件名和目录名称补全:Tab

4、查看目录文件信息:

(1) ls //列出文件信息

(2) ls -l //以详细信息方式列出文件信息

(3) ls –a //列出所有文件和文件夹,包含隐藏文件

(4) ls -al //以详细信息方式列出所有文件信息,包含隐藏文件

(5) ls 目录名 //查看该目录的文件信息

(6) ll //等于ls -l

5、查看当前用户:

(1) whoami //查看当前操作用户

(2) who am i //查看当前登录用户(有可能是有多个的)的信息

6、查找命令:

(1) 最强大的搜索命令:find 查找各种文件的命令

(2) 在文件资料中查找文件:locate

(3) 搜索命令所在的目录及别名信息:which

(4) 搜索命令所在的目录及帮助文档路径:whereis

7、切换用户:

(5) su 用户名:切换用户

(6) su root:普通用户切到root用户,需要输入密码;

(7) su itsource:切换到itsource的用户

(8) exit //注销当前用户,返回前一用户

7.2、文件相关命令

在学习文件相关命令之前,我们先来看一Linux的文件系统

7.2.1、文件系统

  1. Linux有个基本思想:一切都是文件。就是系统中的所有都可以归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。而这些文件是以一定的结构组织的
  2. Linux系统的目录结构是一个以/(根目录)为根节点的树形结构

  1. 系统目录介绍

/bin 存放二进制可执行文件(命令),所有用户都可以使用

/sbin 存放二进制可执行文件,只有root用户可以使用

/boot 系统启动需要的核心文件

/dev 设备文件

/home 用户的主目录,每一个非root用户都会在home有一个为用户名的文件夹

/lib 系统共享动态链接库

/mnt 挂载目录,通常挂载到该目录下

/etc 存放系统配置文件目录

/etc/passswd 用户信息文件

/etc/group 用户组信息文件

/var 用来存放常态性变动的文件,经常发生变化的文件。比如缓存、登录文件,mysql数据库文件等

/tmp 临时目录,用来存放临时文件

/proc 虚拟目录,是内存的映射,可以访问到内存中的系统信息

/sys 和proc类似,存放和内核相关的信息和数据

/root root用户的主目录

/usr 存放应用程序和文件(类似于windows的system32、program files目录)

​ /usr/local/src 所有应用程序包都放这儿

​ /usr/local/ 所有的应用程序都安装在这个目录。

​ /usr/bin、/usr/sbin:这是对/bin、/sbin的一个补充

注:

/usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32

/usr/local:用户级的程序目录,可以理解为C:/Program Files/,用户自己编译的软件默认会安装到这个目录下;

/opt:用户级的程序目录,可以理解为D:/Program Files/,opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可

  • 一般跟系统有关的程序或软件或需要进行配置的程序安装到/usr/local中(jdk,tomcat等),安装包可以放在/usr/local/src中;
  • 一般第三方与系统不是很挂钩的软件放在/opt中,安装包也可以放在这里;

7.2.2、目录相关命令

1、相对路径和绝对路径:

(1) 绝对路径:以/(根目录)开头的路径(例如:/home、/etc/passwd)

(2) 相对路径:以./开头的路径,很多时候./可以省略(指相对于当前路径):

① ./ 表示当前目录(可以省略)./usr/loccal/=usr/local

② …/ 表示上一级目录

注:路径的最后一个斜杠可以省略

2、创建目录:

(1) mkdir 目录名 //创建一个目录

(2) mkdir -p 目录1/目录2/目录3 //递归创建目录

3、删除目录:rm -rf 路径 //可以删除文件和目录 -r(递归) -f(暴力)

4、移动目录/修改文件名:mv dir1 dir2 如果dir2不存在,将dir1目录名修改为dir2(重命名),否则将dir1目录移动到dir2中;

5、复制目录:

(1) cp -rf dir1 dir2 //将dir1复制一份到dir2目录(包含目录内容一起复制)

(2) cp -rf dir1/* dir2 //直接复制内容(非常重要)

6、打包和解压:

(1) tar -czvf tom.tar.gz tom – 打包

(2) tar -xzvf tom.tar.gz -C /usr/local – 解包

(3) 参数:

-c 创建一个新的tar文件 -t 参看压缩文件内容

-v 显示运行过程信息 -j 调用bzip2压缩命令执行压缩

-f 指定文件名称 -C 指定需要解压到的目录

-z 调用gzip压缩命令执行压缩

-x 解开tar文件

7.2.3、文件相关命令

1、创建文件:touch 文件路径 //创建一个空白文件

2、查看文件内容:cat //将文件内容直接显示出来

3、打开文件、保存、关闭文件(vi命令模式下使用)

vi filename //打开filename文件

:w //保存文件

:w vpser.net //保存至vpser.net文件

:q //退出编辑器,如果文件已修改请使用下面的命令 ,q(quit)

:q! //退出编辑器,且不保存

:wq //退出编辑器,且保存文件

注意:按i(insert)进入编辑,按Ctrl + C 退出编辑,退出编辑输入:wq退出编辑器

小结:

我们学习了一些常用命令和文件相关命令,其实Linux还有有很多命令,不用死记硬背。会使用一些常用的就ok,用到时查看命令文档或网上搜索即可

注意:在linux中Ctrl+s表示锁住屏幕,按住Ctrl+q解除锁定;

7.2.4、查看端口

1、查看端口占用情况:

lsof -i:端口号

注意:slof -i 需要 root 用户的权限来执行

案例:

更多 lsof 的命令如下:

lsof -i:8080:查看8080端口占用
lsof abc.txt:显示开启文件abc.txt的进程
lsof -c abc:显示abc进程现在打开的文件
lsof -c -p 1234:列出进程号为1234的进程所打开的文件
lsof -g gid:显示归属gid的进程情况
lsof +d /usr/local/:显示目录下被进程开启的文件
lsof +D /usr/local/:同上,但是会搜索目录下的目录,时间较长
lsof -d 4:显示使用fd为4的进程
lsof -i -U:显示所有打开的端口和UNIX domain文件

还可以使用下面方式查看端口使用情况:

netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关情况:

netstat -tunlp | grep 端口号
  • -t (tcp) 仅显示tcp相关选项
  • -u (udp)仅显示udp相关选项
  • -n 拒绝显示别名,能显示数字的全部转化为数字
  • -l 仅列出在Listen(监听)的服务状态
  • -p 显示建立相关链接的程序名

案例:

更多命令:

netstat -ntlp   //查看当前所有tcp端口
netstat -ntulp | grep 80   //查看所有80端口使用情况
netstat -ntulp | grep 3306   //查看所有3306端口使用情况

2、杀死端口所占用的进程

上面查询到端口占用情况之后,一般需要杀死这个程序或者进程的话,用下面命令

kill -9 PID

彻底杀死进程PID

8、CentOS中软件安装

8.1、解压源码包文件安装

特点:

  • 这种安装方式解压即安装,有的软件需要配置下环境变量(例如JDK的安装需要配置环境变量)
  • 卸载时只需要将解压包删除即可

命令:tar -zxvf 压缩包名(后缀为.tar.gz)

例如:将jdk的tar.gz包解压到指定文件夹:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-00mu3NbG-1673165466155)(https://gitee.com/xiaochen1106/MyImages/raw/master/java/202301081607857.png)]

8.2、RPM安装

特点:

  • 这种安装方式,软件包会自动配置jdk的环境变量,不用手动配置。也是最方便快捷的一种方式

命令:

rpm -qa 软件名称 :查询软件是否被安装

rpm -ivh 软件包路径 需要安装的包文件 : rpm –ivh xxx.rpm

rpm -e --nodeps 需要卸载的软件包 : 卸载软件(–nodeps 忽略依赖关系并继续操作)

rpm -qa | grep 查询名称 :利用管道模糊查询软件安装情况:

例如: rpm -qa | grep java 检测系统自带的jdk安装包

参数说明:rpm [选项] [参数]

-a:查询所有软件包

-e:删除指定的软件包

-f<文件>:查询拥有指定文件的套件;

-h或–hash:显示进度信息 ,以#显示进度

-i:显示包的详细信息

-i<软件包>或–install<软件包>:安装指定的软件包

-l:显示包的文件列表

-p:查询指定的RPM包

-q:使用询问模式

-U<软件包>或–upgrade<软件包>:升级指定的程序包

-v:显示指令执行详细过程

-vv:详细显示指令执行过程,便于排错

例子:

先检查是否安装JDK:

rpm -qa | grep java

这里默认就有一些,我们先将这些删除掉:

rpm -e --nodeps javapackages-tools-3.4.1-11.el7.noarch
npm:管理套件
-e:删除
--nodeps:不验证套件的相关关联性,就是强制删除

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3dJ5MnZC-1673165466156)(https://gitee.com/xiaochen1106/MyImages/raw/master/java/202301081607859.png)]

报错,说我权限不够,那么可以用下面命令切换用户:

su root
然后输入root密码,我这里是123456

再执行下面命令删除:

rpm -e --nodeps javapackages-tools-3.4.1-11.el7.noarch
rpm -e --nodeps tzdata-java-2019c-1.el7.noarch
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.242.b08-1.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.242.b08-1.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.251-2.6.21.1.el7.x86_64
rpm -e --nodeps python-javapackages-3.4.1-11.el7.noarch
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.251-2.6.21.1.el7.x86_64

然后再输入:rpm -qa | grep java,查看下是否还存在Java相关软件

已经清除干净了,现在我们可以安装我们自己下载到JDK了

先到官网上下载JDK,需要下载的格式不是.exe的,而是.rpm的

网址:https://www.oracle.com/java/technologies/downloads/#java8

然后将文件上传到Linux的opt目录中:

然后通过以下命令安装:

rpm -ivh jdk-8u311-linux-x64.rpm

安装完成后,看下JDK是否安装成功,输入下面命令

java

说明已经安装成功了

8.3、yum在线安装

特点:将所有软件包放到官方服务器上,当进行yum在线安装时,可以自动解决依赖性问题;

缺点:安装过程中,rpm包依赖性太强

yum命令:

1、查询:

(1) yum list --查询所有可用软件包列表

(2) yum search 关键字 --搜索服务器上所有和关键字相关的包

2、安装:

(1) yum -y install 包名 (-y 自动回答yes)

(2) yum安装只写包名即可! eg:yum -y install gcc --c语言编译器

3、升级/卸载

(1) 升级:yum -y update 包名

① update:升级;

② -y:自动回答yes;

(2) 卸载:yum -y remove 包名

① remove:卸载;

② -y:自动回答yes;

8.4、安装JDK

首先下载Linux环境下JDK的安装包,网址:https://www.oracle.com/java/technologies/downloads/#java8

我给大家准备好了,地址如下:

链接:https://pan.baidu.com/s/1iCqdBFTyibdwmT7g6sK52w

提取码:w0h4

然后将【jdk-8u341-linux-x64.tar.gz】包上传到【/opt】目录下

然后在opt目录下使用下面命令解压即可:

tar -xvf jdk-8u341-linux-x64.tar.gz

如下,已解压成功:

然后配置环境变量,方法如下:

编辑文件:

vim /etc/profile

再按字母【i】进入编辑模式,然后将下面配置全部拷贝进去,放到文件最后:

export JAVA_HOME=/opt/jdk1.8.0_341
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

然后按【Esc】后再输入【:wq】,表示保存并退出

然后运行下面命令重新加载一下配置:

source /etc/profile

至此,JDK就安装成功了,下面我们来测试下看安装成功没有

依次输入下面命令:

java -version
javac -version

OK,测试成功了,JDK环境就安装好了

9、安装MySQL

上面我们已经安装了JDK了,现在我们开始安装MySQL,我们这里是以RPM方式安装MySQL

9.1、MySQL卸载

先查看当前mysql的安装情况

rpm -qa|grep -i mysql
-q就是 --query ,-a就是--all
|grep mysql就是查含有mysql的包名(grep正则表达式)

可以看到,目前是没有安装mysql的

如果有的话,可以使用下面命令删除:

rpm -e --noscripts 包名 --nodeps

卸载MySQL:

yum remove mysql mysql-server mysql-libs mysql-common

查找之前老版本mysql的目录、并且删除老版本mysql的文件和库

find / -name mysql

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Lvy8yRiS-1673165466160)(https://gitee.com/xiaochen1106/MyImages/raw/master/java/202301081607869.png)]

如果需要删除mysql的目录,则使用下面命令:

rm -rf 目录

确认全部删除了

9.2、安装MySQL

我这里安装的版本是5.7.40

首先进入opt目录,执行下面命令进行下载:

wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

然后执行下面命令进行安装:

rpm -ivh mysql57-community-release-el7-9.noarch.rpm

执行完成后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo

必须进入到 /etc/yum.repos.d/目录后再执行安装

cd /etc/yum.repos.d/
yum install mysql-server --nogpgcheck      //nogpgcheck表示不校验key

下面就表示安装成功了

运行下面命令进行启动:

systemctl start mysqld

设置开机自动启动:

systemctl enable mysqld

其他命令:

# 关闭开机启动
systemctl stop mysqld
# 关闭MySQL
systemctl stop mysqld
# 重启MySQL
systemctl restart mysqld

运行下面命令查看MySQL运行状态:

systemctl status mysqld

如下:

那么如何设置root账户的登录密码呢?

可按照下面步骤修改root账户密码:

1、进入MySQL数据配置文件进行修改

vi /etc/my.cnf

再按字母【i】进入编辑模式,然后将下面这一行拷贝进去,放到最后一行,含义是免密码登录

skip-grant-tables

然后按【Esc】后再输入【:wq】,表示保存并退出

然后重启:

systemctl restart mysqld.service

2、直接免密登录

mysql -uroot -p

此时提示要你输入密码,什么都不用输入,直接回车就可以进入数据库了

3、设置密码

你可以使用以下命令来重置root账户的密码:(我这里设置的是AaBa123456,设置最好不要设置的太简单)

5.7以上版本运行:
update user set password= password("123456")where user='root';5.7以下版本运行:
update user set authentication_string= password("123456")where user='root';

4、删除免密设置

按照刚才的步骤,进入【my.cnf】文件中,将【skip-grant-tables】代码删除,并保存退出,再重启MySQL服务器即可,这样以后就可以使用123456这个密码进行登录了

9.3、MySQL编码集设置

安装完的MySQL的默认字符集为 latin1 ,那么如果此时创建表和数据库,或者导入外部带中文的数据,mysql是不支持的。为了要将其字符集改为用户所需要的(比如utf8),就必须改其相关的配置文件。查看默认字符集

show variables like 'character_set%';

执行上面语句如果报下面错:

就执行下面语句:

SET PASSWORD = PASSWORD('AaBa123456');           //MySQL5.7.6版本以前执行这个ALTER USER USER() IDENTIFIED BY 'AaBa123456';    //MySQL5.7.6版本开始更高版本则执行这个

如果报错:Your password does not satisfy the current policy requirements

那就是密码等级设置的太低了,需要执行下面语句:(需要先登录MySQL,然后执行:use mysql)

//设置密码的验证强度等级(目前我设置等级为低)
set global validate_password_policy=LOW;

还可以设置密码长度:

set global validate_password_length=6;

修改字符集,修改 /etc/my.cnf文件(输入exit或Ctrl + C退出mysql命令窗口):

vi /etc/my.cnf(没有就自己创建一个,vi会自动创建)

执行这个命令后,发现里面没有设置编码的地方,那我们就把下面的配置添加进去,到第三行即可:

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8

先按【i】进入编辑模式,然后将上面配置添加进去,如下:

然后按【Esc】再按【:wq】,表示保存退出,修改完配置,需要重启一下mysql服务,命令如下:

systemctl restart mysqld

重启完之后可以再使用如下命令进入到mysql检查下

mysql -uroot -p123456
-u跟用户名
-p跟密码

输入下面命令检查下:

show variables like 'character_set%';

此时我们发现,编码都已经改成utf8了

9.4、增加MySQL远程登录权限

上面步骤做完,可以实现本地登录,但如果使用navicat登录的话,会报下面错误:

为了解决这个问题,允许远程访问,需要本地登陆MySQL后执行如下命令

进入MySQL,授权远程连接

grant all privileges on *.* to root@'%' identified by '123456';
这句话的意思是:任意用户使用root用户使用123456密码访问,可以设置成mysql的密码

然后再刷新授权

flush privileges;

然后再使用navicat连接Linux中的mysql,就可以连成功了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CvXCBSEV-1673165466164)(https://gitee.com/xiaochen1106/MyImages/raw/master/java/202301081607881.png)]

9.5、关闭防火墙

如上增加远程登录权限后,还是报如下错误的话,就是你的虚拟机上的防火墙没有关

关闭防火墙相关命令:

查看防火墙状态: systemctl status firewalld.service(绿的running表示防火墙开启)
执行关闭命令(立即关闭,立即生效,临时关闭,Linux重启后又会打开): systemctl stop firewalld.service
执行开机禁用防火墙自启命令(永久关闭 - 重启生效,Linux重启后也是关闭状态): systemctl disable firewalld.service
开启防火墙:systemctl start firewalld.service

10、安装Tomcat

安装步骤如下:

10.1、准备安装包

将安装包【apache-tomcat-8.5.15.tar.gz】解压解压到/usr/local目录中

tar -zxvf /opt/apache-tomcat-8.5.15.tar.gz -C /usr/local/

10.2、开启服务和关闭服务:

cd /usr/local/apache-tomcat-8.5.15/bin
./startup.sh
./shutdown.sh

10.3、解压

解压文件中目录结构如下:

  1. bin目录:tomcat启动命令(./startup.sh)、tomcat服务关闭命令(./shutdown.sh )
  2. webapps目录:工程目录,war包放在这里,在启动tomcat时会自动解压成文件夹

10.4、部署

  1. 通过Eclipse或者IDEA将我们的web项目打成war包
  2. 使用xftp或其他工具将安装包war包上传至linux系统(一般直接放到tomcat的webapps目录中)
  3. 启动tomcat
  4. 浏览器测试,访问:http://127.0.0.1:8080

11、部署项目

将SpringBoot项目打包,注意pom.xml中需要加入打包插件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>LinuxSpringBootDemo</artifactId><version>1.0-SNAPSHOT</version><!--导入springboot相关的jar包--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.5.RELEASE</version></parent><dependencies><!--web依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.3.5.RELEASE</version></plugin></plugins><!--打包生成jar包的名字--><finalName>boot</finalName></build></project>

我这里生成一个boot.jar,然后上传到opt目录中,如下:

我这个项目非常简单只有一个启动类和一个application.yml,启动类代码:

package cn.itsource;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;/*** <p>启动类</p>** @author 波波老师(微信 : javabobo0513)*/
@SpringBootApplication
@RestController
public class App {@GetMapping("/test")public String test(){System.out.println("恭喜你,SpringBoot项目运行成功啦.......");return "恭喜你,SpringBoot项目运行成功啦.......";}public static void main(String[] args){SpringApplication.run(App.class);}
}

yml内容:

server:port: 8001

然后进入opt目录中:cd /opt,然后使用下面命令启动项目:

java -jar boot.jar

然后我们通过浏览器访问:http://120.26.60.94:8001/test,可以返回数据:恭喜你,SpringBoot项目运行成功啦…

页面每刷新一次,控制台就会打印一次日志:恭喜你,SpringBoot项目运行成功啦…,如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DCo7lca2-1673165466166)(https://gitee.com/xiaochen1106/MyImages/raw/master/java/202301081607886.png)]

此时项目虽然启动了,但是当前页面就无法输入其他命令了,此时如果想在后台运行项目的话,可以使用下面命令:

java -jar boot.jar &

此时需要关闭项目的话,需要杀死进程,先通过下面命令查询我们8001占用的进程ID:

netstat -tunlp | grep 8001

然后再杀死进程:

kill -9 20294

如下:

12、资源下载地址

CentOS7下载地址:

链接:https://pan.baidu.com/s/1fSxiUYucG7xWvyN70dGdZg?pwd=1069
提取码:1069

其他相关工具下载地址:

链接:https://pan.baidu.com/s/1zhJiM5QZNlD4ym4iJGtBqQ
提取码:7777

13、总结

  1. 在自己本机能独立安装虚拟机并成功运行CentOS
  2. 能用相关工具连接Linux系统,并上传软件进行安装
  3. 能在Linux系统中部署前后端项目

如果本文对你有帮助的话,记得点个赞哦

Linux安装和入门相关推荐

  1. Linux学习系列之Linux入门(一)linux安装与入门

    第一篇:安装并配置Linux开发环境 一.安装linux: 主要安装Linux的发行版,到目前为之,主要的发行版有: 比较常用的是Ubuntu.redhat和centOS,主要的安装方法详细: Ubu ...

  2. 千峰云计算linux教程650集,linux系统运维从入门到精通教程(Linux安装极速入门,零基础必备)

    第一天 1. 完成VMware下载,centos7下载,完成配置,获得模拟服务器一台. 2. 使用root登录. 服务器 (可以当初普通计算机,与普通的计算机内部结构相差不大) VMware是安装虚拟 ...

  3. linux安装ppt教程视频教程下载,Linux教程ch2Linux安装及入门.ppt

    Linux教程ch2Linux安装及入门.ppt (68页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 29.9 积分 第二章 Linux安装及入门 Li ...

  4. 20165301 预备作业三:Linux安装及命令入门

    预备作业三:Linux安装及命令入门 VirtualBox虚拟机的安装 在进行安装之前,原本以为有了娄老师的安装教程会是一件很容易的事情.万万没想到,在自己实际动手操作中,还是遇到了许多困难.通过与同 ...

  5. 《 Linux的安装和入门 》

    < Linux的安装和入门一 > 一.安装前的准备工作 如果你有WIN98系统,想装Linux,就注意了,你硬盘里的有用数据就要先备份,以防不测,令硬盘数据全部丢失了,如果熟悉了也没那么可 ...

  6. 安装linux系统的ppt课件,Linux系统安装与入门PPT演示课件

    <Linux系统安装与入门PPT演示课件>由会员分享,可在线阅读,更多相关<Linux系统安装与入门PPT演示课件(46页珍藏版)>请在人人文库网上搜索. 1.Linux系统入 ...

  7. RedHat Linux 9.0的安装+下载+入门指南(图文并茂)

      转自: http://www.360doc.com/myindex.aspx?login=1     [系统]RedHat Linux 9.0的安装+下载+入门指南(图文并茂) 2007-09-2 ...

  8. Linux 安装并配置 OpenLDAP 新编(1)快速入门指南

    Linux 安装并配置 OpenLDAP 新编(1)快速入门指南 快速入门,仅用于学习和本地开发,不要直接在生产环境中实施! 获取软件 官方的快速入门指南中,2.4-2.6的三个版本都只讲解了源代码编 ...

  9. 传智播客linux安装视频教程下载,传智播客 LAMP(Linux)经典入门教程 李东超主讲29集完整版教程下载...

    课程名称 传智播客 LAMP(Linux)经典入门教程 李东超主讲29集完整版教程下载 课程目录 李东超 PHP视频教程 LAMP经典入门 第01讲 Linux的基本概念和发展历史.wmv 李东超 P ...

最新文章

  1. 编写单元测试代码遵守BCDE原则,以保证被测试模块的交付质量,那么下列说法正确的是
  2. mysql截取不含%_zp blog
  3. 通俗易懂的ReentrantLock,不懂你来砍我
  4. 修改密码后服务器断开连接,SSH无需密码登录服务器且保持连接不断开的方法
  5. java函数定义的要素_Java学习笔记八(方法)
  6. 【响应式Web前端设计】Login Demo
  7. dio设置自定义post请求_Flutter Dio简单二次封装和自定义Header
  8. java编程思想3感悟(4)---被隐藏的具体实现
  9. IIS、MySQL、Redis环境搭建
  10. [雪峰磁针石博客]接口测试面试题
  11. 【排行榜】苏州配眼镜推荐这四类口碑眼镜店
  12. Activiti 会签/或签 设计思路
  13. 【DeepLearning】吴恩达深度学习课程笔记思维导图
  14. Data-driven methods for solving algebra word problems论文阅读
  15. 科普:Java 后端开发常用的 10 种第三方服务
  16. Android蓝牙开发系列文章-蓝牙mesh(一)
  17. android MediaCodec 音频编解码的实现——转码
  18. 美国纽约大学计算机专业排名,纽约大学计算机科学排名怎么样?专业好不好?
  19. 关于前端页面在IE浏览器下无法显示的问题
  20. Oracle查询用户权限

热门文章

  1. Unity最佳实践-物理计算
  2. Open3d系列 | 1. Open3d实现点云数据读写、点云配准、点云法向量计算
  3. PS AD命令之Get-adgroup!
  4. save failed org.eclipse.ui异常
  5. 渗透武器库---信息收集工具大全
  6. mysql创表的工种_[MySQL基础]七、连接查询
  7. Flink web.upload.dir
  8. lotus notes 闪退_【处理流程】win7系统Lotus Notes邮箱闪退的处理教程
  9. 基于Linux内核时钟的简单闹钟应用
  10. 淘宝到底还能不能盈利了