自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 收藏
  • 关注

原创 Harbor私人仓库服务

Harbor私人仓库服务1. 案例概述1.1 案例前置知识点2. Harbor服务2.1 Harbor日常操作管理2.2 Harbor管理生命周期3.实验1. 案例概述案例二概述最近某又提出一个新需求,将项目全部打包成镜像部署私有仓库服务,经过几轮商讨,最终选择Docker HarborDocker Harbor有可视化的Web管理界面,可以方便管理Docker镜像,又提供了多个项目的镜像权限管理及控制功能1.1 案例前置知识点Harbor是VMware公司开源的企业级Docker Regis

2020-11-17 09:56:38 370

原创 docker-compose和Consul

docker-compose自动编排1. 案例概述1.1 案例前置知识点1.1.1 Docker Compose1.1.2 Consul2. Docker的网络通信2.1 端口映射2.2 容器互联3. Docker Compose容器编排3.1 Docker Compose环境安装3.2 YAML3.3 Docker Compose配置常用字段3.4 Docker Compose常用命令3.5 Compose命令说明4. 构建自动发现的Docker服务架构4.1 建立Consul服务4.2 查看集群信息5.

2020-11-16 11:25:24 414

原创 私有仓库registry

私有仓库registry1. registry的使用2. 数据卷容器1. registry的使用[root@localhost ~]# docker pull registry ###私有仓库的核心,下载registryUsing default tag: latest latest: Pulling from library/registrycbdbe7a5bc2a: Pull complete 47112e65547d: Pull complete 46bcb632e506: Pul

2020-11-16 09:33:32 241

原创 Dockerfile镜像构建

Dockerfile镜像构建1. 构建SSH镜像2. 构建systemctl镜像3. 构建nginx镜像4. 构建tomcat镜像5. 构建mysql镜像1. 构建SSH镜像[root@localhost]#mkdir sshd [root@localhost]# cd sshd[root@localhost sshd]#vim Dockerfile FROM centos:7MAINTAINER maintainerRUN yum -y update ##更新yum仓库RUN yu

2020-11-11 19:17:49 120

原创 Docker基本管理

Docker基本管理1. Docker的概述1.1 Docker是什么?1.2 Docker与虚拟机的区别1.3 Docker的使用场景1.4 Docker核心概念1.5 CentOs安装Docker的两种方式2. 安装Docker2.1 安装依赖包2.2 设置阿里云镜像源2.3 安装Docker-ce3 Docker基础使用3.1 镜像操作3.2 容器操作4. Docker镜像的分层4.1 Docker镜像4.1.1 基于已有镜像创建4.1.2 基于本地模板创建4.1.3 基于Dockerfile创建4.

2020-11-10 09:32:50 514

原创 rvm-installer.sh脚本

#!/usr/bin/env bashshopt -s extglobset -o errtraceset -o errexitset -o pipefailrvm_install_initialize(){ DEFAULT_SOURCES=(github.com/rvm/rvm bitbucket.org/mpapis/rvm) BASH_MIN_VERSION="3.2.25" if [[ -n "${BASH_VERSION:-}" && .

2020-11-05 16:43:23 349 1

原创 Redis集群

Redis集群1. Redis集群概述1.1 为什么要搭建Redis集群1.2 Redis集群介绍1.3 Redis集群的优势1.4 Redis-Cluster数据分片1.5 Redis-Cluster的主从复制模型2. 实验2.1 设置网络参数、关闭防火墙和selinux(所有节点)1. Redis集群概述1.1 为什么要搭建Redis集群单节点Redis服务器带来的问题单点故障■服务不可用■无法处理大量的并发数据请求■数据丢失—大灾难1.2 Redis集群介绍■Redis集群是一个提供在

2020-11-05 16:17:56 140 1

原创 NoSQL之Redis配置与优化

NoSQL之Redis配置与优化1. Redis概述1.1 数据库1.2 Redis简介1.3 Redis配置文件1.4 redis-cli命令行工具1.5 key相关命令1.6 redis-benchmark测试工具1.7 redis-benchmark测试工具2. Redis多数据库操作2.1 安装redis1. Redis概述1.1 数据库●一个结构化的数据库,创建在关系模型基础上●一般面向于记录●包括.Oracle、MySQL、SQL Server、Microsoft Access、DB

2020-11-04 20:11:35 81

原创 squid代理服务器应用

squid代理服务器应用1. squid代理服务器概述1.1 squid简介1.2. squid 代码请求流程1.3 squid代理服务类型2. 实验2.1 案例环境2.2 传统代理2.3 透明代理2.4 反向代理2.5 sarg日志分析2.6 ACL访问控制2.7 错误集1. squid代理服务器概述1.1 squid简介squid是一个支持http、https、ftp等服务的web缓存代理软件,通过缓存页面实现降低宽带占用提高页面响应时间。另外,squid提供访问控制,squid的缓存页面存放在内

2020-11-03 09:36:50 290 1

原创 Nginx+Tomcat负载均衡、动静分离

Nginx+Tomcat负载均衡、动静分离1. Tomcat 概述1.1 Tomcat 简介1.2 应用场景1.3 安装过程2. Nginx+Tomcat 负载均衡、动静分离群集实验2.1 Tomcat1 192.168.100.202.2 Tomcat1 192.168.100.301. Tomcat 概述1.1 Tomcat 简介Tomcat 最初是由 Sun 的软件构架师詹姆斯·邓肯·戴维森开发的。后来他 帮助将其变为开源项目,并由 Sun 贡献给 Apache 软件基金会。由于大部分开源项目

2020-11-02 20:01:30 95

原创 Haproxy搭建Web群集

Haproxy搭建Web群集1. Haproxy搭建Web群集概述1.1 简介1.2 请求方式1.3 POST方式1.4 返回状态码2. 负载均衡常用调度算法3. 常见的WEB群集调度器4. 使用Haproxy搭建Web群集4.1 调试存储服务器 192.168.100.204.2 Nginx服务器1 192.168.100.401. Haproxy搭建Web群集概述1.1 简介1、Haproxy是目前比较流行的一种集群调度工具2、Haproxy 与LVS、Nginx的比较LVS性能最好,但是

2020-11-02 19:15:55 68

原创 LVS+Keepalived

LVS+Keepalived1. 理解Keepalived实现原理1.1 Keepalived案例分析1.2 Keepalived工具介绍1.3 Keepalived实现原理剖析2. keepalived+LVS案例2.1 配置主调度器 192.168.100.101. 理解Keepalived实现原理1.1 Keepalived案例分析在企业应用中,单台服务器承担应用存在单点故障的危险,在企业应用集群中,存在了至少两处单点故障危险,单点故障一旦发生,企业服务将发生中断,造成极大的危害1.2

2020-11-02 18:37:08 65

原创 LVS-DR 负载均衡集群搭建

LVS-DR 负载均衡集群搭建1. LVS-DR 负载均衡集群搭建实验1.1 在调度器配置:192.168.100.211.2 配置存储服务器:192.168.100.441.3 配置节点服务器:192.168.100.421.4 配置节点服务器:192.168.100.431. LVS-DR 负载均衡集群搭建实验实验环境一台调度器: VM1:192.168.100:41二台WEB服务器集群池:192.168.100.42、192.168.100.43一台NFS共享服务器:192.168.100.

2020-11-02 18:04:22 137

原创 LSV负载均衡群集

LSV负载均衡群集1. 群集概述1.1 群集的分类1.1.1 负载均衡群集(Load Balance Cluster)1.1.2 高可用群集(High Availability Cluster)1.1.3 1、高性能运算群集(High Performance Computer Cluster)2. 负载均衡群集2.1 负载均衡群集工作模式分析2.2 NAT模式2.3 TUN模式2.4 直接路由(Direct Routing)2.5 负载均衡群集架构2.6 LVS的负载调度算法2.7 常用命令的解释3. 实验

2020-11-02 17:37:05 628

原创 Tomcat部署及优化

Tomcat部署及优化1. Tomcat概述1.1 Tomcat介绍1.2 Tomcat核心组件1.3 Tomcat处理请求过程2. 实验过程1. Tomcat概述1.1 Tomcat介绍自从JSP发布之后,推出了各式各样的JSP引擎。Apache Group在完成GNUSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JSР服务器.当然同时也支持Servlet,这样Tomcat就诞生了。Tomcat是Apache软件基金会(Apache Software Fo

2020-11-02 17:22:46 222

原创 Nginx Reweite

Nginx Reweite1. Nginx Reweite概述1.1 案例前置知识点1.2 Rewrite跳转实现1.3 Rewrite实际场景1.4 常用的正则表达式元字符1.5 Rewrite 语法1. Nginx Reweite概述1.1 案例前置知识点Rewrite跳转场景Rewrite跳转场景主要包括以下几种可以调整用户浏览的URL,看起来更规范,合乎开发及产品人员的需求。为了让搜索引擎搜录网站内容及用户体验更好,企业会将动态URL地址伪装成静态地址提供服务。网址换新域名后,让旧的

2020-11-02 16:08:34 113

原创 Nginx优化与防盗链

Nginx优化与防盗链1. Nginx的概述1.1 Nginx工作原理1.2 Nginx的进程模型1.3 Nginx+FastCGl运行原理1.3.1 隐藏版本号的两种方式1.3.2 修改用户与组1.3.3 配置网页缓存时间2. 日志切割2.1 写脚本/opt/fenge.sh2.2 设置连接超时2.3 更改进程数3. 网页压缩4. 配置防盗链4.1 实验1. Nginx的概述1.1 Nginx工作原理Nginx由内核和模块组成。Nginx本身做的工作实际很少,当它接到一个HTTP请求时,它仅仅是通过

2020-11-02 15:55:19 103

原创 Apache网页优化

这里写目录标题1. 网页压缩与缓存1.1 网页压缩1.2 HTTP压缩的过程1.3 apache压缩模块1.4 mod deflate模块1. 网页压缩与缓存1.1 网页压缩网站的访问速度是由多个因素所共同决定的,这些因素包括应用程序的响应速度、网络带宽、服务器性能、与客户端之间的网络传输速度等等。其中最重要的一个因素是Apache本身的响应速度,因此当运维人员为网站性能所苦恼时,第一个需要着手进行处理的便是尽可能的提升Apache的执行速度,可以使用网页压缩提升应用程序的速度。而且非常重要的是

2020-11-02 15:24:09 81

原创 Apache 配置与应用

Apache 配置与应用1. Apache连接保持2. Apache访问控制概述2.1 Apache的访问控制2.1.1 客户机限制2.1.1.1 例子2.2 用户授权限制2.2.1 创建用户认证的数据库2.2.2 添加用户授权配置3. 日志分隔3.1 系统自带的分割软件3.2 第三方分割软件4. AWStats 日志分析4.1 修改站点统计配置文件1. Apache连接保持Apache连接保持相关参数KeepAlive是否打开连接保持,OFF关闭,ON打开KeepAliveTimeout一次连

2020-11-02 14:52:52 120

原创 ELK日志分析

ELK日志分析1. ELK日志分析系统简介1.1 日志的集中化管理1.2 Elasticsearch的概述1.2.1 Elasticsearch核心概念1.3 logstash介绍1.3.1 logstash主要组件1.4 kibana介绍1.4.1 kibana主要功能1.5 服务优化2. 部署ELK日志分析系统2.1 案例需求2.2 安装步骤2.3 配置elasticsearch环境1. ELK日志分析系统简介日志服务器提高安全性集中存放日志缺陷对日志的分析困难1.1 日志的集中化管理

2020-10-29 15:13:57 108 1

原创 部署GPS分布式文件系统

部署GPS分布式文件系统1. GlusterFS概述1.1 GlusterFS简介1.2 GlusterFS特点1.3 GlusterFS术语1.4 工作原理1.4.1 工作流程1.4.2 弹性HASH算法2. GlusterFS的卷类型2.1 分布式卷2.2 条带卷2.3 复制卷2.4 分布式条带卷2.5 分布式条带卷3. GlusterFS部署步骤3.1 群集环境3.2 操作流程4. 实验4.1 准备工作1. GlusterFS概述1.1 GlusterFS简介开源的分布式文件系统有存储服务

2020-10-27 23:51:38 373

原创 awk

awk1. 工作原理2. 命令格式3.示例1. 工作原理逐行读取文本,默认以空格或tab键为分隔符进行分隔,将分隔所得的各个字段保存到内建变量中,并按模式或者条件执行编辑命令。sed命令常用于一整行的处理,而awk比较倾向于将一行分成多个字段"然后再进行处理.awk信息的读入也是逐行读取的,执行结果可以通过print的功能将字段数据打印显示。在使用awk命令的过程中,可以使用逻辑操作符"&&“表示"与”、“I1"表示"或”、"!“表示w非”;还可以进行简单的数学运算,如+、-、*、/、

2020-10-25 22:24:57 112

原创 Sort命令,Uniq命令和tr命令

Sort命令,Uniq命令和tr命令1. Sort命令2. Uniq命令3. Tr命令1. Sort命令Sort命令–以行为单位对文件内容进行排序,也可以根据不同的数据类型来排序语法格式:sort 【选项】参数cat file | sort 选项常用选项-f 忽略大小写-b 忽略每行前面的空格-M 按照三字符月份进行排序-n 按照数字进行排序-r 反向排序-u 等同于uniq,表示相同的数据显示一行-t 指定字段分隔符,默认使用[tab]键分隔-k 指定排序字段-

2020-10-25 22:12:55 176

原创 冒泡排序

冒泡排序1. 冒泡排序概述1.1 基本思想1.2 算法思想1.3 实验1. 冒泡排序概述类似气泡上涌的动作,会将数据在数据中从小到大或者从大到小不断的向前移动1.1 基本思想冒泡排序的基本思想是对比相邻的两个元素值,如果满足条件就交换元素值,把较小的元素移动到数组前面,把大的元素移动到数组后面(也就是交换两个元素的位置),这样较小的元素就像气泡一样从底层从底部上升到顶部1.2 算法思想冒泡算法是由双层循环实现,其中外部循环用于控制排序轮数,一般为要排序的数组长度减1次,因为最后一次循环只剩下一个

2020-10-25 21:57:55 128

原创 Shell编程之正则表达式与文本处理器

Shell编程之正则表达式与文本处理器1. 正则表达式概述1.1 正则表达式定义1.2 正则表达式层次1.3 Linux中文本处理工具2. 基础正则表达表达式元字符2.1 常见的元字符2.2 查找特定字符2.3 找行首“^”与行尾字符“$”2.4 查找任意一个字符“.”与重复字符“*”2.5 查找连续字符范围“{}”2.6 元字符总结3. 拓展正则表达式 egrep4. 文本处理器4.1 sed 的工作流程4.2 常见的sed命令4.3 操作4.4 用法示例1. 正则表达式概述1.1 正则表达式定义

2020-10-25 21:47:04 80

原创 Shell编程之循环语句与函数

Shell编程之循环语句与函数1. 循环语句1.1 for循环语句1.2 While语句的结构1.3 Until语句的结构2. shell函数2.1 编写用户自定义函数2.2 函数变量的作用范围2.3 递归函数3. shell数组3.1 数组的定义方式4. shell脚本调试1. 循环语句1.1 for循环语句使用 for 循环语句时,需要指定一个变量及可能的取值列表,针对每个不同的取值重复执行相同的命令序列,直到变量值用完退出循环。在这里,“取值列表”称为 for 语句的执行条件,其中包括多个属性相

2020-10-25 14:24:28 189

原创 Shell脚本编程规范

Shell脚本编程规范1. 条件测试操作1.1 文件测试1. 条件测试操作条件测试操作: test命令测试表达式是否成立,若成立返回0,否则返回其他数值格式1: test 条件表达式格式2: [ 条件表达式 ]1.1 文件测试[ 操作符 文件或目录 ]常用的测试操作符 -d 测试是否为目录(Directory>) -e 测试目录或文件是否存在(Exist)-f 测试是否为文件(File)-r 测试当前用户是否有权限读取(Read)-w 测试当前用户是否有权

2020-10-25 12:31:21 142

原创 Shell编程规范与变量

Shell编程规范与变量1.Shell脚本概述1.1 Shell 的作用1.2 执行脚本的三种方式1.3 重定向与管道操作2. Shell变量的作用,类型2.1 变量的作用2.2 自定义变量2.3 特殊的shell变量1.Shell脚本概述在一些复杂的 Linux 维护工作中,大量重复性的输入和交互操作不仅费时费力,而且容易出错,而编写一个恰到好处的 Shell 脚本程序,可以批量处理、自动化地完成一系列维护任务,大大减轻管理员的负担。1.1 Shell 的作用Shell的作用---------命

2020-10-25 11:49:20 47

原创 远程同步rsync

远程同步rsync1. rsync的同步概述1.1 rsync的同步简介1.2 配置rsync的基本思路1.3 rsync的基本命令用法2. 简单配置rsync1. rsync的同步概述1.1 rsync的同步简介rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。 rsync 本来是用以取代 rcp 的一个工具, 它当前是由rsync.samba.org 维护. rsync 使用所谓的 “rsync 演算法”, 提供一个非常快速的文件传输方法, 使 local 和远程二部

2020-10-25 10:51:39 82

原创 SNAT策略的应用

DNAT策略的应用1. SNAT策略概述1.1 原理2. 实验2.1 过程2.2 测试2.3 共享动态ip上网2.4 配置openssh服务1. SNAT策略概述1.1 原理源地址转换修改数据包的源地址2. 实验2.1 过程先创建三个虚拟机第一台虚拟机使用VM1网卡第二台虚拟机使用VM1网卡和NAT模式第三台虚拟机使用NAT模式先给三台虚拟机设置永久挂载,ip地址设置,永久关闭防火墙和内核第一台配置vi /etc/sysconfig/network-scripts/ifcfg

2020-10-23 19:31:24 246

原创 Iptables防火墙基础

Iptables防火墙基础1. Linux包过滤防火墙概述1.1 包过滤的工作层次2. Iptables的表,链结构2.1 规则链2.2 规则表2.3 默认的表,链结构示意图2.4 数据包过滤的匹配流程3. iptables安装3.1 iptables的基本语法3.2 数据包的常见控制类型3.3 iptables的管理选项3.4 规则的匹配条件1. Linux包过滤防火墙概述netfilter位于linux内核中的包过滤功能体系称为linux防火墙的“内核态”iptables位于/sbin/

2020-10-23 19:09:53 134

原创 Firewalld防火墙

Firewalld防火墙1. Firewalld防火墙基础1.1 Firewalld数据处理流程1.2 配置方式2.Firewalld和iptables2.1 两者的区别3. Firewalld网络区域介绍4. 简单使用1. Firewalld防火墙基础支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具支持IPv4,IPv6防火墙设置以及以太网桥支持服务或应用程序直接添加防火墙规则接口拥有两个配置方式(运行时配置,永久配置)1.1 Firewalld数据处理流程检查数据来源的源地

2020-10-23 17:00:47 97

原创 NFS共享存储服务

NFS共享存储服务1. 什么是共享存储服务2. 优缺点2.1优点2.2 缺点3. 实验1. 什么是共享存储服务NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。它的主要功能是通过网络让不同的机器系统之间可以彼此共享文件和目录。NFS服务器可以允许NFS客户端将远端NFS服务器端的共享目录挂载

2020-10-23 16:22:35 172

原创 DNS 域名解析服务

DNS 域名解析服务1. DNS 系统的作用及类型2. 缓存域名服务器实验3. 主和从DNS实验1. DNS 系统的作用及类型DNS 系统在网络中的作用就是维护一个地址数据库,其中记录了各种主机域名与 IP 地址的对应关系,以便为客户程序提供正向或反向的地址查询服务,即正向解析与反向解析。正向解析:根据域名查 IP 地址,即将指定的域名解析为相对应的 IP 地址。域名的正向解析是 DNS 服务器最基本的功能,也是最常用的功能。反向解析:根据 IP 地址查域名,即将指定的 IP 地址解析为相对

2020-10-23 15:55:32 97

原创 DHCP 原理与配置

DHCP 原理与配置1. DHCP的工作原理1.1 了解 DHCP 服务1.2 使用DHCP的好处1.3 DHCP的分配方式1.4 DHCP的租约过程2. DHCP服务实验3. DHCP中继实验3.1 路由器二设置3.2 路由器一设置3.3 云的设置3.4 虚拟机设置3.5 测试1. DHCP的工作原理当局域网络中有大量的主机时,如果逐个为每一台主机手动设置 IP 地址、默认网关、DNS 服务器地址等网络参数,显然是一个费力也未必讨好的办法。而 DHCP(Dynamic Host Configurati

2020-10-23 15:17:33 225 1

原创 linux网络设置

linux网络设置1. 查看网络1.1 查看网络接口1.2 查看主机名称1.3 查看路由表条目1.4 查看网络连接情况2. 测试网络2.1 测试网络连通性2.2 跟踪数据包的路由途径2.4 测试 DNS 域名解析3. 设置网络接口参数4. 添加网卡实验1. 查看网络1.1 查看网络接口root@localhost ~]# ifconfig ens33 ##查看指定端口ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

2020-10-23 14:28:14 217

原创 高可用MHA

高可用MHA1. MHA简介1.1 MHA原理1.2 MHA的主要特性1.3 实验思路1.4 案例环境1.5 案例实现思路1. MHA简介MHA是一位日本MySQL大牛用Perl写一套MySQL故障切换方案,来保证数据库系统的高可用,在宕机的事件内(通常10-30秒),完成故障转意,部署MHA,可避免主从一致性问题,节约购买新服务器的费用,不影响服务器性能,易安装,不改变现有部署1.1 MHA原理1、等待SQL线程执行完毕2、解析最新的Slave上的中继日志(relay log)的日志头(log

2020-10-23 00:56:59 166 1

原创 部署Oracle数据库

完美部署Oracle数据库1. Oracle数据库的概述2. Oracle数据库的优点3. 注意点3.1 系统及配置要求3.2 安装过程4. 实验过程1. Oracle数据库的概述Oracle是当今著名的Oracle(甲骨文)公司的数据库产品,它是世界上第一个商品化的关系型数据库管理系统,也是第一个推出和数据库结合的第四代语言开发工具的数据库产品。Oracle采用标准的SQL结构化查询语言,支持多种数据类型,提供面向对象的数据支持,具有第四代语言开发工具,支持UNIX、WINDOWS、OS/2等多种平

2020-10-22 23:41:11 1052

原创 MySQL数据库主从复制和主从分离

MySQL数据库主从复制和主从分离1. 数据的安装2. MySQL主从复制2.1 主从复制的原理2.2 实验过程1. 数据的安装数据库安装请看博客地址:https://blog.csdn.net/weixin_48190892/article/details/1089485862. MySQL主从复制2.1 主从复制的原理主从复制一共有三个进程,从库生成两个线程,一个I/O线程,一个SQL线程i/o线程去请求主库 的binlog,并将得到的binlog日志写到relay log(中继日志) 文件

2020-10-21 21:19:00 230 2

原创 Linux文件系统与日志分析

Linux文件系统与日志分析1. Inode和block概述1.1 inode内容1.2 inode的号码1.3 Inode的大小2. 硬链接和软连接2.1 硬链接2.2软连接3. 恢复EXT类型的文件4.xfs 类型文件备份和恢复5.分析日志文件5.1 主要日志文件5.2 日志文件分析1. Inode和block概述文件是存储在硬盘上的,硬盘最小储存叫做扇区,每个扇区512字节操作系统读取硬盘信息,不会一个一个扇区读取,实际情况一下连续读取多个扇区,一次性读取多个扇区,叫做块(Block),这种多个

2020-10-20 19:14:47 103

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除