运维简学
本文最后更新于:3 个月前
简单了解下运维
运维简学
运维职业规划
云计算
公有云
私有云
混合云
公有云
公有云是作为第三方云厂商所拥有和运营的,他们通过Internet提供计算资源,在公有云中,所有的硬件、软件和其他一些基础性的结构均由云提供商拥有和运营
私有云
私有云一般都是企业或者组织来使用的,可以位于企业数据中心之上,在私有云中,有专门的网络维护功能和基础结构
混合云
顾名思义,即同时使用公有云和私有云
从而允许公司将敏感数据保留私有云中(安全性),同时使用公有云来运行应用程序(低成本)
云计算的服务模式
IaaS 基础设施即服务
PaaS 平台即服务
SaaS 软件即服务
IaaS 基础设施即服务
提供按需付费的计算资源,包括服务器、网络、磁盘存储和数据中心等基础设施
PaaS 平台即服务
提供硬件和软件工具,使开发人员更轻松地快速创建web或移动应用
SaaS 软件即服务
Saas,基于云的应用,被授予的企业或个人通过网络访问使用
例如,百度云盘(个人级 SaaS)、钉钉(企业级 SqaS) 、 53KF客服系统〈企业级 SaaS)
区别
Linux 学习
远程连接
虚拟机/服务器
ip addr
获取本机IP
xshell
ssh root@ip
输入密码
[root@opn90 ~]#输入命令并开始执行
文件目录管理系统
ls 查看目录文件
pwd 查看当前目录
cd 进入相关目录
rm 删除文件 -rf 递归,强制删除
whoami 当前系统用户
mkdir 创建文件夹 -p 递归创建父目录
mv 原 新 修改文件名
cat 查看文本内容
文本编辑
vi 文件名 vi打开文件
i 输入指令,编辑内容,i编辑模式
esc :wq! 写入内容,退出编辑器,强制退出
文件结构
https://blog.csdn.net/wisdom_futrue/article/details/128654038
文件权限
rwx
读 写 运行
--------
421
4 2 1 只读 只写 只运行
7 6 5 3 全 读写 读运行 写运行
7 7 7
用户 用户所在组 其他
文件权限操作
root/user
useradd xxx
--password
ls -l 列出文件详细信息(权限信息)
chmod 777 文件名 改变自己的文件的权限
Linux软件安装
windows exe
mac dmg
linux rpm
yum install xx -y 自动化搜索xx软件包,并安装
备份原配置文件
cd /etc/yum.repos.d/
mkdir repo-bak
mv ./* ./repo-bak
安装
yum install xx -y
systemctl start xxx
进程
ps -ef 显示所有进程信息
过滤命令/管道符
ps -ef | grep "xx" 搜索xx相关信息
端口
netstat -tunlp | grep "xx"
网页访问
打开/关闭nginx
systemctl start nginx
systemctl stop nginx
修改网页显示内容
获取网页源码
curl opn90.top
获取url服务器信息
curl -I opn90.top
查找nginx的首页
rpm -ql nginx | grep "index"
安装vim编辑器
yum install vim -y
修改首页文件内容
dd 清空一行
dG 清空所有内容
复制粘贴源代码
黄金架构LAMP
LAMP
Linux 操作系统
Apache/Nginx web服务器
Mysql/Mariadb 数据库
Prel/PHP/Python 服务端服务器
Apache 渲染静态资源,转发请求
PHP 处理请求
Nginx
轻量级网站服务
稳定性,丰富的功能
系统消耗低,并发能力强
运行
/opt/nginx1-12/sbin/nginx
nginx配置文件
nginx.conf
修改配置后,重启服务
/opt/nginx1-12/sbin/nginx -s reload
基于端口的多虚拟主机
server{
# 监听端口
listen 80;
# 服务名
server_name localhost;
location / {
# 目录地址
root /opt/...;
# 主页
index index.html;
}
...
}
server{
listen 81;
server_name useruser;
...
}
访问日志
对于该日志的记录,分析,可以更清晰的掌握服务器的动态信息,比如安全性
对用户行为进行检测,分析
nginx.conf
/opt/nginx1-12/sbin/nginx
server{
listen 80;
server_name localhost;
# 日志路径
access_log logs/host.access.log main;
location / {
root /opt/...;
index index.html;
}
...
}
持续监测日志内容变化
tail -f /opt/nginx1-12/logs/access.log
代理服务
访问ip得到另一个ip内容
nginx.conf
location / {
# 代理转发
proxy_pass opn90.top
}
正向/反向代理
正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。正向代理还可以使用缓冲特性减少网络使用率
反向代理的典型用途是将防火墙后面的服务器提供给Internet用户访问
正向代理实际代理的是客户端。反向代理代理的是目标服务器
正向代理
访问原来无法访问的资源,如google
可以做缓存,加速访问资源
对客户端访问授权,上网进行认证
代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息
反向代理
保证内网的安全,阻止web攻击,大型网站,通常将反向代理作为公网访问地址,Web服务器是内网
负载均衡,通过反向代理服务器来优化网站的负载
运维自动化
Ansible软件架构
无需客户端
Ansible使用
………………
https://www.bilibili.com/video/BV1QY4y1u7dG
监控
运维自动化体系与监控
监控生命周期
监控体系
监控系统
- 监控系统能够自定义监控的内容,自己通过脚本采集所需要的数据
- 数据需要存入数据库,日后对数据进行分析计算
- 监控系统可以简易,快速的部署到服务器
- 数据可视化直观清晰
zabbix
跳板机
运维/内部人员经过跳板机,进入服务器
堡垒机
通过堡垒机控制IT系统运维风险
跳板机/堡垒机区别
跳板机
跳板机就是一台服务器,运维人员在使用管理服务器时,必须先连接上跳板机,然后才能去操控内网中的服务器,才能登录到目标设备上进行维护和操作
仅实现服务器登录安全,没有实现对于运维人员的行为操作和审计
跳板机优点:
集中式对服务器进行管理
跳板机缺点:
没有实现对于运维人员的行为操作监控和审计,使用跳板机的过程中,还有可能在服务器上进行错误操作,一旦出现错误操作,很难定位到实践人
堡垒机运维思想
审计只是事后的行为,审计能够发现问题以及责任人,但无法防止问题的发生
只有实现了实现严格监控,才能够源头上解决服务器误操作的事故
堡垒机能够创建系统账号,该系统账号功能是属于角色区分的作用,但是也无法确认该账号的执行人
堡垒机作用
跳板机不足,需要一种能够满足
角色管理、角色授权、信息资源访问控制、操作记录和审计、系统变更、维护控制、能够生成服务器资产统计报表
等功能的堡垒机
核心作用
1、核心系统运维和安全审计管理
2、过滤和拦截非法请求访问,恶意功能,拒绝非法命令,进行审计和监控,报警和责任追踪
3、报警、记录、分析、处理
堡垒机核心功能
1、单点登录功能(登录堡垒机==登录所有服务器)
2、账号管理
3、身份认证
4、资源授权
5、访问控制
6、操作审计
总结:
运维权限混乱、操作无审计
JumpServer
首款完全开源堡垒机
符合4A专业运维审计
4A统一安全管理平台解决方案
认证Authentication
授权Authorization
账号Account
审计Audit
补:Linux常用命令
2023.3.20…的确准备不足
文件目录
cd
pwd
cp
mv
rm
查看文件内容
cat
tac
more
head
文件搜索
find
find / -name file1
find / -user user1
find /usr/bin -type f -atime +100 100天内未被使用过的执行文件
find /usr/bin -type f -mtime -10 10天内被创建或修改过的文件
文件的权限
chmod
ls -lh 显示权限
chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o) 读写执行rwx的权限
chmod go-rwx dircetory1 删除群组(g)、其他人(o),读写执行的权限
chown 改变文件所有者
chown user1 file1 改变一个文件的所有人属性
chown -R user1 directory1 改变一个目录所有人属性,并改变目录下的所有文件属性
chown user1:group1 file1 改变一个文件的所有人和群组属性
charp 改变文件所属用户组
chgrp group1 file1 改变文件的群组
文本处理
grep 过滤
grep Aug /var/log/messages 在文件 '/var/log/messages'中查找关键词"Aug"
sed 合并
sed 's/stringa1/stringa2/g' example.txt 将example.txt文件中的 "string1" 替换成 "string2"
paste
paste file1 file2 合并两个文件或两栏的内容
sort 排序
sort file1 file2 排序两个文件的内容
comm
comm -1 file1 file2 比较两个文件的内容只删除 'file1' 所包含的内容
comm -2 file1 file2 比较两个文件的内容只删除 'file2' 所包含的内容
comm -3 file1 file2 比较两个文件的内容只删除两个文件共有的部分
打包与压缩文件
tar 打包
-c :新建打包文件
-t :查看打包文件的内容含有哪些文件名
-x :解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中
-j :通过bzip2的支持进行压缩/解压缩
-z :通过gzip的支持进行压缩/解压缩
-v :在压缩/解压缩过程中,将正在处理的文件名显示出来
-f filename :filename为要处理的文件
-C dir :指定压缩/解压缩的目录dir
压缩:tar -jcv -f filename.tar.bz2 要被处理的文件或目录名称
查询:tar -jtv -f filename.tar.bz2
解压:tar -jxv -f
bzip2 file1 压缩file1
bunzip2 file1.bz2 解压file1.bz2
gzip file1
gunzip file.gz
rar a file1.rar test_file 创建一个叫做 'file1.rar' 的包
rar x file1.rar 解压rar包
zip file1.zip file1 创建一个zip格式的压缩包
unzip file1.zip 解压一个zip格式压缩包
系统、关机
shutdown -h now 关闭系统
init 0
telinit 0
shutdown -h hours:minutes & 按预定时间关闭系统
shutdown -c 取消按预定时间关闭系统
shutdown -r now 重启
reboot 重启
logout 注销
time 测算一个命令(即程序)的执行时间
进程相关指令
jps 显示当前系统的java进程情况,及其id号
ps 将某个时间点的进程运行情况选取下来并输出
-A :所有的进程均显示出来
-a :不与terminal有关的所有进程
-u :有效用户的相关进程
-x :一般与a参数一起使用,可列出较完整的信息
-l :较长,较详细地将PID的信息列出
ps aux 查看系统所有的进程数据
ps ax 查看不与terminal有关的所有进程
ps -lA 查看系统所有的进程数据
ps axjf 查看连同一部分进程树状态
kill 用于向某个工作或者是某个PID传送一个信号
kill –9 3268 // -9 强制杀掉进程
top Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况
netstat -tunlp|grep xxx 查看端口号
-a:(all)显示所有选项,netstat默认不显示LISTEN相关
-t:(tcp)仅显示tcp相关选项
-u:(udp)仅显示udp相关选项
-n:拒绝显示别名,能显示数字的全部转化成数字
-l:仅列出有在:Listen:(监听):的服务状态
-p:显示建立相关链接的程序名
-r:显示路由信息,路由表-e:显示扩展信息,例如uid等
-s:按各个协议进行统计
-c:每隔一个固定时间,执行该netstat命令
服务器、内存
free 查看内存使用情况
-b:以字节为单位显示
-k:以KB为单位显示,默认就是以KB为单位显示
-m:以MB为单位显示
-g:以GB为单位显示
cat /proc/cpuinfo 查看CPU信息
uname 显示系统的启动时间和平均负载
网卡
ifconfig 显示或设置网络设备
防火墙
firewall-cmd --get-zones 列出filewalld下的区域
firewall-cmd --get-default-zone 查看默认区域
systemctl stop firewalld 临时关闭防火墙
systemctl restart firewalld 重启防火墙
systemctl enable firewalld 设置firewalld防火墙开机自启
systemctl disable firewalld 永久关闭防火墙
firewall-cmd --reload 重载防火墙规则
firewall-cmd --list-all 查看防火墙默认区域的放行规则
日志
日志文件格式
>基本日志格式包含一下四列:
-事件产生的时间
-发生事件的服务器的主机名
-产生事件的服务名或程序名
-事件的具体信息
/var/log/cron-----记录了系统定时任务相关的日志
/var/log/cups/-----记录打印信息的日志
/var/log/dmesg-----记录了系统在开机时内核自检的信息.也可以使用dmesg命令直接查看内核自检信息
/var/log/btmp-----记录错误登录的日志.这个文件是二进制文件,不能直接vim查看,而要使用[lastb]命令查看
/var/log/lastlog-----记录系统中所有用户最后一次的登录时间的日志.这个文件也是二进制文件,不能直接vim,而要使用lastlog命令查看
/var/log/mailog-----记录邮件信息
/var/log/message-----记录系统重要信息的日志.这个日志文件中会记录Linux系统的绝大多数重要信息,如果系统出现问题时,首先要检查的就应该是这个日志文件.
/var/log/secure-----记录验证和授权方面的信息,只要涉及账户和密码的程序都会记录.比如说系统的登录,ssh的登录,su切换用户,sudo授权,甚至添加用户和修改用户 密码都会记录在这个日志文件中.
/var/log/wtmp-----永久记录所有用户的登录,注销信息,同时记录系统的启动,重启,关机事件.同样这个文件也是一个二进制文件,不能直接vim,而需要使用last命令来查 看.
/var/run/utmp-----记录当前已经登录的用户的信息.这个文件会随着用户的登录和注销而不断变化,只记录当前登录用户的信息.同样这个文件不能直接vim,而要使用 w,who,users等命令来查询.
数据库
https://blog.csdn.net/weixin_43642752/article/details/126289672
关系型/非关系型
关系型数据库,采用了关系模型来组织数据的存储,以行和列的形式存储数据并记录数据与数据之间的关系 —— 将数据存储在表格中,可以通过建立表格与表格之间的关联来维护数据与数据之间的关系
非关系型数据库,采用键值对的模型来存储数据,只完成数据的记录,不会记录数据与数据之间的关系
在非关系型数据库中基于其特定的存储结构来解决一些大数据应用的难题
NoSQL(Not only SQL)数据库来指代非关系型数据库
MySql语法
------------------- 库 ----------
show databases
create database if not exists 库名
alter database 库名 character set 字符集
drop database is exists 库名
------------------- 表 ----------
show tables
desc 表名 查询指定表的表结构
drop table if exists 表名
alter table 旧表名 rename to 新表名
alter table 表名 add 列名 类型
alter table 表名 change 旧列名 新列名 类型
alter table 表名 modify 列名 类型
alter table 表名 drop 列名
------------------- 定义字段 ----------
auto_increment 自增
not null 非空
unique 唯一
primary key 主键————非空+唯一
foreign key 外键
------------------- 操纵字段 ----------
insert into 表名(列名1,...) values (值1,...)
delete from 表名 [where ...]
update 表名 set 列名1=值1, ... where
------------------- 查询字段 ----------
select 列名1,.. from 表名 where
where ... like ...
select 字段1 as 别名1 from 表
select distinct 字段 from 表 消除重复行
where ... order by 列 asc|desc 按照指定的值升序/降序排列
------------------- 聚合函数 ----------
count max min sum avg
------------------- 字符串函数 ----------
concat(colnum1,) 拼接多行
upper(column) 将字段的值转换成大写
lower(column) 将指定列的值转换成小写
------------------- 排序/查询 ----------
排序查询
order by 字段名 排序方式
分组查询
group by 字段名
分页查询
limit
------------------- 多表 ----------
内连接
inner join
左连接:
显示左表中的所有数据,如果在有右表中存在与左表记录满⾜匹配条件的数据,则进⾏匹配;如果右表中不存在匹配数据,则显⽰为null
left join
右连接:
显⽰右表中的所有数据,如果在有左表中存在与右表记录满⾜匹配条件的数据,则进⾏匹配;如果左表中不存在匹配数据,则显⽰为null
right join
------------------- 嵌套查询 ----------
select id from user where name = (select a from b where c=c)
------------------- 事务 ----------
程序中一系列严密的逻辑操作,而且所有操作必须全部成功完成,否则在每个操作中所作的所有更改都会被撤消。
------------------- JDBC ----------
JAVA......
TCP/IP
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!