阶段总结(linux基础)
目录
一、初始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进程的进程号。
数据库操作
数据类型
数据表操作
数据库备份
数据库用户权限管理
相关文章:

阶段总结(linux基础)
目录 一、初始linux系统 二、基本操作命令 三、目录结构 四、文件及目录管理命令 查看文件内容 创建文件 五、用户与组管理 六、文件权限与压缩管理 七、磁盘管理 八、系统程序与进程管理 管理机制 文件系统损坏 grub引导故障 磁盘资源耗尽 程序与进程的区别 查…...

HTTP(超文本传输协议)学习
关于HTTP补学 一、HTTP能干什么 通过下图能够直观的看出:“交换数据 ” 二、HTTP请求例子 一个 HTTP 方法,通常是由一个动词,像 GET、POST 等,或者一个名词,像 OPTIONS、HEAD 等,来定义客户端执行的动作。…...
23年7月工作笔记整理(前端)
目录 一、js相关二、业务场景学习 一、js相关 1.js中Number类型的最大值常量:Number.MAX_VALUE,最小值常量:Number.MIN_VALUE 2.巩固一下reduce语法:reduce(function(初始值或方法的返回值,当前值,当前值的索引,要累加的初始值))…...

pytorch学习——正则化技术——权重衰减
一、概念介绍 权重衰减(Weight Decay)是一种常用的正则化技术,它通过在损失函数中添加一个惩罚项来限制模型的复杂度,从而防止过拟合。 在训练参数化机器学习模型时, 权重衰减(weight decay)是…...

iTOP-RK3588开发板Ubuntu 系统交叉编译 Qt 工程-命令行交叉编译
使用源码 rk3588_linux/buildroot/output/rockchip_rk3588/host/bin/qmake 交叉编译 QT 工程。 最后烧写编译好的 buildroot 镜像,将编译好的 QT 工程可执行程序在 buildroot 系统上运行。 交叉编译 QT 工程如下所示,首先进入 QLed 的工程目录下。 然后…...

Java进阶——数据结构与算法之哈希表与树的入门小结(四)
文章大纲 引言一、哈希表1、哈希表概述2、哈希表的基本设计思想3、JDK中的哈希表的设计思想概述 二、树1、树的概述2、树的特点3、树的相关术语4、树的存储结构4.1、双亲表示法4.2、孩子兄弟表示法:4.3、孩子表示法:4.4、双亲孩子表示法 三、二叉树1、二…...
DataFrame中按某字段分类并且取该分类随机数量的数据
最近有个需求,把某个df中的数据,按照特定字段分类,并且每个分类只取随机数量数据,这个随机数量需要有范围限制。写出来记录下。 def randomCutData(self, df, startNum):grouped df.groupby(classify_label)df_sampled pd.Data…...
【c++】rand()随机函数的应用(一)——rand()函数详解和实例
c语言中可以用rand()函数生成随机数,今天来探讨一下rand()函数的基本用法和实际应用。 本系列文章共分两讲,今天主要介绍一下伪随机数生成的原理,以及在伪随机数生成的基础上,生成随机数的技巧,下一讲主要介绍无重复随…...

iOS——Block回调
先跟着我实现最简单的 Block 回调传参的使用,如果你能举一反三,基本上可以满足了 OC 中的开发需求。已经实现的同学可以跳到下一节。 首先解释一下我们例子要实现什么功能(其实是烂大街又最形象的例子): 有两个视图控…...
html学习6(xhtml)
1、xhtml是以xml格式编写的html。 2、xhtml与html的文档结构区别: DOCTYPE是强制性的<html>、<head>、<title>、<body>也是强制性的<html>中xmlns属性是强制性的 3、 元素语法区别: xhtml元素必须正确嵌套xhtml元素必…...

UML-活动图
目录 一.活动图概述: 1.活动图的作用: 2.以下场合不使用活动图: 3.活动图的基本要素: 4.活动图的图符 4.1起始状态 4.2终止状态 4.3状态迁移 4.4决策点 4.5同步条:表示活动之间的不同 5.活动图: 二.泳道: 1.泳道图&a…...

跨境电商怎么做?Live Market教你创业及做大生意
随着全球化的不断深入和互联网技术的迅猛发展,跨境电商成为了一个蓬勃发展的行业。根据eMarketer的数据,2021年全球跨境电商销售额将达到4.5万亿美元,预计到2025年将增长至6.3万亿美元。这表明,跨境电商行业将继续保持强劲增长的趋…...
Linux 4.19 和Linux 5.10 的区别
Linux 4.19和Linux 5.10是Linux内核的两个不同版本。它们之间有一些重要的区别,包括功能、性能和支持方面的改进。以下是一些常见的区别: 功能增强:Linux 5.10相对于4.19引入了许多新功能和增强。例如,Linux 5.10引入了BPF&#x…...

学习单片机的秘诀:实践与坚持
在学习单片机时,将实践与学习结合起来是一个很好的方法。不要一上来就死磕指令和名词,而是边学边做实验,循序渐进地理解和应用指令。通过实验,你能亲身感受到指令的控制效果,增强对单片机的理解和兴趣。 学习单片机不…...

Hum Brain Mapp:用于功能连接体指纹识别和认知状态解码的高精度机器学习技术
摘要 人脑是一个复杂的网络,由功能和解剖上相互连接的脑区组成。越来越多的研究表明,对脑网络的实证估计可能有助于发现疾病和认知状态的生物标志物。然而,实现这一目标的先决条件是脑网络还必须是个体的可靠标记。在这里,本研究…...
Ajax图书管理业务
图书管理业务 Ajax图书管理业务 需求: 对服务器的图书数据进行 增、删、改、查。功能的实现,同时实时动态的渲染刷新页面内容 根据功能模块分为四个业务模块,下面有各个业务的实现步骤 01_ 渲染图书列表业务 * 目标1:渲染图书列表 * 1.1 获…...
对于爬虫代码的优化,多个方向
对于优化爬虫,有许多可能的方法,这取决于你的具体需求和目标。以下是一些常见的优化策略: 1. **并发请求**:你可以使用多线程或异步IO来同时发送多个请求,这可以显著提高爬虫的速度。Python的concurrent.futures库或a…...
ffmpeg推流卡顿修复
1、使用命令如下: $"ffmpeg -i {this.IpAddress} -f flv {PushAddress}" 2、参考文章: ffmpeg 编码如何做带宽控制输出_ffmpeg bufsize_qianbo_insist的博客-CSDN博客...

Java02-迭代器,数据结构,List,Set ,TreeSet集合,Collections工具类
目录 什么是遍历? 一、Collection集合的遍历方式 1.迭代器遍历 方法 流程 案例 2. foreach(增强for循环)遍历 案例 3.Lamdba表达式遍历 案例 二、数据结构 数据结构介绍 常见数据结构 栈(Stack) 队列&a…...

离散 Hopfield 神经网络的分类与matlab实现
1 案例背景 1.1离散 Hopfield 神经网络学习规则 离散型 Hopfield神经网络的结构、工作方式,稳定性等问题在第9章中已经进行了详细的介绍,此处不再赘述。本节将详细介绍离散Hopfield神经网络权系数矩阵的设计方法。设计权系数矩阵的目的是: ①保证系统在异步工作时的稳…...
STL 2迭代器
文章目录 1.迭代器2.输入迭代器3.输出迭代器1.插入迭代器 4.前向迭代器5.双向迭代器6.随机访问迭代器7.不同容器返回的迭代器类型1.输入 / 输出迭代器2.前向迭代器3.双向迭代器4.随机访问迭代器5.特殊迭代器适配器6.为什么 unordered_set 只提供前向迭代器? 1.迭代器…...

JUC并发编程(二)Monitor/自旋/轻量级/锁膨胀/wait/notify/锁消除
目录 一 基础 1 概念 2 卖票问题 3 转账问题 二 锁机制与优化策略 0 Monitor 1 轻量级锁 2 锁膨胀 3 自旋 4 偏向锁 5 锁消除 6 wait /notify 7 sleep与wait的对比 8 join原理 一 基础 1 概念 临界区 一段代码块内如果存在对共享资源的多线程读写操作…...

Yolo11改进策略:Block改进|FCM,特征互补映射模块|AAAI 2025|即插即用
1 论文信息 FBRT-YOLO(Faster and Better for Real-Time Aerial Image Detection)是由北京理工大学团队提出的专用于航拍图像实时目标检测的创新框架,发表于AAAI 2025。论文针对航拍场景中小目标检测的核心难题展开研究,重点解决…...
Springboot多数据源配置实践
Springboot多数据源配置实践 基本配置文件数据库配置Mapper包Model包Service包中业务代码Mapper XML文件在某些复杂的业务场景中,我们可能需要使用多个数据库来存储和管理不同类型的数据,而不是仅仅依赖于单一数据库。本技术文档将详细介绍如何在 Spring Boot 项目中进行多数…...
React 样式方案与状态方案初探
React 本身只提供了基础 UI 层开发范式,其他特性的支持需要借助相关社区方案实现。本文将介绍 React 应用体系中样式方案与状态方案的主流选择,帮助开发者根据项目需求做出合适的选择。 1. React 样式方案 1.1. 内联样式 (Inline Styles) 通过 style …...

【Redis】笔记|第10节|京东HotKey实现多级缓存架构
缓存架构 京东HotKey架构 代码结构 代码详情 功能点:(如代码有错误,欢迎讨论纠正) 多级缓存,先查HotKey缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新…...

spring中的@RabbitListener注解详解
基本用法主要属性1. queues / queueNames2. containerFactory3. id4. concurrency5. ackMode6. priority7. bindings 高级特性1. 消息转换器2. 手动确认3. 条件监听4. 错误处理 配置监听容器工厂注意事项完整示例循环依赖解决1. 使用 Setter 注入2. 使用 Lazy 注解3. 重构代码结…...

系统模块与功能设计框架
系统模块与功能设计框架,严格遵循专业架构设计原则,基于行业标准(如微服务架构、DDD领域驱动设计)构建。设计采用分层解耦模式,确保可扩展性和可维护性,适用于电商、企业服务、数字平台等中大型系统。 系统…...

如何实现本地mqtt服务器和云端服务器同步?
有时候,一个物联网项目,A客户想要本地使用,B客户想要线上使用,C客户想要本地部署,当有网环境时能线上使用。这个时候就需要本地MQTT服务和线上MQTT服务能相互自动转发。 后来经我一翻研究,其实Activemq支持…...

华为云Flexus+DeepSeek征文|Dify - LLM 云服务单机部署大语言模型攻略指南
前言:在当今人工智能快速发展的时代,华为云推出的 Dify - LLM 对话式 AI 开发平台为企业和开发者提供了便捷的大语言模型应用开发解决方案。 通过在华为云 Flexus 云服务器上单机部署 Dify,并成功集成 DeepSeek 模型,我们能够快速…...