2018-9-10 随笔

DNS 是域名解释服务器,
有正向解释 ,通过域名解释IP地址
有反向解释 ,通过IP解释域名地址

DNS的分布结构:
根服务器
一级DNS服务器 : .com .cn .org .net .edu
二级DNS服务器 : set.cn .com.cn
三级DNS服务器 : sina.cn
网站节点 : www.sina.cn

域名的管理制度
国家的域名的管理中心

DHCP的原理
分配的IP地址 ,分配默认网关,分配子网验码

DHCP的基本概念:
租期,IP地址的有效期,单位为秒
作用域,IP地址的分配范围,所分配IP 的网段
地址池, IP地址分配的IP范围

DHCP的配置文件,
/etc/name.conf

PXE网络装机,服务端所需要的配置服务
http /ftp ——提供yum源
DHCP ——提供IP地址
vsftp ——提供ks引导文件

客户端应该要满足的要求以及工作原理:
1.网卡芯片必须满足PXE协议
2.主板支持网卡启动

工作的模式是,可以重网卡启动,计算机的引导的时候,网卡芯片调度到内存的进行执行,内存开启引导菜单文件,获取PXE server的配置,引导软件下载到本地

rsync 叫远程同步的工具
可以支持本地的同步,ssh的同步,免密ssh同步rsync主机同步

复制与同步的差异,
复制的完全复制
同步是增量复制,只是同步增加的部分

inotify的实时同步,可以实时监控数据的变化
inotify 的指定特定的权限操作, create , modify change , delete

目前主流的web服务器:
apache nginx tomcat lightttpd jboss

nginx的基本概论
是俄罗斯人编写的高性能的web服务器,支持反向代理的服务。
nginx的升级使用的是平滑升级
nginx的配置文件: /usr/loal/nginx/conf/nginx.conf
一个server就是一个虚拟主机,虚拟的主机的配置方法:基于域名,基于IP ,基于端口

nginx的应用:
1.用户认证登陆 2.加密网站的登陆(SSL的虚拟主机) 3.基于域名的虚拟主机 4.地址重写 4.TCP/UDP的调度服务

LNMP的平台的搭建:
L是liunx
N是nginx
M是 mysql orlocl mariDB
P是 perl php python (等语言)

拓展知识
php-mysql 是php接连数据库的工具

nginx 的调度器:
调度算法:
1.轮询算法:逐一轮询(默认算法)
2.weight : 是指定轮询的机率,指定权重,访问的次数成正比
3.ip_hash 是根据客户端的ip进行分配后端的服务器

服务器组的主机状态:
1.down:表示当前的server暂时不参与集群的负载均衡的服务
2.max_fail:表示最大的失败次数(默认值为1)
3.fail_timeout : max_fail 连接失败后,暂停服务的时间

nginx的TCP/UDP的调度器
nginx要开启–with-stream模块 (但是要在nginx的1.9版本以上才支持这个模块)
nginx配置服务池,实现TCP/UDP服务

nginx的调优
1.调节nginx的进程数量
2.优化nginx的并发量
3.优化nginx的数据包的包头缓存
4.浏览器本地的静态的缓存数据
5.自定义的报错页面
6.查看服务器的状态信息
7.对页面进行压缩
8.对服务器的内存进行缓存
9.隐藏具体的版本号
10.限定最大的并发量(防止DDOS进攻)
11.阻止非法访问
12.防止buffer溢出

数据的存储对比:
数据的读写速度:
cpu缓存 > 内存> 硬盘 > 数据库
价格:
cpu缓存 > 内存> 硬盘 > 数据库

memcached 的介绍:
是一个高性能分布式的数据缓存服务器(跟redis最大的区别是不支持数据持久化)
用来集中缓存数据的查询结果,减少数据库的访问次数,可以提高web的效应速度
memcached 是把数据暂存在内存上,所以关机,断电,重起是会使数据掉失

memcached 端口是2839
LNMP + memcached
yum -y install php-pecl-memcache 是PHP连接memcached 的数据库,PHP默认是不会连接mamcached 的数据库

java 的特点
开源免费,跨平台,面向对象的通用语言,java 具有高效的跨平台型,通用性,高效性,和平台移植性,

tomcat 的虚拟主机的配置:
一个host name 就是一个虚拟主机
SSL的加密网站

tomcat的安全保护:
1.隐藏版本信息、修改tomcat主配置文件(隐藏版本信息)
2.降级启动,tomcat默认是root启动
3.删除默认的测试网页

varnish代理加速服务器
varnish 是一款高性能的并是开源的反向代理服务器:
varnish 的是高性能 ,速度更快, 管理更加方便的服务器
varnish 是需要使用脚本进行启动

subversion 版本控制器
是一个自由的,开源的版本控制系统
subversion的管理下,可以使文件和目录超时空
可以检查数据的修改历史
允许多人同时使用subversion版本控制系统,并可以查看修改记录
subersion 可以支持windows 和 liunx 系统,但是大多数都是支持liunx

subversion的服务架构:

VPN是虚拟专用网络
1.是在公有网络上建立私有的虚拟专用网络,进行加密通信
2.偶尔海外可以用来进行翻墙(但是必须在海外有一个服务器)
3.应用场景:集图公司和各个子公司进行通信
4.VPN 目前主流的技术有那些 : PPTP GRE SSL L2TP+IPSEC

pssh远程套件工具:
PSSH 是一个提供openssh的工具
PSSH 是使用phtyon编写的
只能在phtyon的2.4版本上才可以使用

liunx的安全
用户帐号的安全
查看,修改用户的效期 (chage)
change -l change -E

临时锁定用户:
passwd -l 是锁定用户
passwd -S 是解锁用户

锁定文件
chattr +i 文件名 //锁定文件(无法修改、删除等)
chattr -i 文件名 //解锁文件
chattr +a 文件名 //锁定后文件仅可追加
chattr -a 文件名 //解锁文件
lsattr 文件名 //查看文件特殊属性

sudo分配权限管理:
su的使用语法格式:
su - [账户名称]
su - [账户名称] -c ‘命令’

为普通用户赋于特定的权限:
修改配置文件 /etc/sudoers

如何提高ssh的安全:
1.调整ssh的配置参数: /etc/ssh/sshd_config
2.定义登陆的黑白名单
3.使用密钥免密登陆 ssh-key ssh-copy-id root@客户端IP

审计:
审计不会对系统进行额外的安全保护,但是会对违反安全策略的人的行为记录下来
审计能够以日志的形式记录下来:
1.如日期与事件, 事件的结果
2.触发事件的用户
3.所有的认证的机制都会被记录下来
4.对关键文件的修改行为

数据库的安全:
数据库第一次安装时默认root是没有密码的
安装完MariaDB或MySQL后,默认root没有密码,并且提供了一个任何人都可以操作的test测试数据库。有一个名称为mysql_secure_installation的脚本,该脚本可以帮助我们为root设置密码,并禁止root从远程其他主机登陆数据库,并删除测试性数据库test

修改密码成功,而且密码在数据库中是加密的,有什么问题吗?问题是你的密码被明文记录了,下面来看看明文密码:
另外数据库还有一个binlog日志里也有明文密码(5.6版本后修复了)。怎么解决?
管理好自己的历史,不使用明文登录,选择合适的版本5.6以后的版本,日志,行为审计(找到行为人),使用防火墙从TCP层设置ACL(禁止外网接触数据库)。

安全的监控软件:
Nagios
是基于Agent监控,强大的监控机制和报警机制
插件非常多,可以自己写入脚本进行监控

zabbix
是基于LNMP上进行搭建的监控,可以把监控数据写入数据库。有强大的图形化功能,也可以自定义触发条件,实现自定义监控
zabbix可以运在大性的集群上,zabbix有多种的监控自己,有分布式的监控机制
zabbix是通过c/s 采集数据
zabbix是通过B/S实现 web管理

zabbix的监控内容:
监控内存 CPU 交换分区 网络连接 网卡端口信息 磁盘 也可以自定义脚本进行监控

iptables 的防火墙使用
看看之前的博客

数据库:
什么是数据库:
依照某种数据模型进行组织并存放到存储器的数据集合

常见的数据库厂商:
mysql mariDB oracle SQL server DB2 Sybase

mysql 的特点:
可移植性高,可以跨平台使用 支持多种语言 使用的c 和c++编写的数据库

典型的数据库应用场景:
LNMP LAMP

mysql的数据类型有:枚举型 数据型 时间函数型 字符型

库的管理 增 (create) 改 (modify) 查 (select) 删( drop)
Show databases; // 显示已有的库
切换库– Use 库名 ;
Select database(); // 显示当前所在的库
Create database 库名 ; // 创建新库
// 显示已有的表
Show tables;
Drop database 库名; // 删除库

表的管理:
查看表结构: delest 表名
查看表的记录 select * from 表名
创建表 create tables 库名.表名(字段名,字段类型,约束条件 ,);
删除表 drop tables 库名.表名;
删除表记录 delect table 库名.表名;
修改表记录 update 库名.表名 set 字段=字段

表结构(是数据存储的关键,也是一个DBA的基本技能,表结构的设计关系到后面的数据的存储)
添加字段:add
修改字段类型:modify
修改字段名: change
删除字段 : drop
修改表名 : rename

mysql索引:
是对数据进行排序(类似与书的目录)
索引类型包括 :Btree 、 B+tree 、 hash

索引优点
– 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性
– 可以加快数据的检索速度
• 索引缺点
– 当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度
– 索引需要占物理空间

键值类型
• INDEX :普通索引
• UNIQUE :唯一索引
• FULLTEXT :全文索引
• PRIMARY KEY :主键
• FOREIGN KEY :外键

猜你喜欢

转载自blog.csdn.net/weixin_42816196/article/details/82584827