学习目标
第一章-Linux概述
知识点-Linux概述
1.目标
我们一般在window系统下开发, 开发完成后部署到Linux系统下. 我们先来了解下什么是Linux
2.路径
- Linux介绍
- 为什么要学习Linux
- Linux的历史
3.讲解
3.1.Linux简介
是基于Unix的开源免费,多用户,多任务的操作系统,
由于Linux系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境。
服务器所在主机的操作系统一般使用Linux系统。
3.2为什么要学习Linux
对于windows操作系统而言,大家应该不陌生,这里我列举一些windows的不足:
- 个人用户正版windows需要收费
- 系统长时间运行后,不稳定,变慢,容易死机
- 且windows经常招到病毒攻击等
相反,上述windows的不足,恰好是另一款操作系·优势所在,这里我也列举一些Linux的优点:
-
个人用户正版Linux不需要收费
-
系统长时间运行后,还是比较稳定,比较快,不容易死机
-
且Linux不常招到病毒攻击等
做为一个后端JavaEE程序员,通常在windows/MAC中开发完程序后,得部署到一个相对比较安全,稳定的服务器中运行,这台服务器上安装的不是windows操作系统,而是Linux操作系统。
3.3.Linux的历史
Linux最初是由芬兰赫尔辛基大学学生Linus Torvalds由于自己不满意教学中使用的MINIX操作系统, 所以在1990年底由于个人爱好设计出了LINUX系统核心。后来发布于芬兰最大的ftp服务器上,用户可以免费下载,所以它的周边的程序越来越多,Linux本身也逐渐发展壮大起来,之后Linux在不到三年的时间里成为了一个功能完善,稳定可靠的操作系统. Git版本控制工具
4.小结
-
Linux: 操作系统
-
为什么要学习Linux?
开源免费,稳定安全,适合用于做项目发布的服务器操作系统
知识点-Linux的版本
1.目标
知道内核版本和发行版本区别, 以及常见的发行版本
2.路径
- Linux的版本
- Linux的主流发行版本
3.讲解
3.1Linux的版本
Linux的版本分为两种:内核版本和发行版本;
- 内核版本是指在Linus领导下的内核小组开发维护的系统内核的版本号 ;
- 发行版本是一些组织和公司根据自己发行版的不同而自定的
3.2Linux常见发行版本
4.小结
-
版本
- 内核版本:核心
- 发行版本:核心+外衣
-
我们学习的版本
发行版本CentoOS7.7
第二章-Linux的安装
实操-Linux的安装
1.目标
2.路径
- 虚拟机的安装
- CentOS的安装
- Linux的目录结构
3.讲解
Linux是一个操作系统,我们就需要将Linux安装到一台电脑上
1.卸载windows系统 安装Linux系统
2.双系统
3.虚拟机安装:是一款软件,可以模拟一台独立的电脑出来,然后在这台独立的电脑上安装Linux系统
3.1虚拟机的安装
虚拟机:虚拟一台独立的电脑. ,共用物理主机的硬件。
虚拟机软件:
VmWare: 收费的. 威睿 vm
VirtualBox: 免费的. Oracle的产品 . vb
参考《01.VMware使用》
注意:
可能出现两个问题:
1.VMWare安装完成之后没有vmnet1和vmnet8两个虚拟网卡,解决 :参照 资料\06-虚拟机网卡丢失问题解决
2.安装虚拟机时出现没有开启虚拟化技术 解决:资料\操作文档\2-开启虚拟化.pdf
警告:VMware软件一般第一次安装都是正常的,不要安装完了,卸载,卸载之后再重装,这样就很容易出现虚拟网卡丢失问题。
3.2 CentOS的安装
参考《02.Linux(CentOS)安装.pdf》
![image-20210703150937568](https://img2022.cnblogs.com/blog/2848680/202204/2848680-20220423160103256-299187587.png)
![image-20210726092229476](https://img2022.cnblogs.com/blog/2848680/202204/2848680-20220423160103969-288546361.png)
![image-20210703151511100](https://img2022.cnblogs.com/blog/2848680/202204/2848680-20220423160104375-585049242.png)
3.3.Linux的目录结构
linux操作系统:万物皆文件
Linux不像windows那样有盘符的概念,它的最高目录为根目录(用/表示)
/:系统根目录
bin目录:存放可执行文件
root目录:超级管理员所在的目录,用~表示
home目录:普通用户所在的目录
etc:配置文件所在目录
usr:存放共享文件的 (安装的软件基本都是在usr目录)
4.小结
-
安装时候注意事项
- 内存 4G(512M) 8G(1,2G) 16G(1,2,4,8G)
- 不要忘记选择镜像,选择64位(如果无法安装,开启intel虚拟技术 --> 电脑重启进入Bios开启)
- 需要配置自动连接
-
目录结构
- / 系统根目录
- bin 可执行文件所在目录
- root 超级管理员所在目录 经常通过~表示
- home 普通用户所在目录
- etc 配置文件目录
- usr 文件共享目录(一般在这里装软件)
- / 系统根目录
实操-Linux客户端工具CRT
1.目标
2.路径
- 客户端工具CRT介绍
- CRT 安装
- CRT 的使用
3.讲解
3.1CRT介绍
SecureCRT是一款支持SSH(SSH1和SSH2)协议的终端仿真软件,常被用来运行于Windows下远程登录UNIX或Linux服务器 。
3.2.CRT 安装
参考《03.CRT连接linux.pdf》
3.3.CRT 的使用
参考《03.CRT连接linux.pdf》
4.小结
-
使用CRT软件连接的时候, 需要输入的是:
主机名是服务器(虚拟机)的ip地址, 不是localhost.
SSH连接默认端口号是22
第三章- Linux的常用命令【重点】
知识点-目录操作命令【重点】
1.目标
2.路径
- cd目录
- ls命令
- mkdir命令
- pwd命令
3.讲解
3.1切换目录命令【重点】
cd app 切换到app目录 【切换到当前目录下的app目录】
cd .. 切换到上一层目录
cd / 切换到系统根目录
cd ~ 切换到root主目录
cd - 切换到上一次操作的目录
3.2 列出文件列表
ls(list)是一个非常有用的命令,用来显示当前目录下的内容。配合参数的使用,能以不同的方式显示目录内容。
-
格式
ls [参数] [路径或文件名]
ls 展示当前目录下资源(不包含隐藏的文件)
ls -a 显示所有文件或目录(包含隐藏的文件), 文件带点的是隐藏文件
ls -l 展示文件的详细信息, 简写成 ll
ll -h 友好显示文件大小 (1TB=1024G 1G=1024MB 1MB = 1024KB 1KB = 1024Byte)
ls -al 展示所有文件的详细信息(包含隐藏的文件)
3.3.创建目录和移除目录
3.3.1 mkdir
用来创建子目录.
- 格式: mkdir 目录名; 在当前目录下创建目录
mkdir app 在当前目录下创建app目录
- 格式: mkdir -p 目录名/子目录; 级联创建目录
mkdir –p app3/test 级联创建app3以及test目录
3.3.2 rmdir【了解】
用来删除“空”的子目录
- 格式: rmdir 目录名;
rmdir app 删除app目录
3.4显示当前目录的绝对路径
- 格式: pwd
4.小结
-
cd 切换目录
cd app # 切换到当前目录下的app子目录 cd / # 切换到根目录 cd ~ # 切换到root用户主目录 /root cd .. # 切换到上一级目录 cd - # 切换到上次操作的目录
-
ls 查看目录下的文件
ls [参数] [路径] ls # 查看当前目录下未隐藏的所有内容 ls -a # 查看当前目录下的所有内容【包含隐藏】 ls -l # 以列表的方式查看当前目录下的内容 简写:ll ll -h # 以友好的方式查看 会自动计算文件的大小显示 ll -a # 以列表的方式查看当前目录下的所有内容
-
mkdir 创建目录
mkdir app # 在当前目录下创建app目录 mkdir -p app1/test # 级联创建目录
-
pwd
pwd #查看当前操作所在的目录
知识点-文件操作命令【重点】
1.目标
2.路径
- cat
- more
- tail
3.讲解
3.1cat
用于显示文件的内容
- 格式:cat [参数] <文件名>
cat yum.conf 查看yum.conf 的内容
3.2 more
分页查看, 按空格键显示下一个画面(下一页)。回车显示下一行内容。按 q 键退出查看。(Ctrl+C退出查看)
- 格式: more 文件名
more services
3.3 less
用法和more类似,不同的是less可以通过方向键上下来控制。 按 q 键退出查看
- 格式: less文件名
less services
3.4 tail
tail命令是在实际使用过程中使用非常多的一个命令,它的功能是:用于显示文件后几行的内容。动态监控文件内容变化,非常适合监控软件运行的日志文件
- 格式: tail -n 文件名:查看文件的末尾几行
tail -10 /etc/profile
- 格式: tail -f 文件名:滚动的查看文件.
tail -f catalina.log
- ctrl+c 结束查看
4.小结
#文件查看
cat # 查看文件的全部内容【顺序查看】
more # 分页查看 空格下一页 回车下一行 q键退出
less # 上下按行查看 q键退出
tail -n 文件名 # 查看文件最后几行的内容 n表示行数
tail -f 文件名 # 动态监控文件内容变化
#实际开发使用:cat、more、tail 查看文件内容
知识点-文件目录通用操作命令
1.目标
2.路径
- mv : 移动|剪切
- cp : 拷贝|复制
- rm : 删除
3.讲解
3.0 touch 创建文件
- touch 文件名; 创建文件
3.1mv 移动文件【剪切】 mv 源文件|目录 目标目录
- mv 文件 目录 :移动到指定目录
- mv 文件 目录/文件名:移动到指定目录且重命名
- mv 目录 指定的目录:移动一个目录到指定的目录下
- mv 目录 新目录名:重命名
3.2cp 拷贝文件 cp 源文件|目录 目标目录
- cp 文件 目录:把一个文件复制到某目录下
- cp 文件 目录/文件名:复制且重命名
- cp 文件 新文件名 :当前目录下复制一个
- cp -r 目录 新目录:递归复制目录(复制非空目录)
3.3 rm 删除文件
- rm 文件; 询问删除文件
rm a.txt 删除a.txt文件
- rm -f 文件;不询问,直接删除
rm -f a.txt 不询问,直接删除a.txt
- rm -r 目录; 删除目录(递归删除)
rm -r a; 递归删除a目录
- rm -rf 目录; 不询问递归删除(慎用)
rm -rf a 不询问递归删除
rm -rf * 删除当前目录下所有文件
rm -rf *.txt 删除所有后缀名为txt的文件
rm -rf /* 自杀 *********(不要用)
4.小结
- 创建文件
touch 文件名;
- 移动mv 剪切
mv 源文件|目录 目标目录
mv a.txt app # mv 文件 目录; 把文件移动到目录
mv a.txt app/b.txt # mv 文件 目录/文件名; 把文件移动到目录,重新命名
mv app app2 # mv 目录 目录; 移动目录
mv a.txt aa.txt # mv 文件 新的文件; 重新命名
- 拷贝cp 复制
cp 源文件 目标目录
cp -r 源目录 目标目录
cp a.txt app2 # cp 文件 目录; 把文件拷贝到目录
cp a.txt app2/b.txt # cp 文件 目录/文件名; 把文件拷贝到目录,重新命名
cp -r app app2 # cp -r 目录 目录; 拷贝目录
cp a.txt aa.txt # cp 文件 新的文件; 拷贝 重新命名
- 删除rm
rm -rf app # rm -rf 文件/目录
# 不要使用 rm -rf / 或者 rm -rf /*
知识点-文件编辑命令【重点】
1.目标
2.路径
- vi编辑器介绍
- vi编辑器三种模式和常用命令
- vi编辑器使用
- vim编辑器
3.讲解
3.1 vi介绍
vi编辑器是所有Unix及Linux系统下标准的编辑器,对Unix及Linux系统的任何版本,vi编辑器是完全相同的
3.2三种模式和常用命令
-
命令模式:对行进行操作 移动光标. 常用的命令:
yy:复制当前行
p:粘贴
dd:删除当前行
/ :搜索 eg:/port 回车 在文档中搜索port关键字
-
编辑模式:对具体的字符进行操作. 切换到插入模式:按 i键
-
底行模式:退出esc. 先进入命令模式,按:,切换到底行模式 常用的命令:
:wq! 保存并退出
:q 退出(不保存)
:q! 强制退出(不保存)
3.3vi编辑器使用
3.3.1基本使用
- 编辑a.txt, 编辑的内容是: hello world...
vi a.txt 进入命令模式
按住i 切换到了编辑模式,输入hello world...
按住Esc 切换到命令模式
按住:wq 切换到底行模式 保存并且退出
- 复制2行hello world..
vi a.txt 进入命令模式
yy 复制
p 粘贴
按住:wq 切换到底行模式 保存并且退出
- 删除最后一行hello world
vi a.txt 进入命令模式
dd 删除当前行
按住:wq 切换到底行模式 保存并且退出
3.3.2练习
在root目录下创建a.txt
cd ~ 切换到root目录
touch a.txt 创建a.txt
编辑a.txt hello...
vi a.txt 进入命令模式
按住i 切换到编辑模式
输入hello
Esc 切换到命令模式
:wq 保存并且退出
复制两行hello...
vi a.txt 进入命令模式
yy 复制
p 粘贴
:wq 保存并且退出
删除最后一行hello...
vi a.txt 进入命令模式
dd 删除行
:wq 保存并且退出
删除a.txt
rm -rf a.txt
3.4vim编译器
vim是vi的升级版,增加了一些功能,对vi命令是完全兼容的。在一些基本命令上两者都是一样的
4.小结
- 模式
- 命令模式下的常用命令
- yy:复制当前行
- p:粘贴
- dd:删除当前行
- /:搜索
知识点-压缩解压【重点】
1.目标
2.路径
- 打包压缩
- 解压
3.讲解
打包: 将多个文件打包成一个特定文件, 文件扩展名一般是**.tar **
压缩: 将多个文件打包成一个特定文件并且做压缩处理(gzip), 文件扩展名一般是.gz xxx.tar.gz
3.1打包压缩【tar -zcvf】
-
语法:tar -zcvf 打包并压缩后的文件名 要打包压缩的文件/目录
-
-z调用压缩命令进行压缩, 没有加上-z就是打包(可选项)
-
-c 创建新的文件(必选项)
-
-v 输出文件清单(可选项)
-
-f 文件名由命令行设置(必选项)
-
-
练习: 把app文件夹进行压缩
# 打包 就只是将多个文件或目录放在一个文件中
tar -cvf app.tar app
# 打包并压缩
tar -zcvf app.tar.gz app
3.2解压【tar -xvf】 【重点】
-
语法
- tar -xvf 压缩文件; 解压到当前目录
- tar -xvf 压缩文件 -C /usr/local 解压到/usr/local目录 注意: C是大写的!
- 参数含义
- -x 取出文件中内容
- -v 输入文件清单
- -f 文件名由命令台设置
-
练习
- 解压打包文件app.tar
tar -xvf app.tar
- 解压app.gz 到 /usr/local目录
tar -xvf app.gz -C /usr/local
4.小结
- 扩展名
- .tar 包
- .gz 压缩包(采用gzip压缩后包)
- 压缩
tar -cvf 打包名字 要打包的文件/目录 #只是单纯对文件/目录打包
tar -zcvf 压缩包名字 要压缩的文件/目录 #采用gzip算法打包并压缩
- 解压【重要】
tar -xvf 压缩包名字 # 解压到当前目录
tar -xvf 压缩包名字 -C 目录 # 解压到指定目录 指定目录这里写绝对路径 /home/shuaige
知识点-其它常用的命令
1.目标
2.路径
- halt
- reboot
- ifconfig
- ps 【重点】
- kill 【重点】
- 管道 |
- top 动态查看系统资源使用情况 【重点】
- free 查看内存使用情况
3.讲解
3.1关机
halt
3.2重启
reboot
3.3 查看网卡信息(IP地址)
ifconfig
3.4查看进程【重点】
ps -ef 查看所有进程
3.5 管道
命令1 | 命令2 解释:一个命令的输出,可以作为另一个命令的输入,至少有二个命令参与执行。 常用的需要使用管道命令有 more,grep。
eg: ps -ef | grep vi #在所有的进程里面筛选出和vi相关的进程
注: grep 筛选指定的内容,grep -i:忽略大小写
ps -ef | grep vi: 查看所有vi的进程
3.6杀死进程
kill 进程号(pid) 杀死指定的进程
kill -9 进程号(pid) 杀死指定的进程 立即终止
3.7top 动态查看系统资源使用情况
top
-- 面试题:线上项目发布 CPU使用率排查 https://www.cnblogs.com/heyanan/p/9261695.html
1.top 找出是哪个进程占用了cpu比较多
2.top -Hp PID 找到具体是这个进程下的哪个线程使用CPU比较高
3.jstack PID:分析是具体该线程下的那句java代码导致CPU占用高
3.8 free 查看内存使用情况
free -m
4.小结
-
halt 关机
-
reboot 重启
-
ps -ef 查看所有的进程
-
kill -9 pid 杀死进程
-
| 管道
-
grep xx 筛选
eg: ps -ef | grep vi 筛选出vi的进程
-
top 动态监控系统资源使用情况
-
free 查看内存使用情况
知识点-Linux文件权限【了解】
1.目标
2.路径
- 权限简介
- 权限参数和数字说明
- 权限命令操作
3.讲解
3.1权限介绍
Linux中对每个目录和文件都做了规定,只能由满足条件的用户才能操作,这个规定叫权限
3.2权限参数和数字说明
r 可读
w 可写
x 可操作
文件比作我们班,班主任文件所有者,讲师和班主任是同一个组的,其他老师
第1位:文件类型 - 文件, d是目录,l:快捷方式
2,3,4:当前用户操作权限 文件所有者的权限
5,6,7:当前组中其他用户的操作权限 文件所有者的同组用户具有的权限
8,9,10:其他用户的操作权限 其他用户
3.3权限命令操作
一个文件对应有三种权限设置 分别是读r 写w 执行x 如果不具备使用-表示
一个文件要设置三个角色的权限:文件所有者u、文件所有者同组用户g、其他组的用户o
3.3.1语法一
- 语法:chmod [参数] 目录/文件
- 参数说明:
- u 作者
- g 组员
- o 它人
- -r 只读
- -w 只写
- -x 只执行
- 权限操作
#修改a.java文件的权限:作者具有rwx权限,组员具有rx权限, 其它人具有x权限
chmod u=rwx,g=rx,o=x a.java
#或者
chmod 751 a.java
3.3.2语法二
chmod xxx 文件/目录
rwx
111 = 4+2+1=7
000 = 0
r:可读 4
w:可写 2
x:可执行 1
1.可读可写不可执行:110 = 4+2 =6
2.可读可写可执行: 111 = 4=2+1 = 7
3.可读不可写可执行:101 = 4+1 = 5
#修改a.java文件的权限:作者具有rwx权限,组员具有rx权限, 其它人具有x权限
作者:7 组员:5 其他人:1
chmod 751 a.java
4.小结
文件权限了解即可
文件有三组权限,分别是作者、同组用户、其他用户,每一个角色都对应着读、写、执行三种权限。
chmod 参数 文件/目录
r:可读 4
w:可写 2
x:可执行 1
eg:chmod 777 app 表示当前文件作者,同组用户,其他人都对app这个文件具有读写执行的权限。
第四 - Linux网络管理和防火墙设置
知识点-Linux网络管理【了解】
1.目标
2.路径
- ifconfig命令
- 启动和停止
- 网络模型
- 配置NAT网络模型
3.讲解
3.1ifconfig命令
ifconfig #查看网卡信息 以及ip地址
3.2网络服务启动和停止
- 启动
service network start
- 停止
service network stop
- 重启
service network restart
3.3网卡启动和停止
- 启用网卡
ifconfig 网卡名称[eg:ens33] up
- 禁用网卡
ifconfig 网卡名称[eg:ens33] down
3.3 网络模型
-
桥接模式:虚拟机和物理机处于同一个局域网,容易导致ip冲突,优点是和物理机同处一个局域网中,方便通信。
物理主机就好像一个交换机,将物理主机和虚拟机连接在一个局域网内。和主机的关系就像局域网中一台独立的主机,和主机同等地位。获取外网ip进行上网。物理机上有一个自身的网卡,虚拟机虚拟一个虚拟网卡,两者可以连接到外网。
桥接模式下虚拟机和主机不仅应该处于同一网段,而且相关DNS和网关都应该相同。
-
NAT :虚拟机和物理机共享一个外部ip地址。
俗称网络地址转换,是将内部私有网络地址翻译成合法网络地址。物理机上有一个自身的网卡,和虚拟NAT设备直连,还有一个虚拟网卡直接连在虚拟交换机上。虚拟NAT设备与虚拟DHCP服务器直接连在虚拟交换机上,虚拟机通过虚拟交换机和NAT设备实现联网,但是和本机的连接是通过物理主机的虚拟网卡vm adapter8来实现的。虚拟机向外部网络发送的请求数据"包裹",都会交由NAT网络适配器加上"特殊标记"并以主机的名义转发出去,外部网络返回的响应数据"包裹",也是先由主机接收,然后交由NAT网络适配器根据"特殊标记"进行识别并转发给对应的虚拟机,因此,虚拟机在外部网络中不必具有自己的IP地址。
从外部网络来看,虚拟机和主机在共享一个IP地址。
-
仅主机
仅主机模式即是nat模式去除 了nat设备,虚拟机是一个独立的系统,只能实现虚拟机和主机间的通信,如果虚拟机需要联网的话,还需要主机共享网卡,所以一般情况下虚拟机不能联网。
3.4 配置NAT网络模型
- 选择编辑>虚拟网络编辑器
- 选择NAT 模式的VMnet8
- 将其中的“网关IP”设置为“192.168.33.1”
- 然后在本机的“网络连接”中对VMnet8进行设置
4.小结
- 查看网卡信息和ip地址
ifconfig
- 关闭/启动/重新启动网络服务
service network start|stop|restart
- 启用禁用网卡
ifconfig 网卡名称【ens33】 up
ifconfig 网卡名称【ens33】 down
4. 网络故障排查
客户端无法正常连接虚拟机?
//1.查看虚拟机ip地址
//2.重启网络服务 service network restart
//3.重启网卡 ifconfig ens33 up
//4.重新分配ip地址 dhclient
//5.ip正常了,仍然不能连接
//6.查看物理机虚拟网卡vmnet8是否启用
//7.仍然不能连接,看看防火墙,VMware一些网络服务是否启动【windows services】
知识点-Linux防火墙设置【重点】
1.目标
2.路径
- 什么是防火墙
- 查看防火墙状态
- 关闭防火墙
- 禁用防火墙
- 设置端口防火墙放行【重要】
3.讲解
3.1什么是防火墙
防火墙技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。
在默认情况下,Linux系统的防火墙状态是打开的,已经启动。
3.2查看防火墙状态
- 语法:
service 服务 status
- 命令:
service firewalld status
3.3临时开启/关闭防火墙
- 语法:
service 服务 start/stop/restart
- 命令:
开启:service firewalld start
关闭:service firewalld stop
重启:service firewalld restart 或 firewall-cmd --reload
3.4设置开机开启/关闭防火墙
- 语法
chkconfig 服务 on/off
- 命令
开机开启:chkconfig firewalld on 【默认】
开机关闭:chkconfig firewalld off 【不推荐的】
3.5设置端口防火墙放行【重点】
修改配置文件开放端口号【方式一】
- 修改配置文件
vi /etc/firewalld/zones/public.xml
- 添加放行的端口(vi 复制yy 粘贴p)
<port protocol="tcp" port="8080"/>
- 重启防火墙
service firewalld restart
备注: 默认情况下22端口号是放行的
使用命令开放指定端口号【方式二】推荐使用
# 1.指定要开放的端口号
firewall-cmd --zone=public --add-port=8888/tcp --permanent
# 命令含义:
# --zone #作用域
# --add-port=8888/tcp #添加端口,格式为:端口/通讯协议
# --permanent #永久生效,没有此参数重启后失效
# 2:重启防火墙
service firewalld restart
# 查看已经开放的端口号
firewall-cmd --list-ports
4.小结
- Linux的防火墙默认是开启的. 工作里面的服务器几乎没有关闭防火墙的, 用到哪个端口,就放行哪一个
- 临时开启和关闭
service firewalld start 开启
service firewalld stop 关闭
service firewalld restart 重启
service firewalld status 查看防火墙状态
- 设置开机开启/关闭防火墙
开启:chkconfig firewalld on 【默认】
关闭:chkconfig firewalld off 【实际工作中不允许的】
4. 开放指定端口号【重点】
# 1.使用命令开启指定端口号
firewall-cmd --zone=public --add-port=8080/tcp --permanent
# 2.重启防火墙
service firewalld restart
5. 有关防火墙的设置,需要在root用户权限下,才能设置。
第五章-软件安装
知识点-rpm软件包管理器
1.目标
2.路径
- rpm介绍
- rpm常见的命令
3.讲解
3.1rpm介绍
一种用于互联网下载包的打包及安装工具,它包含在某些Linux(CentOs)发行版中。
3.2rpm常见的命令
rpm -qa: 查询所有安装过的软件包
rpm -e --nodeps 删除的软件包名: 删除指定的安装包
rpm -ivh 包名 :安装rpm包 : rpm -ivh xxxx.rpm
4.小结
- rpm : 工具, 用来打包 和安装软件
- 命令
# 查看所有安装过的包 rpm -qa # 查看某个软件是否安装过 rpm -qa | grep java # 根据包名卸载 -e:卸载 --nodeps:删除相关的内容 rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64 # rpm 安装 rpm -ivh 包名
实操-安装JDK
1.目标
2.讲解
-
下载jdk
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
-
从windows上传到linux
在CRT下, 按下Alt+P
-
检查系统上是否安装了jdk(若安装了就需要先卸载再使用我们自己的)
java -version
-
查看出安装的java的软件包
rpm -qa | grep java
-
卸载linux自带的jdk
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.222.b03-1.el7.x86_64 rpm -e --nodeps java-1.8.0-openjdk-1.8.0.222.b03-1.el7.x86_64 rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.221-2.6.18.1.el7.x86_64 rpm -e --nodeps java-1.7.0-openjdk-1.7.0.221-2.6.18.1.el7.x86_64
-
在 /usr/local 新建一个文件夹 java
mkdir /usr/local/java
-
解压 jdk.....gz 到 /usr/local/java下
cd ~ tar -zxvf jdk-8u192-linux-x64.tar.gz -C /usr/local/java
-
配置环境变量
vi /etc/profile # 在文件的最后面添加如下代码 export JAVA_HOME=/usr/local/java/jdk1.8.0_192 export PATH=$JAVA_HOME/bin:$PATH
-
保存退出
点击ESC
输入: 到底行模式
输入 wq 回车退出即可
-
重新加载配置文件
source /etc/profile
-
测试安装是否成功
java -version
3.小结
//1.将jdk的压缩包上传到linux (alt+p 直接拖)
//2.检查当前linux系统是否已安装jdk,如果已安装,先进行卸载
//3.解压jdk安装包到/usr/local/java目录下
//4.配置jdk环境变量,重新加载配置文件
实操-安装Tomcat
1.目标
2.讲解
-
下载tomcat
-
上传
在crt上 使用 alt+p
-
在 /usr/local 新建一个文件夹tomcat
mkdir /usr/local/tomcat
-
将上传的tomcat压缩包 解压到/usr/local/tomcat目录下
cd ~ tar -zxvf apache-tomcat-8.5.27.tar.gz -C /usr/local/tomcat/
-
进入 /usr/local/tomcat/apache-tomcat-8.5.27/bin
cd /usr/local/tomcat/apache-tomcat-8.5.27/bin
-
启动tomcat
方式1: sh startup.sh 方式2: ./startup.sh
-
修改防火墙的规则
# 方式1:service firewalld stop 关闭防火墙(不建议);用到哪一个端口号就放行哪一个(80,8080,3306...) # 方式2:放行8080 端口 # 1.指定要开放的端口号 firewall-cmd --zone=public --add-port=8080/tcp --permanent # 2:重启防火墙 service firewalld restart # 查看已经开放的端口号 firewall-cmd --list-ports
3.小结
//1.将tomcat压缩包拷贝到linux主机上
//2.将tomcat压缩包解压到/usr/local/tomcat/文件夹下
//3.开放tomcat端口号8080
//4.启动tomcat 外部即可访问
进入到bin目录:eg:./startup.sh 或 sh startup.sh
外部访问:eg:http://虚拟机ip地址:8080
知识点-安装MySQL
1.目标
2.讲解
-
下载mysql
-
上传到linux 在CRT下,按Alt+P
-
检查系统上是否安装了mysql( 若安装了就需要先卸载再安装我们自己的)
# 查看 rpm -qa | grep -i mysql # 检查是否有Mariadb rpm -qa | grep maria # 如果存在则删除 rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64
-
在 /usr/local 新建一个文件夹mysql
mkdir /usr/local/mysql
-
把mysql压缩包解压 到/usr/local/mysql目录下
cd ~ [root@sz113 ~]# tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar -C /usr/local/mysql/
-
开始安装 顺序:common-libs-client-server
# 切换到 mysql rpm 安装包所在路径 cd /usr/local/mysql cd /usr/local/mysql [root@localhost mysql]# rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm [root@localhost mysql]# rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm [root@localhost mysql]# rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm [root@localhost mysql]# rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm # 注意:如果哪个同学安装错误了,把前面安装的这4个软件给卸载了,重新安装。 # rpm -e --nodeps mysql-community-common-5.7.28-1.el7.x86_64.rpm # rpm -e --nodeps mysql-community-libs-5.7.28-1.el7.x86_64.rpm # rpm -e --nodeps mysql-community-client-5.7.28-1.el7.x86_64.rpm # rpm -e --nodeps mysql-community-server-5.7.28-1.el7.x86_64.rpm
-
启动Mysql
#启动mysql服务 service mysqld start
-
获取MySQL安装时root账号分配的随机密码
grep 'temporary password' /var/log/mysqld.log
-
登录,修改root用户密码
# 2021-06-10T11:54:31.559543Z 1 [Note] A temporary password is generated for root@localhost: ex-9-eTk-mh? [root@localhost mysql]# mysql -uroot -p Enter password: 输入随机密码 # 进入了MySQL之后,执行下面的三句话,把root用户的密码,设置为root # 1.更改密码设置策略 set global validate_password_policy=0; # 2.修改密码长度设置 set global validate_password_length=1; # 3.修改root账户密码 set password=password("root"); # 4. 退出mysql quit
-
登录mysql
mysql -uroot -proot
-
设置数据库字符编码集及端口号
# 进入MySQL查看字符编码设置: mysql> show variables like 'char%'; # 退出MySQL,编辑MySQL配置文件 将拉丁文的设置改为 utf8 mysql> quit [root@localhost bin]# vi /etc/my.cnf # 在[mysqld] 的下面,添加这句话,如下图所示 character_set_server=utf8 # 添加完成之后文件保存退出,重启mysql [root@localhost bin]# service mysqld restart
-
允许远程连接 mysql
现在的MySQL是安装在linux里面的,我们在Windows里面想查看linux的MySQL数据库,要敲命令去查看,效率就有点低。打算像Windows的一样,使用可视化工具来看。
默认情况下,MySQL不允许远程连接。 自己电脑上的MySQL只能允许自己的电脑来访问。
# 1.在linux上 登录mysql mysql -uroot -proot # 2.创建远程账号itcast,密码ABcd_123 create user 'itcast'@'%' identified by 'ABcd_123'; # 3.授权 grant all on *.* to 'itcast'@'%' with grant option; # 4.刷新权限 flush privileges; # 5. 退出mysql quit
-
放行3306端口号
# 1.指定要开放的端口号3306 firewall-cmd --zone=public --add-port=3306/tcp --permanent # 2:重启防火墙 service firewalld restart
3.小结
//CentOS7.7安装MySQL5.7.28
//1.检查当前linux是否已经安装过MySQL和MariaDB,如果已安装,需要卸载干净
//2.注意安装顺序common-lib-client-server
//3.启动MySQL服务
//4.获取root随机密码登录,修改root密码
//5.创建远程登录用户并授权
//6.开放MySQL端口号3306
总结
- 常用的命令
- 目录命令
- cd : 跳转到具体的位置
- ls: 列举目录里面的内容
- mkdir : 创建目录
- 文件命令
- touch: 创建文件
- cat | more | tail
- cat :一次性查看
- more : 分页查询
- tail : 适合查看日志文件,查看末尾的一段内容
- 目录和文件通用命令
- mv: 移动|剪切 mv 源文件(目录) 目标位置
- cp: 拷贝 cp 源文件(目录) 目标位置
- rm : 删除 rm -rf xxx
- 文件编辑
- vi aa.txt : 进入命令模式
- 点击 i : 进入编辑模式
- 开始写内容
- 点击 esc : 回到命令模式
- 输入: 来到底行模式
- q! : 退出不保存
- wq: 保存且退出
- 压缩和解压缩
- 压缩
- tar -zcvf 目标文件 源文件1 源文件2...
- tar -zcvf doc.tar.gz aa.txt bb.txt cc.txt
- 解压缩
- tar -xvf 压缩包文件 解压在当前目录
- tar -xvf 压缩包文件 -C 目标位置 解压到其他位置去
- 压缩
- 其他常用命令
- ifconfig : 查看ip地址
- clear : 清屏
- 防火墙命令:
- service firewalld start|stop|restart..
- 目录命令
- 安装软件
- jdk
- tomcat
- mysql