目录
一、初始linux系统
二、基本操作命令
三、目录结构
四、文件及目录管理命令
查看文件内容
创建文件
五、用户与组管理
六、文件权限与压缩管理
七、磁盘管理
八、系统程序与进程管理
管理机制
文件系统损坏
grub引导故障
磁盘资源耗尽
程序与进程的区别
查看进程命令
九、网络概述、OSI协议
十、DHCP服务器管理
十一、DNS服务器
DNS解析过程
域名服务器的分类
十二、Apache
十三、Nginx
十四、SSL加密
十五、Tomcat
十六、SSH
十七、Rsync
十八、NFS存储
十九、ISCSI
二十、mysql数据库
数据库操作
数据类型
数据表操作
数据库备份
数据库用户权限管理
一、初始linux系统
linux诞生于1991年(linux之父:林纳斯托瓦兹)
特点:
开放性,多用户、多任务、良好的用户界面、优异的性能和稳定性
单用户:在登陆操作系统时,只能允许同时登陆一个用户
多用户:在登陆操作系统时,允许同时登陆多个用户进行操作
单任务:允许用户同时进行的操作任务数量
多任务:允许用户同时进行多个操作任务
linux内核官网:http://www.kernel.org
格式:主版本号_此版本号_修订版本号
主版本号:标识内核的架构、功能等方面的重大升级
次版本号:代表当前版本是开发版还是稳定版
修订版本号:同一个内核次版本中的不断修订和升级,即每一次小的改动
常见发行版本:Ubuntu、CentOS、RedHat、debian、Fedora、Kali
二、基本操作命令
终端命令:
清除屏幕内容 ctrl+l
打开多个标签 ctrl+shift+t
退出终端 exit
查看命令类型 type+[命令]
命令补齐 TAB
命令帮助 man/info/--help
查看主机名称 hostname
查看网卡参数 ifconfig
查看CPU信息 cat /proc/cpuinfo
查看内存信息 cat /proc/meminfo
查看内存的使用情况 free -m
查看磁盘使用情况 df -Th
关机命令 poweroff/shutdown now/init 0
重启命令 reboot/shutdown -r/init 6
切换目录 cd
查看目录内容 dir/ls
查看内容 cat
打印所处目录的绝对路径 pwd
三、目录结构
根目录/ | |
/root | 管理员用户家目录的存储目录 |
/home | 普通用户家目录的存储目录 |
/etc | 系统及应用程序的配置文件的默认存放目录 |
/usr | local 自定义安装的应用程序存储目录 bin 存储所有用户都有权限操作的命令 sbin 存储只有管理员有权限操作的命令 |
/sbin | /usr/sbin的链接文件 |
/bin | /usr/bin的链接文件 |
/dev | 设备文件存储目录 |
/proc | 设备信息文件及内核配置文件存储目录 |
/run | 进程PID及相关文件存储目录 |
/var | log 系统及硬件或程序日志存储目录 spool mail用户邮件存储目录 cache 缓存存放目录 run 是/run的链接文件 |
/lib | 32位依赖库 |
/lib64 | 64位依赖库 |
/boot | 内核文件及启动信息文件存储目录 |
/sys | 操作系统及硬件相关信息及日志、状态等文件的存储目录 |
/mnt | 测试挂载的空目录 |
/opt | 一般会将拷贝的文件放置此目录 |
/media | 外部媒体设备默认挂载目录 |
四、文件及目录管理命令
cd | 切换目录 |
ls ls -l ls -h ls -a ls -A ls -R ls -t ls -r ls -d | 查看目录内容 -l 以长格式选项显示目录内容 -h 以人性化方式显示 -a 显示所有隐藏文件以.开始 -A 显示除.和..之外的隐藏文件 -R 递归显示目录内容 -t 按照时间戳排序,与-l结合使用,默认排序 -r 翻转排列,可以与-t结合使用 -d 查看目录本身,一般与-l结合使用 |
mkdir mkdir -p | 创建目录 递归创建目录 |
rm rm -i rm -r rm -f | 删除目录 交互式询问是否操作 递归删除目录及子目录 强制删除 |
alias alias unalias | 查看系统所有别名 创建别名(alias 自定义命令字=‘系统命令 选项’) 删除别名(alias 自定义命令字) |
mv | 移动目录/重命名 |
cp cp -i cp -r cp -p cp -f | 复制目录 当目录文件存在时,交互式询问是否操作 递归复制目录及子目录 保留属主及属组权限复制目录 当目标文件存在,先删除后复制 |
查看文件内容 | |
cat cat -n | 将文件内容直接打印到终端 显示行号 |
more | 将文件内容分页显示到终端(只能向下,不支持查找) |
less | 将文件内容分页显示到终端 |
head head -n | 显示文件内容前十行,默认显示前10行 要显示的行数 n=行 |
tail tail -n tail -f | 显示文件内容的后几行 要显示的行数 n=行 动态显示文件内容 |
| | 管道符,将前一个命令处理结果交给后一个命令再次处理 |
创建文件 | |
touch | 创建空文件 |
> >> | 正确重定向 覆盖 正确重定向 追加 |
2> 2>> | 错误重定向 覆盖 错误重定向 追加 |
&> &>> | 混合重定向 覆盖 混合重定向 追加 |
vim | 默认空文件 |
rm rm -i rm -f | 删除文件 交互删除 强制删除 |
mv | 移动文件 |
cp | 复制文件 |
date(系统时间)%Y年 %m月 %d日 %H小时 %M分钟 %S秒 创建带有时间戳文件 touch `date +%Y%m%d%H%M%S`_test.txt |
五、用户与组管理
root | # | uid | 0 |
普通用户 | $ | uid | 1000~65535 |
程序用户 | uid | 1~999 |
创建用户 useradd | |||
创建用户的特点 | 创建新用户,假设没有跟新用户同名的组或没有指定用户的基本组,则肯定会创建同名用户 | ||
shell | 查看系统支持的可登陆shell | cat /etc/shells | /bin/sh /bin/bash /usr/bin/sh /usr/bin/bash /bin/tcsh /bin/csh |
可登录系统 | /bin/bash | CentOS默认shell | |
不可登陆系统 | /sbin/nologin /bin/sync /sbin/shutdown /sbin/halt | 程序用户一般都设置为该shell | |
创建用户 命令选项 | |||
-d --home-dir | 指定用户的家目录 | useradd -d /path username | |
-e --expiredate | 指定用户的失效时间 | useradd -e YYYY-MM-DD username | |
-f --inactive | 密码过期后,账户被彻底禁用之前的天数 0表示立即禁用 -1表示禁用这个功能 | useradd -f n username | |
-g --gid | 用户初始登陆组(基本组)的组名或GID,组名必须已经存在,组号码必须指代已经存在的组 | useradd -g GID username | |
-G --groups | 指定用户的附加组,该组必须已经存在 | useradd -G GID username | |
-M --no-create | 不创建用户的主目录,常用于程序用户的创建。 | useradd -M username | |
-N --no-user-group | 不创建同名的组 | useradd -g GID -N username | |
-p --password | 加密后的新账户密码 | useradd -p 加密后的密码 username | |
-s --shell | 新账户的登陆 shell | useradd -s shell的路径 username | |
-u --uid | 新账户的用户ID | useradd -u 指定的ID号 username |
修改用户属性 usermod [选项option] username | |||
-d --home-dir | 修改用户的家目录 | usermod -d /path username | |
-e --expiredate | 修改用户的失效时间 | usermod -e YYYY-MM-DD username | |
-f --inactive | 密码过期后,账户被彻底禁用之前的天数。 0表示立即禁用 -1 表示禁用这个功能 | usermod -f n username | |
-g | 用户初始登陆组(基本组)的组名或GID,组名必须已经存在,组号码必须指定已经存在的组。 | usermod -g GID username | |
-G | 修改用户的附加组,该组必须已经存在。 | usermod -G GID username | |
-L | 锁定用户密码,账户不能登陆系统。 | usermod -L username | |
-m | 与-d选项配合,将老的家目录内容移动到-d指定的新家目录 | usermod -m -d /path username | |
-p | 修改账户密码 | usermod -p 加密后的密码 username | |
-s | 修改账户的登录 shell | usermod-s shell的路径 username | |
-u | 修改账户的用户 ID | usermod -u 指定的ID号 username | |
-U | 解除密码锁定 | usermod -U username | |
-a | 为用户添加多个附加组,与-G结合使用 | usermod -a -G groupName username |
单用户密码设置 passwd [选项] username | |||
-l | 锁定用户密码,账户不能登录系统 | passwd -l username | |
--stdin | 读取标准输入的内容作为密码 | passwd --stdin username | |
-u, --unlock | 解除密码锁定 | passwd -u username | |
-d, --delete | 删除用户密码 | passwd -d username | |
-e, --expire | 密码失效 | passwd -e username | |
-S, --status | 查看给定账户的密码状态(锁定或不锁定) | passwd -S username | |
非交互式修改密码 | echo a | passwd --stdin user1 | ||
批量用户设置密码 chpasswd | |||
生成用户与密码的对应关系 | username:password echo -e "username1:password1\nusername2:password2" [>filename] | ||
删除用户 userdel [选项] username | |||
-r, --remove | 用户主目录中的文件将随用户主目录和用户邮箱一起删除。在其它文件系统中的文件必须手动搜索并删除。 | userdel -r username | |
组管理 创建groupadd 修改groupmod 删除groupdel 添加用户gpasswd | |||
-g | groupadd -g GID groupName | 指定GID创建 | |
-g | groupmod -g GID groupName | 修改GID | |
groupdel groupName | 删除 | ||
-a | gpasswd -a userName groupName | 添加用户到组 | |
-d | gpasswd -d userName groupName | 将用户移除 | |
-M | gpasswd -M userName1,userName2,...... groupName | 批量添加用户到组 |
六、文件权限与压缩管理
读 | r,read | 文件目录 | 4 |
写 | w,write | 文件目录 | 2 |
执行 | x,execute | 执行文件 | 1 |
进入目录 | |||
数字权限采用八进制,最大值为7:rwx;文件或目录的最大权限:777 |
用户及组表示 | 所有用户 | a,all |
属主 | u,user | |
属组 | g,group | |
其他用户 | o,other |
chmod 修改属主、属组、其他用户的权限值,改变文件的访问权限。 | ||
chmod -R mode file | 改变目录及其所有子目录的文件权限,递归 | |
chmod -v mode file | 详细说明权限的变化 |
chown 修改属主、属组,修改文件所有者和组别 | ||
chown -R user group | 改变目录及其所有子目录的文件权限,递归 | |
chmod -v user group | 详细说明权限的变化 |
tar 归档压缩 | |
-c | 创建归档包 |
-z | 使用gzip压缩 |
-j | 使用bzip2压缩 |
-v | 输出归档过程 |
-f | 使用归档文件 |
-x | 解压归档包 |
-f | 指定归档文件 |
-C | 指定解压归档包后需要存储的目录,没有使用-C,默认放到当前目录 |
常用组合 | |
gzip压缩 | tar -zcvf 归档包名称.tar.gz 需要归档的文件或目录 |
bzip2压缩 | tar -jcvf 归档包名称.tar.bz2 需要归档的文件或目录 |
解压归档包 | tar xf 归档包名称.tar[.gz[.bz2]] [-C 解压路径] |
七、磁盘管理
MBR 只能划分4个主分区 且磁盘容量小于2TB
GPT 理论无限个
文件系统类型 | |
XFS | LINUX 7之后的系统默认文件系统 |
EXT4|3|2 | LINUX 7 之前的系统默认文件系统 |
SWAP | 交换分区 当物理内存不足时,临时充当内存使用防止系统崩溃 |
查看 | fdisk -l | lsblk | |
添加磁盘 | linux添加磁盘后默认是不识别 | 重启 热扫描 | |
热扫描 for i in `ls /sys/class/scsi_host`;do echo "- - -" > $i/scan;done | |||
fdisk 交互式 | fdisk /dev/sdb | ||
p 打印分区情况 | |||
n 新建分区 | Select (default p): | 设置分区类型 | |
分区号 (3,4,默认 3): | 设置分区号 | ||
起始 扇区 (4196352-41943039,默认为 4196352): | 设置容量起始扇区,一般都是默认 | ||
Last 扇区, +扇区 or +size{K,M,G} (4196352-41943039,默认为 41943039): | 设置容量大小,一般采用+size | ||
w | 保存退出 | ||
子命令 | |||
p | 创建主分区 | ||
e | 创建扩展分区 | 子命令 l | 创建逻辑分区 |
l | 82 swap分区 | 83 linux基本分区 | 8e LVM逻辑卷 |
t 改分区类型标识 | d 删除分区 | w 保存分区并退出 | q 不保存退出 |
格式化 构建操作系统对分区的文件组织方法 | ||
mkfs | 格式化分区 | |
-t | 指定文件系统类型 | |
-f | 强制格式化 |
手动挂载 | mount [选项] 设备源 挂载点(目录) |
自动挂载 | /etc/fstab /dev/mapper/centos-root / xfs defaults 0 0 |
卸载挂载 | umount 设备源 | 挂载点 |
LVM逻辑卷 | ||
存储位置 | /dev/mapper | /dev/vgName |
物理卷 | 查看 | pvdisplay |
扫描 | pvscan | |
创建 | pvcreate | |
删除 | pvremove | |
卷组 | 查看 | vgdisplay |
扫描 | vgscan | |
创建 | vgcreate vgName pvName(/dev/sdb1) | |
删除 | vgremove vgName | |
扩容 | vgextend vgName pvName | |
缩容 | vgreduce vgName pvName | |
逻辑卷 | 查看 | lvdisplay |
扫描 | lvscan | |
创建 | lvcreate | |
删除 | lvremove | |
扩容 | lvextend /dev/testvg/tstlv -L +1G | |
lvextend lvPath -L +size | ||
缩容 | lvreduce /dev/testvg/tstlv -L -1G | |
lvreduce lvPath -L -size |
八、系统程序与进程管理
启动流程 | |
开机自检流程 | 1.power on开机 |
2.POST开机自检,如果有问题会发出蜂鸣声,没有问题就加载bios程序 | |
3.bios是基本输入输出系统,通过BIOS加载引导程序 | |
4.boot启动顺序检查,启动第一启动顺序 | |
选择硬盘作为第一启动顺序 | 5.然后找到硬盘的第一个扇区,读取MBR主引导记录,MBR中有一个grub2引导程序,是用来启动Linux系统的 |
6.加载/boot里文件系统里的驱动 | |
7.运行/boot里的内核文件vmlinuz、initramfs | |
8.启动systemd进程(系统的第一个进程,是所有其他进程的父进程) | |
9.启动对应的运行级别的里的服务,我们一般是启动multi-user多用户模式 | |
10.启动相应运行级别的的服务,比如/etc/rc.local以及/etc/fstab文件 | |
11.然后进入login登录,用户输入用户名和密码以后,Linux系统会自动进入/etc/passwd文件和/etc/shadow文件里验证用户名和密码是否正确 | |
12.验证成功之后,运行/etc/profile和 /etc/bashrc 全局配置(所有验证成功的用户都会加载),再运行用户家目录下的初始化文件, /.bash_profile、/.bashrc 局部配置(只有用户本身可以加载) |
管理机制
Linux7及之后的新版本系统
语法 systemctl 服务操作类型 服务名称
服务启停脚本存储目录 /usr/lib/systemd/system
文件系统损坏
模拟故障:dd if=/dev/zero of=/dev/sdd1 bs=512 count=4
centos7下的ext文件系统修复:
umount /dev/sdb1
fsck -y -t ext4 /dev/sdb1
grub引导故障
故障模拟:mv /boot/grub2/grub.cfg /grubbackup ; reboot
驱动(模块)操作
查看模块:lsmod
卸载模块:rmmod 模块名称
加载模块:insmod 模块的绝对路径
修复(手动引导操作系统)
1)grub>ls,查看磁盘分区信息,找到boot分区
2)grub>insmod xfs
grub> set root=(hd0,msdos1) (----> 这个为你上一步中找到的boot分区)
grub> linux16 /vmlinuz-xxxxx root=/dev/centos/root
grub> initrd16 /initramfs-.xxxxx.img
grub> boot
3)将备份好的gurb文件拷贝到/boot/grub2/目录中。或者 在没有备份grub的情况下: grub2-mkconfig --output /boot/grub2/grub.cfg 重新生成grub
磁盘资源耗尽
1)磁盘空间不足
清理磁盘或者添加新磁盘
2)inode节点耗尽
查看磁盘inode节点数量:df -i
删除无用文件
3)预防磁盘资源耗尽的最好办法
进行磁盘配额
程序与进程的区别
程序:静态代码,存储在硬盘等介质中
进程:程序运行后在CPU及内存中运行的动态代码;父进程与子进程;
查看进程命令
ps aux静态显示正在内存运行中的进程信息
ps -elf属于当前登录的所有进程信息
pgrep 进程筛选
pstree 显示进程树
top 动态显示进程信息
九、网络概述、OSI协议
通信知名厂商
谷歌、微软、苹果、美国在线、YouTube
知名防火墙品牌
迈普、深信服、华为、锐捷、360
IEEE 802.3 有线局域网 | |
IEEE 802.3u标准 | 百兆快速以太网标准 |
IEEE 802.3z标准 | 光纤介质实现千兆以太网标准规范 |
IEEE 802.3ab标准 | 双绞线实现千兆以太网标准规范 |
IEEE 802.3ae标准 | 实现万兆以太网标准 |
IEEE 802.3ba标准 | 实现十万兆以太网标准 |
IEEE 802.11 无线局域网 | |
IEEE 802.11a | 速率最高可达54Mbps |
IEEE 802.11b | 速率最高可达11Mbps |
IEEE 802.11g | 速率最高可达54Mbps |
IEEE 802.11n | 速率最高可达600Mbps |
星型拓扑
优点 易于实现 易于网络扩展 易于故障排查
缺点 中心节点压力大 组网成本较高
网型拓扑
各个节点至少与其他两个节点相连 可靠性高、组网成本也高
OSI七层模型 | |
应用层 | 网络服务与最终用户的一个接口 HTTP FTP TFTP SMTP SNMP DNS 提供与用户的接口 |
表示层 | 数据的表示、安全、压缩 定义传递信息的语法和语义 编码和解码、压缩解压缩、加密解密 |
会话层 | 建立、管理、终止会话 建立用户间的会话关系 |
传输层 | 定义传输数据的协议端口号,以及流控和差错校验(TAP头部、数据段) TCP UDP 用户进程间的通信 承上启下 |
网络层 | 进行逻辑地址寻址,实现不同网络之间的路径选择(IP头部、TCP头部、数据包) ICMP IGMP IP ARP RARP 数据包封装结构 源和目的方的逻辑地址 根据包头的逻辑地址选路 |
数据链路层 | 建立逻辑连接、进行硬件地址寻址、差错校验等功能(MAC头部、IP头部、TCP头部、数据帧) 由底层网络定义的协议 数据帧封装结构 源和目的方的物理地址 数据校验功能 |
物理层 | 建立、维护、断开物理连接(比特流) 由底层网络定义的协议 如何使用物理信号来表示数据1和0 数据传输是否可同时在两个方向上进行 通信双方如何建立和中止连接 物理接口特性 |
TCP/IP五层模型 | ||
应用层 | HTTP | 传输文本协议 |
检测端口号80/TCP | ||
FTP | 文件传输协议 | |
检测端口号21/TCP | ||
TFTP | 简单文件传输协议 | |
检测端口号69/UDP | ||
DNS | 域名解析协议 | |
检测端口号53/TCP | ||
SMTP | 邮件传输协议 | |
检测端口号25/TCP | ||
传输层 | TCP | 传输控制协议/网间协议 |
UDP | 无连接传输协议 | |
网络层 | ICMP | 控制报文协议 |
用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息 | ||
IGMP | internet组管理协议(组播协议) | |
运行在主机和组播路由器之间 | ||
ARP | 地址解析协议 | |
根据网络层IP数据包包头中的IP地址信息解析出目标硬件地址(MAC地址)信息,以保证通信的顺利进行 | ||
RARP | 反向地址转换协议 | |
RARP发出要反向解析的物理地址并希望返回其对应的IP地址,应答包括由能够提供所需信息的RARO服务器发出的IP地址 | ||
数据链路层、物理层 |
十、DHCP服务器管理
Dynamic Host Configuration Protocol | 动态主机配置协议 |
动态的进行IP地址分配 | |
服务端的监听端口 | 67/udp |
客户端监听端口 | 68/udp |
网络架构 | C/S |
工作流程 | 1、 当客户端配置为自动获得IP地址时,客户端发送discover广播包(发现),用来寻找网络中的DHCP服务器 |
2、假如网络存在DHCP服务器,此时服务器给出回应,向客户端发送Offer广播包,携带了IP地址的信息,询问客户端是否使用该IP地址 | |
3、假如客户端使用上述IP地址,向服务端发送Request广播包,并将请求信息写入到该包内。 | |
4、 服务端向客户端发送Ack广播包,并确定IP地址的租约期。 | |
当客户端重启后 | 客户端直接发送Request包 IP地址空闲:服务端直接回应Ack IP地址被占用:服务端回应noAck(客户端需要将上述“工作流程”完整执行一遍) |
配置文件存储路径 | /etc/dhcp |
默认配置文件副本路径 | /usr/share/doc/dhcp-4.2.5/ |
数据文件存储路径 | /var/lib/dhcpd |
核心配置文件 cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf | /etc/dhcp/dhcpd.conf 配置项,配置DHCP分配的地址池 subnet subnet 192.168.100.0 netmask 255.255.255.0 { host,固定IP地址,指定分配给对应的MAC地址的主机 host fantasia { |
十一、DNS服务器
DNS监听端口:53/udp 53/TCP
默认运行用户:named
配置文件目录:/etc/
区域文件目录|安装目录:/var/named/
完全限定域名 | FQDN | 根域 | . |
组成 | www | baidu | con |
主机名. | 二级域名. | 顶级域名. | |
顶级域 | 不能擅自更改,必须有资质的部门更改 | ||
cn org edu hk uk com mil | |||
二级域 | 自定义,需要进行注册,并且不能侵权,需要向公安局备案 | ||
baidu sina soho 163 | |||
三级域 | 二级域的子域 | ||
DNS解析过程 | |||
客户端如何解析域名 | 本地DNS缓存 | ||
本地hostswenjian | |||
指向的DNS服务器IP | 直接给出解析结果 | 递归查询 | |
没有给出解析结果 | 迭代查询 | ||
递归查询 | 客户机与本地DNS服务器之间的查询。(所答即所问) | ||
迭代查询 | 本地DNS服务器与根等其他DNS服务器之间的查询。(所答非所问) | ||
域名服务器的分类 | |||
根据作用 | |||
1.根域名服务器:最高层次的域名服务器,也是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。 | |||
2.顶级域名服务器:负责管理该顶级域名注册的二级域名。 | |||
3.权限域名服务器:负责一个“区”的域名服务器。 | |||
4.本地域名服务器:本地域名服务器不属于域名服务器的层次结构,但是它对域名系统非常重要。当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。 | |||
根据应用场景 | |||
主服务器(Primary Name server) 为客户端提供域名解析的主要区域,主DNS服务器宕机,会启用从DNS服务器提供服务。 | |||
辅助服务器(Second Name Server) 主服务器DNS长期无应答,从服务器也会停止提供服务,主从区域治安的同步采用周期性检查+通知的机制,从服务器周期性地检查主服务器上地记录情况,一旦发现修改就会同步,另外主服务器上如果又数据被修改了,会立即通知从服务器更新记录。 | |||
高速缓存服务器(Cache-only server) 缓存服务器是一种不负责域名数据维护,也不负责域名解析地DNS服务类型。它将用户经常使用到地域名与IP地址解析记录保存在主机本地中,来提升下次解析的效率。 |
正向解析 | |
zone "jxedu.com" IN { type master; file "jxedu.com.zones"; }; | zone "需要解析的域名" IN { type 服务器类型; (master 、 slave) file "解析文件名称"; } |
反向解析 | |
zone "100.168.192.in-addr.arpa" IN { type master; file "192.168.100.zones"; }; | |
正向解析文件 | |
$TTL 3H @ IN SOA jxedu.com. root.jxedu.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS dns1.jxedu.com. dns1 A 192.168.100.254 www A 192.168.100.100 ftp A 192.168.100.101 mail A 192.168.100.102 ww A 192.168.100.103 | |
反向解析文件 | |
$TTL 3H @ IN SOA jxedu.com. root.jxedu.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS dns1.jxedu.com. 254 PTR dns1.jxedu.com. 100 PTR www.jxedu.com. 101 PTR ftp.jxedu.com. 102 PTR mail.jxedu.com. 103 PTR ww.jxedu.com. |
十二、Apache
传输协议是http/https协议
默认端口:80/443
yum安装 /etc/httpd主安装目录 | conf.modules.d 模块加载配置文件存储目录 | |
conf.d conf目录的附属目录 | ||
conf/httpd.conf(主配置文件目录) | ||
ServerRoot "/etc/httpd" Listen 80 Include conf.modules.d/*.conf User apache Group apache ServerName www.example.com:80 DocumentRoot "/var/www/html" DirectoryIndex index.html | 服务安装根目录 监听端口 引用外部配置文件到当前文件中 运行账户 运行组 可用域名 网页文档根目录 默认访问首页 | |
命令目录 | /usr/sbin | |
网页源码存放目录 | /var/www/html | |
PID存储目录 | /run/httpd | |
日志目录 | /var/log/httpd | debug, info, notice, warn, error, crit,alert, emerg |
编译安装 /usr/local/apache2 | extra httpd-vhosts.conf | 虚拟主机头配置 |
httpd.conf 主配置 | ||
ServerRoot "/etc/httpd" Listen 80 Include conf.modules.d/*.conf User apache Group apache ServerName www.example.com:80 DocumentRoot "/var/www/html" DirectoryIndex index.html | 服务安装根目录 监听端口 引用外部配置文件到当前文件中 运行账户 运行组 可用域名 网页文档根目录 默认访问首页 | |
证书存储目录 | /etc/pki/tls | |
配置文件语法检查 | httpd -t -f /usr/local/apache2/conf/httpd.conf | |
虚拟主机头基本配置 | yum安装 | |
mkdir /etc/httpd/extra cp /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf /etc/http/extra vim /etc/httpd/conf/httpd.conf在文件末尾追加:IncludeOptional extra/*.conf 将htpd.conf中Listen 80 注释掉 在httpd-vhosts.conf中加入:Listen 80 | ||
编译安装 | ||
vim /usr/local/apache2/conf/httpd.conf中去掉注释:Include conf/exta/httpd-vhosts.conf | ||
将htpd.conf中Listen 80 注释掉:在httpd-vhosts.conf中加入:Listen 80 |
十三、Nginx
概述 | 功能 | web服务 |
反向代理 | ||
负载均衡 | ||
缓存服务 | ||
网站模型 | epoll | |
优势 | 并发高,单机并发高达50000 | |
监听端口 | 80/TCP | |
目录 结构 | 查看nginx安装后生成的目录及文件 | rpm -ql nginx |
/etc/nginx/ | Nginx安装主目录 | |
/usr/bin/ | Nginx更新命令 | |
/usr/sbin/ | Nginx启动命令 | |
/usr/share/nginx/ | 网页文档根目录 | |
/var/lib/nginx | 缓存和临时文件 | |
/var/log/nginx/ | 日志文件 | |
命令 | nginx-upgrade | 更新命令 |
主配置文件 | /etc/nginx/nginx.conf | |
user nginx; | 运行用户 | |
worker_processes | 进程数量 | |
error_log | 错误日志 | |
pid | 进程ID | |
include | 引用其他文件到当前文件 | |
events { worker_connections } worker_processes 1; 那么最大连接数就是 1024/2 | 定义每个工作进程的最大连接数 | |
http{} web网站配置块 | log_format 日志格式配置 access_log 访问日志路径 include /etc/nginx/mime.types; 支持的文件解析类型 | |
server { } 定义web站点配置 | listen 监听端口 server_name 域名 location 指定访问的路径及默认文档 root 访问文档根目录 index 默认文档 |
十四、SSL加密
加密类型 | 对称加密 | 密钥相同,不安全 | |
非对称机密 | 公钥 | 所有人都可以知道,用来对使用对等私钥加密的数据进行解密 | |
私钥 | 只有自己知道,用来对使用对等公钥加密的数据进行解密 | ||
数据加密 | 使用公钥加密,保证数据一致性(完整性) | ||
数字签名 | 使用私钥加密,保证发送者的确定性 |
SSL 概述 | 网景公司(Netscape)设计的主要用于Web的安全传输协议。 | |
安全套接字 | secure socket layer | |
通过证书来实现 | ||
证书颁发机构(CA),PKI认证 | ||
传输过程 | 首先发送数字证书,获取到可信的public key | |
通过public key发送对称秘钥,接收方用私钥解密。 | ||
通信双方使用仅仅对方可知的对称秘钥进行加密传输 | ||
在https协议中的监听端口 | 443/tcp | |
https的特点 | 通过数字证书确认服务器身份,获知服务器公钥 | |
将对称加密密钥通过非对称进行传输沟通 | ||
之后的通信过程采取对称加密 |
十五、Tomcat
默认监听端口:8080/TCP
十六、SSH
端口号 | TCP/22 | ssh是工作在传输层和应用层的协议 |
服务名 | sshd | |
ssh命令 | ssh | 远程连接客户端工具 ssh [options] [user@]hostname [command] |
scp | 基于ssh的远程复制命令 | |
sftp | 安全的文件传输程序 | |
ssh-copy-id | 客户端将公钥上传至服务器 | |
验证过程 | 客户端发起请求,ssh 服务器IP地址 | |
确认是否保存指纹信息,yes确认保存 | ||
输入目标主机密码 | ||
打开子shell建立会话 | ||
若退出,则使用exit |
十七、Rsync
端口号:873/TCP
十八、NFS存储
十九、ISCSI
3260
二十、mysql数据库
为什么要用数据库,优势、特性?
可靠性和稳定性
现代数据库系统通常具有高度可靠性和稳定性,可以提供持久性和容错性,可以确保企业的数据安全性。
数据管理能力
数据库系统提供了一种强大的方式来管理数据,从数据的存储到访问都进行统一的管理。企业可以更好地跟踪、管理和报告数据,从而使工作更加高效。
数据共享和集成
企业常常需要从不同的部门和应用程序中收集信息和数据。通过使用数据库,这些数据可以集成在一起,使企业更容易理解业务、做出决策。
数据安全性和隐私保护
企业往往会处理大量的机密数据,如个人信息、财务信息、业务数据等等。数据库管理系统可以提供安全的访问控制和数据保护功能,保护数据的隐私性和机密性。
减少数据冗余
数据库技术可以帮助企业减少数据冗余和重复,提高数据的一致性、准确性和可重用性。
关系型数据库,RDBMS
非关系型数据库,NoSQL
目录结构
mysql:存储MySQL的数据文件和表结构定义等。
mysql-files:存放需要MySQL账户权限的文件。
mysql-keyring:存放加密密钥,以供MySQL使用。
mysql.sock:MySQL服务器的Unix套接字文件。
ib_logfile0和ib_logfile1:InnoDB引擎的事务日志文件。
ibdata1:InnoDB引擎的数据文件,包括表数据和索引等。
*.err:MySQL错误日志文件,记录MySQL运行时的错误和警告等信息。
*.pid:MySQL进程ID文件,存储MySQL进程的进程号。
数据库操作
数据类型
数据表操作
数据库备份
数据库用户权限管理