自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用Docker容器来搭建LNMP(Nginx+Mysql+php)+Wordpress

目录一、项目模拟1. 项目环境2. 服务器环境3. 任务需求二、[Linux](https://so.csdn.net/so/search?q=Linux&spm=1001.2101.3001.7020) 系统基础镜像三、Nginx1. 建立工作目录2. 编写 Dockerfile 脚本3. 准备 nginx.conf 配置文件4. 生成镜像5. 创建自定义网络6. 启动镜像容器7. 验证 nginx三、Mysql1. 建立工作目录2. 编写 Dockerfile3. 准备 my.cnf 文件4.

2022-01-22 15:37:53 844

原创 一起来看Docker0网络

目录一、docker0网络1.1docker容器的 虚拟网关1.2 docker的十条命令1.3docker数据流向2.1 HOST模式2.2 container2.3 None :该模式关闭了容器的网络功能2.4 Bridge网桥2.5总结四种网络模式三、docker自定义网络#MST四、docker数据卷一、docker0网络1.1docker容器的 虚拟网关loopback:回环网卡、TCP/IP网卡是否生效virtual bridge: linux自身继承了一个虚拟化功能(Kvm

2022-01-17 08:54:46 1227

原创 初识docker容器(优势真的巨大,比虚拟机好用多了)

目录背景:一、名称空间NamespacesDocker Engine在Linux.上使用以下名称空间:二、docker与虚拟化2.1cgroups2.2全虚拟、半虚拟、容器技术2.3那如何区分虚拟机中的不同应用呢?2.4微服务2.5企业中——开发运维整体流程2.6docker数据流向图2.7docker镜像流向2.8Container和VM(虚拟机)2.9docker和虚拟化比有什么优势docker 有哪些优势?三、Docker3.1Docker的使用场景3.2 Docker引擎( Docker Engin

2022-01-10 19:37:11 1424

原创 ELK日志收集

目录前言一、ELK 日志分析系统1. ELK 简介2. 组件说明2.1 ElasticSearch2.2 Logstash2.3 Kibana2.4 Filebeat3. 完整日志系统的基本特征4. ELK的工作原理二、部署 ELK 日志分析系统1. 服务器配置2. 关闭防火墙3. ElasticSearch集群部署(node1、node2)3.1 环境准备3.2 部署 ElasticSearch 软件3.2.1 安装 elasticsearch-rpm 包3.2.2 加载系统服务3.2.3 修改 elas

2022-01-09 14:25:42 5555

原创 GFS企业分布式存储

目录一、部署流程1. 环境部署2. 硬盘分区挂载3. 配置/etc/hosts文件(所有节点上操作)4. 安装、启动GFS5. 添加节点并创建集群6. 根据规划创建卷6.1 创建分布式卷6.2 创建条带卷6.3 创建复制卷6.4 创建分布式条带卷6.5 创建分布式复制卷二、Client 客户端部署与测试1. 部署 Gluster 客户端2. 验证 gluster 文件系统3. 破坏性测试分布式文件系统三、GFS 文件系统的维护命令一、部署流程1. 环境部署节点ip磁盘挂载点no

2022-01-09 14:23:12 121

原创 rsync同步备份(增备+完备)

目录一、Redis持久化1.1持久化的功能:1.1.1redis 基础1.2redis 集群模式:哨兵、主从、cluster (集群)1.3高可用中的持久化1.4.淘汰策略1.5流量控制1.6小结:二、redis主从复制2.1主从复制原理图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c2ZVTGXk-1641707667965)(C:\Users\赵金华\Desktop\整理复习\rsync图片\2.png)]2.2.哨兵们监控整个系统节点的过程简易版本:三、rsync服务

2022-01-09 13:55:29 2846 2

原创 年终总结二

目录keepalived配置文件主从复制原理图——HA高可用Haproxy五大资源:location匹配优先级nginx配置模块:keepalived配置文件VRRP原理:两者通过ping的这种方式监测心跳,VIP 放在哪儿,那边就做主去提供业务即可。keepalived利用的是VRRP协议,控制是两个虚拟路由,根据优先级的方式决定VIP在哪儿。主从复制原理图——HA高可用amobe代理 mycat(mysql公司自己的产品)一台master主机,三台slave从服务器master-

2022-01-04 17:48:09 1721

原创 年终总结一

目录一、主从辅助数据图二、网络2.1.OSI 七层模型 + TCP/IP 五层模型2.2面试题:2.3访问百度过程图三层方面:![在这里插入图片描述](https://img-blog.csdnimg.cn/90184fa5d30241a387f307a107bb8c29.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ICB6LW15a2mY29kaW5n,size_20,color_FFFF

2022-01-04 17:42:24 783

原创 redis非关系数据库高可用(cluster、哨兵)

目录一、Redis主从复制1.1 简介1.2 主从复制的作用1.3 主从复制流程二、Redis主从复制的搭建2.1 实验环境2.2 配置思路2.3 配置步骤2.3.1 三台服务器安装Redis2.3.2 修改Redis配置文件(Master节点操作)2.3.3 修改Redis配置文件(Slave1/2节点操作)2.4 验证主从效果三、Redis哨兵模式3.1 核心功能3.2 哨兵模式原理3.3 哨兵模式的作用3.4 哨兵模式的组成3.5 哨兵的工作模式四、Redis群集模式4.1 简介4.2 集群的作用4.

2021-12-22 16:55:11 112

原创 Mysql——主从复制、读写分离(值得一看)

目录前言一、基本概念1. 读写分离(1) 什么是读写分离(2) 为什么要读写分离(3) 什么时候要读写分离(4) 主从复制与读写分离2. MySQL 主从复制(1) mysql 支持的复制类型(2) 主从复制的工作过程(3) mysql 主从复制高延迟的原因(4) mysql 主从复制高延迟的解决办法3. 常见的 MySQL 读写分离方式(1) 基于程序代码内部实现(2) 基于中间代理层实现二、MySQL 主从复制架构搭建1. 服务器配置2. 实验前准备3. mysql 主从服务器时间同步4. 主服务器的

2021-12-15 17:27:16 155

原创 数据库之SQL语句进阶版

目录一、常用查询1. 按关键字排序(1) 语法(2) 创建模板表(3) 单字段排序(4) 条件查询(5) 多字段排序(6) 区间判断及查询不重复记录(7) distinct 查询不重复记录2. 对结果进行分组3. 限制结果条目(limit)4. 设置别名(alias —> as)5. 通配符6. 子查询二、视图1. 视图的定义2. 视图的作用3. 示例三、NULL 值四、正则表达式五、运算符1. 算术运算符2. 比较运算符3. 逻辑运算符(布尔值)(1) 逻辑非(2) 逻辑与(3) 逻辑或(4) 逻辑

2021-12-13 14:04:50 568

原创 Mysql数据库备份恢复

目录前言一、数据备份的重要性二、数据库备份的分类1. 物理备份2. 逻辑备份2.1 完全备份2.2 差异备份2.3 增量备份备份方式比较如何选择逻辑备份策略三、常见的备份方法1. 物理冷备2. 专用备份工具 mysqldump 或 mysqlhotcopy3. 启用二进制日志进行增量备份4. 第三方工具备份四、MySQL 完全备份1. 思路2. 环境准备2. 物理冷备份与恢复3. mysqldump 备份与恢复(温备份)3.1 备份3.1.1 完全备份一个或多个完整的库 (包括其中所有的表)3.1.2 完全

2021-12-09 14:10:20 466

原创 非常nice的数据库存储引擎

目录一、存储引擎概念介绍二、MyISAM 存储引擎1. MyISAM 简介2. MyISAM 表支持 3 种不同的存储格式(1) 静态(固定长度)表(2) 动态表(3) 压缩表3. MyISAM 适用的生产场景三、InnoDB 存储引擎1. InnoDB 特点2. InnoDB 适用的生产场景3. 死锁四、企业选择存储引擎依据五、存储引擎的查看与修改1. 查看系统支持的存储引擎2. 查看表使用的存储引擎3. 修改存储引擎(1) 通过 alter table 修改(2) 修改 /etc/my.cnf 配置文件

2021-12-08 14:30:19 961

原创 一起来看mysql中的事务

目录一、Mysql 事务的概念二、事务的 ACID 特点1. 原子性2. 一致性3. 隔离性4. 持久性三、事务之间的相互影响方式1. 脏读2. 不可重复读3. 幻读4. 丢失更新四、事务隔离级别五、事务控制语句1. 创建模板2. 测试提交事务3. 测试回滚事务4. 测试多点回滚5. 使用 set 设置控制事务一、Mysql 事务的概念Mysql 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中, 要删除一个人员,既需要删除人员的基本资料,又需要删除和该人员相关的信息,如信箱, 文章等

2021-12-08 14:27:17 87

原创 linux之keepalive实际操作

目录一、keepalive基础1.1vrrp技术1.2VRRP相关技术二、keepalived介绍2.1kkepalived的功能2.2keepalived架构2.3keepalived相关文件2.4配置组成2.5全局配置2.6配置虚拟路由器三、实际操作3.1开启四台真机一、keepalive基础1.1vrrp技术vrrp相关术语虚拟路由器:Virtual Router虚拟路由器标识:VRID(0-255),唯一标识虚拟路由器VIP:Virtual IPVMAC:Virutal

2021-12-07 08:55:03 3115 1

原创 快来一起看方便快捷的索引

目录一、索引概述1. 索引的概念2. 索引的作用3. 创建索引的原则依据二、索引的分类和创建1. 创建模板2. 普通索引(1) 直接创建索引(2) 修改表方式创建(3) 创建表的时候指定索引3. 唯一索引(1) 直接创建唯一索引(2) 修改表方式创建(3) 创建表的时候指定4. 主键索引(1) 创建表的时候指定(2) 修改表方式创建5. 组合索引(单列索引与多列索引)6. 全文索引(FULLTEXT)(1) 直接创建索引(2) 修改表方式创建(3) 创建表的时候指定索引(4) 使用全文索引查询7. 总结三、

2021-12-06 09:30:33 327

原创 数据库之高级表操作

目录一、克隆表二、清空表三、创建临时表四、数据库用户管理1. 新建用户2. 查看用户信息3. 重命名指定4. 删除用户5. 修改数据库当前密码6. 修改其他用户密码五、忘记 root 密码的解决办法六、数据库用户授权1. GRANT 提权2. 刷新权限3. 查看权限4. 撤销权限一、克隆表方法一先复制表结构再导入数据create table web1 like web_demo; #复制格式,通过 LIKE 方法,复制 web_demo 表结构生成 web1 表insert into w

2021-12-06 09:24:15 241

原创 mysql数据库——SQL语句的分类

一、SQL 语言简介SQL 语句用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能。SQL语言分类DDL:数据定义语言,用于创建数据库对象,如库、表、索引等。DML:数据操纵语言,用于对表中的数据进行管理,用来插入、删除和修改数据库中的数据。DQL:数据查询语言,用于从数据表中查找符合条件的数据记录。DCL:数据控制语言,用于设置或者更改数据库用户或角色权限(数据控制语句,用于控制不同数据段直接的许可和访问级别的语句,这些语句定义了数据库、表、字段、用户的访问权限和安全级

2021-12-01 10:45:55 339

原创 mysql数据库——基础知识

一、数据库原理1.1数据的时代涉及的数据量大数据不随程序的结束而消失数据被多个应用程序共享大数据数据的分类:结构化的数据:即有固定格式和有限长度的数据。例如填的表格就是结构化的数据,国籍:中华人民共和国,民族:汉,性别:男,这都叫结构化数据非结构化的数据:非结构化的数据越来越多,就是不定长、无固定格式的数据,例如网页,有时候非常长,有时候几句话就没了;例如语音,视频都是非结构化的数据半结构化数据:比如:XML或者HTML的格式的数据1.2 数据库的

2021-11-24 16:20:40 1807 1

原创 Tomcat操作安装

目录一、简介Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。 实际上Tomcat是Apache服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时, 它实际上作为一个与Apache 独立的进程单独运行的诀窍是,

2021-11-16 14:28:44 839

原创 LNMP之 nginx搭建论坛

目录一、编译安装NGINX1.1 安装依赖包1.2新建用户 组便于管理(nginx 服务程序默认 以 nobody 身份运行,建议为其创建专门的用户账户,以便更准确的控制访问权限)1.3将安装包拖入/opt1.4编译安装Nginx1.5进入目录并配置仓库1.6到目录下进行解压二、编译安装mysql5.72.1 安装Mysql环境依赖包2.2 创建运行用户2.3编译安装一、编译安装NGINX1.1 安装依赖包yum -y install pcre-devel zlib-devel gcc gcc-c+

2021-11-14 16:58:35 2922

原创 编译安装Apache http服务

目录一、环境准备1.1关闭防火墙,将安装Apache所需软件包传入/opt目录下1.2解压需要的软件包1.3将前面解压过的文件移动到另一个文件夹1.4 cd到httpd-2.4.29/,进行安装工具一、环境准备1.1关闭防火墙,将安装Apache所需软件包传入/opt目录下[root@localhost opt]$]lsapr-1.6.2.tar.gz lamp.zipapr-util-1.6.0.tar.gz mysql-5.6.26.tar.gzDiscuz_X2.5

2021-11-14 16:28:49 1365

原创 安全技术之防火墙

目录一、安全技术和防火墙1.1安全技术1.2防火墙的分类二、防火墙工具2.1 Iptables2.2 firewalld2.3 nftables2.4 nftables 特点2.5 netfilter中五个钩子函数和报文流向2.5.1 Netfilter概述2.5.2 三种报文流向三、firewalld服务3.1firewalld介绍3.2 查看现有firewall设置3.3设置查看默认区3.4添加源地址(网段)及端口及服务3.5管理rich规则四、bond4.1 nmli命令5.2实操一、安全技术和防火

2021-11-01 17:24:48 605

原创 Shell中的awk的运用

目录一、awk工具1.1awk内置变量1.2awk的用法1.3awk工作原理1.4AWK的版本1.5awk详解二、基础用法2.1打印挂载点中的第五列的内容2.2有多行就打印多少hello2.3打印网卡里面的IP地址2.4查看文件所有类容2.5查看挂载点一、awk工具1.1awk内置变量FS:指定每行文本的字段分隔符,缺省为空格或制表位NF:当前处理的行的字段个数NR:当前处理的行的行号(序数)$0:当前处理的行的整行内容$n:当前处理行的第n个字段(第n列)1.2awk的用法按行输出

2021-10-28 15:05:56 1416 1

原创 Shell脚本打印99乘法表

方法一#!/bin/bashfor j in {1..9}dofor i in `seq $j`doecho -e -n "${i}x${j}=$[ $i * $j ]\t"doneechodone实现效果[root@localhost ky15]# sh 99.sh1x1=1 1x2=2 2x2=4 1x3=3 2x3=6 3x3=9 1x4=4 2x4=8 3x4=12 4x4=16 1x5=5 2x5=10 3x5=15 4x5=20 5x5=25 1.

2021-10-26 16:34:57 331

原创 shell脚本打印菱形

源代码:#!/bin/bashread -p "请输入菱形大小:" snumfor ((i=0-snum+1;i<snum;i++))do if ((i>=0)); then ##正数取原值 num=$i else ##负数取绝对值 num=${i:1} fi for ((j=num;j>0;j--)) do ##打印空格 echo -n " " done fo

2021-10-26 16:32:01 444

原创 shell猜数字脚本

源代码:#!/bin/bashpc=`echo $[RANDOM%9+1]`count=0while truedoread -p "请输入一个数字(1-9):" numlet count++if [ $pc -eq $num ]then echo "恭喜你猜对啦" echo "你一共猜了$count次" exit 1elif [ $pc -gt $num ]then echo "你猜少了,再猜一下哦"else echo "你猜的有点多了,请再猜一下吧"f

2021-10-26 16:21:50 497

原创 1-100脚本求和

一、for循环#!/bin/bashsum=ofor ((i=0;i<=100;i++))do sum=$[sum+i]doneecho "100以内的求和:$sum"[root@localhost ky15]# cat 8.sh#!/bin/bashsum=ofor ((i=0;i<=100;i++))do sum=$[sum+i]doneecho "100以内的求和:$sum"[root@localhost ky15]# sh 8.sh100以内的求和:5

2021-10-26 16:15:23 623

原创 石头剪刀布脚本

源代码:#!/bin/bashgame=(石头 剪刀 布)num=[RANDOMa=[RANDOM%3+1]a=[RANDOMa={game$[num]}echo “1 石头”echo “2 剪刀”echo “3 布”read -p ‘请输入1-3:’ num1if [ $num1 -eq num];thenechoecho"平局"echo"机器人出的也是"num ];then echo echo "平局" echo "机器人出的也是"nu

2021-10-26 15:59:02 288

原创 linux中的符号作用

单引号:强引用,六亲不认,变量和命令都不识别,都当成了普通的字符串,“最蠢”双引号:弱引用,不能识别命令,可以识别变量,“半傻不精”反向单引号:里面的内容必须是能执行的命令并且有输出信息,变量和命令都识别,并且会将反向单引号的内容当成命令进行执行后,再交给调用反向单引号的命令继续,"最聪明引用变量${}命令执行结果$()(())或(())或(())或[]进行运算$()或``引用命令执行的结果运算[][][](())使用或"{}或"或"变量名"划定变量名的起..

2021-10-26 15:54:16 259

原创 使用shell脚本搭建自动化yum仓库

[root@localhost data]#vim yumlocal.sh #!/bin/bashmount /dev/sr0 /mnt/ cd /etc/yum.repos.d/mkdir bakupmv *.repo bakup/echo "[local]name=localbaseurl=file:///mntenabled=1gpgcheck=0" > localyum.repo yum clean allyum list [root@localhost

2021-10-26 15:34:40 355

原创 各种各样的Shell脚本

目录一、Shell test命令1.1实例1.2代码中的 [] 执行基本的算数运算二、字符串测试三、Shell脚本3.1石头剪刀布一、Shell test命令1.1实例[root@localhost data]# vim kan.shnum1=100num2=100if test $[num1] -eq $[num2]then echo '两个数相等!'else echo '两个数不相等'fi在这里插入代码片运行效果[root@localhost data]# s

2021-10-26 14:59:00 118

原创 一起来了解Shell脚本

目录一、Shell脚本概述1.Shell脚本的概念2.Shell脚本应用场景3.Shell的作用——命令解释器,“翻译官”4.用户的登录Shell二、Shell脚本基础1.Shell的作用2.什么是shell脚本?及构成3.脚本执行逻辑及执行方式三、使用Shell脚本搭建yum本地仓库1.在yum仓库里进行操作2.实施效果3.设置ping的限定次数四、重定向与管道操作4.1交互式硬件设备一、Shell脚本概述1.Shell脚本的概念将要执行的命令按顺序保存到一个文本文件给该文件可执行权限可结合各

2021-10-20 19:17:53 164

原创 PXE高效批量网络装机

目录一、PXE简述1.PXE批量部署的优点2.运维的四大阶段3.系统装机的三种引导方式4.系统安装过程二、pxe简介1.pxe是通过网卡引导启动2.实现过程讲解三、搭建过程详解3.1TFTP服务3.2 syslinux四、操作过程五、kickstart无人值守安装一、PXE简述1.PXE批量部署的优点规模化:同时装配多态服务器自动化:安装系统、配置各种服务远程实现:不需要光盘、U盘等安装介质2.运维的四大阶段全人工运维:纯工程师的个人经验运维,纯手动。工具化运维:使用工具

2021-10-19 13:54:19 306

原创 Linux网络中的NFS共享

目录一、NFS简介NFS(Network File System 网络文件服务)NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源NFS 也是 NAS 存储 设备必然支持的一种协议特点:采用TCP/IP传输网络文件安全性低简单易操作适合局域网环境二、NFS原理三、NFS共享存储服务配置搭建过程1.服务端:#关闭防火墙[root@localhost ~]# sys

2021-10-12 17:15:32 113

原创 Linux网络服务中的yum仓库

目录一、yum仓库简介二、yum配置文件2.1yum主配置文件2.2仓库设置文件2.3日志文件三、 yum命令详解3.1查询软件包命令3.2查询软件包组命令3.3yum安装升级3.4软件卸载一、yum仓库简介yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间yum由仓库和客户端组成,也就是整个yum由两部分组成,所以yum可以存放在两台服务器上。也可以存放在一

2021-10-11 19:01:02 916

原创 SSH远程服务

目录一、SSH服务1.1 SSH基础1.1.1什么是SSH服务器?1.1.2 SSH的优点1.1.3常见的ssh协议1.2ssh原理1.2.1公钥传输原理1.2.2 ssh加密通讯原理1.2.2登录1.2.3服务端配置1.3轻量级自动化运维工具pssh一、SSH服务1.1 SSH基础1.1.1什么是SSH服务器?SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程 复制等功能;SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令;

2021-10-11 16:29:49 520

原创 Linux中的DNS服务

目录一、DNS简介1.1DNS名词介绍域名管理系统DNS(Domain Name System)是域名解析服务器的意思,应用层协议,是互联网的一项服务。它在互联网的作用是:把域名转换成网络可以识别的ip地址,在通过IP地址访问主机。 种由文字组成的名称,显而易见要更容易记忆。实际上,每一台 DNS 服务器都只负责管理一个有限范围(一个或几个域)内的主机域 名和 IP 地址的对应关系,这些特定的 DNS 域或 IP 地址段称为 zone(区域)。根据地址解析的方向不同,DNS 区域相应地分为正向区域(

2021-10-11 15:51:47 1666

原创 Linux网络服务中的DHCP

目录一、了解DHCP服务1.1DHCP定义1.2DHCP好处1.3DHCP的分配方式二、DHCP工作过程三、使用DHCP动态配置主机地址3.1DHCP服务3.2可分配的地址信息主要包括四、DHCP中继原理与配置4.1DHCP配置文件中的参数4.2步骤讲解1.关闭防火墙和selinux2.安装服务并查看相关配置文件3.拷贝并修改 /etc/dhcp/dhcpd.conf配置文件4.更改网卡链接模式为仅主机5.修改网卡6.修改配置文件7.dhcp中继配置五、总结一、了解DHCP服务1.1DHCP定义DHC

2021-10-07 20:03:05 419

原创 必须了解的Linux网络配置

目录一、查看及测试网络1.1查看网络配置1.2测试网络连接二、设置网络地址参数1.临时配置:使用命令调整网络参数2.固定设置:通过配置文件修改网络参数2.1.1 ifconfig命令——设置网络接口参数2.1.2route命令——设置路由记录2.2修改网络配置文件2.2.1网络接口配置文件2.2.2启用、禁用网络接口配置2.2.3域名解析配置文件一、查看及测试网络1.1查看网络配置1.1.1 ifconfig命令——查看网络接口地址查看所有网络接口信息[root@localhost ~]# ifc

2021-10-07 16:16:30 706

空空如也

空空如也

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

TA关注的人

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