运维工程师学习计划
特点项目
[x] Linux
[x] Shell
[x] Nginx
[x] Prometheus
[x] Mysql
[ ] Tomcat
[ ] Ansible
[ ] Golang
[ ] Python
[x] Docker
[ ] Kubernetes
计划Linux学习计划第一周:
第一天:Linux 操作系统和基本组件
第二天:Linux 命令行介绍
第三天:Linux 目录结构和基本文件操作
第四天:文本编辑器和文件管理器
第五天:文件权限和所有权
第六天-第七天:复习和测试(例如Linux 系统的安装、配置和启动)
第二周:
第一天:Linux 进程和任务管理
第二天:软件包管理工具(例如 yum 和 apt-get)
第三天:Linux 用户和组
第四天:shell 脚本编程
第五天:文件系统和磁盘管理
第六天-第七天:复习和测试(例如远程管理、网络配置和备份)
第三周:
第一天:Linux 网络和网络工具
第二天:Linux 安全和加密
第三天:Linux 日志管理
第四天:Linux 内核和模块
第五天:Linux 虚拟化和容器化
第六天-第七天:复 ...
Python3安装及设置环境变量
背景Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。
Centos检查当前系统是否已安装Python在终端中输入以下命令来检查系统是否已安装Python:
1python --version
如果Python已安装,终端将显示Python的版本号。如果未安装,将显示错误消息。
安装Python环境如果Python未安装,可以通过以下命令来安装:
1sudo yum install python3
这将安装最新版本的Python 3。
设置环境变量一旦Python被安装,需要将其添加到系统的环境变量中,以便能够在终端中直接访问它。可以使用以下命令来打开.bashrc文件:
1nano ~/.bashrc
在文件的末尾添加以下行:
1export PATH=$PATH:/usr/bin/python3
保存并关闭文件。
重新加载环境变量使用以下命令重新加载环境变量,以便使更改生效:
1source ~/.bashrc
验证Python环境输入以下命令来验证Python环境是否正确设置:
1python3 --version
终 ...
Maven 配置阿里源
什么是Maven?如今我们构建一个项目需要用到很多第三方的类库,如写一个使用Spring的Web项目就需要引入大量的jar包。一个项目Jar包的数量之多往往让我们瞠目结舌,并且Jar包之间的关系错综复杂,一个Jar包往往又会引用其他Jar包,缺少任何一个Jar包都会导致项目编译失败。
以往开发项目时,程序员往往需要花较多的精力在引用Jar包搭建项目环境上,而这一项工作尤为艰难,少一个Jar包、多一个Jar包往往会报一些让人摸不着头脑的异常。
而Maven就是一款帮助程序员构建项目的工具,我们只需要告诉Maven需要哪些Jar 包,它会帮助我们下载所有的Jar,极大提升开发效率。
什么是Maven仓库?Maven仓库用来存放Maven管理的所有Jar包。分为:本地仓库 和 中央仓库。
本地仓库:Maven本地的Jar包仓库。
中央仓库: Maven官方提供的远程仓库。
当项目编译时,Maven首先从本地仓库中寻找项目所需的Jar包,若本地仓库没有,再到Maven的中央仓库下载所需Jar包。
阿里云的maven仓库列表https://maven.aliyun.com/mvn/vie ...
Linux 清理缓存和缓存内容
背景在大多数情况下,Linux缓存耗用的内存量并不会对系统性能产生太大的影响,因为缓存可以提高系统的性能并加快访问速度。因此,除非你确实需要清除缓存以释放内存,否则最好不要将清理缓存作为常规操作。
操作
sync 命令将硬盘缓存数据同步到磁盘上,以保存文件。
echo 1 > /proc/sys/vm/drop_caches 这个命令会将页缓存清空。
echo 2 > /proc/sys/vm/drop_caches 这个命令将释放内存缓存和inode对象。
echo 3 > /proc/sys/vm/drop_caches 将清空缓存和内存缓存inode对象。
Docker搭建DNS服务器
前言 DNS服务器是(Domain Name System或者Domain Name Service)域名系统或者域名服务,域名系统为Internet上的主机分配域名地址和IP地址。
安装实验环境
IP
系统版本
角色
192.168.40.121
Ubuntu 22.10
DNS服务器
192.168.40.122
Ubuntu 22.10
测试机器
服务器端Docker安装更新软件包1root@121:~# apt-get update
安装docker1root@121:~# apt-get install -y docker.io
创建文件存储文件1root@121:~# mkdir -p /opt/docker/dns-server
创建容器运行dns服务器1root@121:~# docker run --name dns-server -d --restart=always --publish 53:53/tcp --publish 53:53/udp --publish 10000:10000/tcp --volume /opt/docker ...
Nginx 实现文件的上传与下载
前言Nginx是一款高性能、可靠的Web服务器软件,同时用作文件上传和下载
配置系统版本12[root@127 ~]# cat /etc/redhat-release CentOS Linux release 8.5.2111
创建用户12[root@127 ~]# useradd -s /sbin/nologin -M nginx #创建一个nginx用户,且不生成用户目录,和不能登录
创建目录12345678910111213141516171819202122232425[root@127 ~]# mkdir -p /export/share/upload/[root@127 ~]# mkdir -p /export/tmp/upload/[root@127 ~]# cd /export/tmp/upload/[root@127 upload]# mkdir 0 1 2 3 4 5 6 7 8 9 state[root@127 upload]# chown -R nginx:nginx /export/ #文件夹权限管理[root@127 export]# ...
程序员手记
Linux终端快捷键光标移动| 快捷键 | 作用 || ————- | ————————————————— || crtl+a | 移动到开头 || crtl+e | 移动到结尾 || alt+b | 向左移动一个单词 || alt+f | 向右移动一个单词 || crtl+b | 向左移动一个字符 || crtl+f | 向右移动一个字符 || esc+b | 向左移动一个单词 || esc+f | 向右移动一个单词 || ctrl+XX | 在上次光标和当前光标所在字符间跳转 || esc+t | 交换光标位置钱的两个单词 |
删除| 快捷键 | 作用 ...
Linux系统基线检查
1查询系统信息1. Linux 查看内核版本(大于2.6)(I级)12uname -acat /proc/version
2. Linux 查看系统版本12lsb_release -acat /etc/issue
2身份鉴别1. 系统是否存在重复的 UID(II级)UID(UserID)——用户标识号,它与用户名唯一对应,Linux 以 UID 作为用户的唯一标识,Linux中超级用户 root 的 UID 为 0,可以直接使用 id 命令查看当前用户的 UID。可以查看 passwd 文件以查看所有用户的 UID 等基本信息:
1vim /etc/passwd
3密码审查密码的生命周期最大为 90 天(III级)密码可以被立即修改(III级)密码的最小长度为 8 位(III级)密码到期的提醒,一般建议 7 天(III级)查看并修改 login.defs 文件:
1vim /etc/login.defs
检查并修改如下内容:
1234PASS_MAX_DAYS 90 #一个密码可使用的最大天数PASS_MIN_DAYS 0 #两次密码修改之间最小的间隔天数PASS_MIN_LEN 8 ...
Nginx 如何设置访问权限
前言Nginx是一款高性能、可靠的Web服务器软件,同时也是一款功能丰富的反向代理服务器。在使用Nginx搭建Web服务时,有时需要对访问权限进行设置,以保障服务器的安全性。本文将介绍如何使用Nginx设置访问权限。
配置使用基本身份验证基本身份验证(Basic Authentication)是一种简单但有效的身份验证方式,通过在HTTP请求头中添加用户名和密码信息,来验证用户身份。Nginx提供了基本身份验证的功能,可以在nginx.conf文件中进行配置。具体步骤如下:
安装Apache工具包基本身份验证需要使用htpasswd工具,该工具可以生成密码文件,记录用户名和密码的加密信息。在Ubuntu系统中,可以使用以下命令安装Apache工具包:
1sudo apt-get install apache2-utils
生成密码文件使用以下命令生成密码文件:
1sudo htpasswd -c /etc/nginx/.htpasswd username
配置Nginx在nginx.conf文件中添加以下配置:
12345location / { auth_basic ...
华为-策略路由静态路由实例与NQA联动
NQA概念NAQ(Network Quality Analysis,网络质量分析)是系统提供的一个特性,位于链路层之上,覆盖网络层、传输层和应用层,独立于底层硬件,可实时监视网络性能状况,在网络发生故障时进行故障诊断和定位。
NQA联动目的静态路由/策略路由本身并没有检测机制,如果非本机直连链路发生了故障,静态路由/策略路由不会自动改变(不会从IP路由表中自动删除),需要管理员介入,这就无法保证及时进行链路切换,可能造成较长时间的业务中断。
静态路由/策略路由与NQA联动可以解决非本机直连链路发生故障后可以及时进行链路切换。
组网要求
如下图所示,LSW1作为用户的网关,PC1、PC2和PC3分别属于vlan10、vlan20和vlan40,通过LSW1介入AR1路由器。
实现各网段PC间的互访,并且制定192.168.10.0/24网段走ISP1链路上网,192.168.20.0/24网段走ISP2链路上网,默认路由是ISP链路,192.168.40.0/24走默认路由。
当一条链路发生故障时,不同网段地址的报文都走无故障的链路,避免长时间的业务中断。当故障解决后,各网段按原来指 ...