自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 资源 (1)
  • 收藏
  • 关注

原创 运维开发宝典065-CICD_jenkins

<think>我们只需要根据提供的内容生成摘要,不超过150字。内容是关于CI/CD和GitLab CI/CD的介绍。摘要应简明扼要,涵盖核心概念:持续集成、持续交付、持续部署的定义,以及GitLab CI/CD的作用和基本原理。注意字数限制。</think>本文介绍了CI/CD概念:持续集成频繁合并代码并自动构建测试,持续交付部署至类生产环境,持续部署自动发布到生产。并简述GitLab CI/CD通过.gitlab-ci.yml配置作业与管道,自动执行构建、测试、部署,支持回滚,实现软件交付自动化。

2026-09-06 15:59:49 168 1

原创 运维开发宝典064-CICD_Nexus3 搭建 maven 私服

Maven是一个采用纯Java编写的开源项目管理工具, Maven采用了一种被称之为Project Object Model(POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中, 通过该文件Maven可以管理项目的整个生命周期,包括清除、编译,测试,报告、打包、部署等等。

2026-08-29 09:53:50 256

原创 运维开发宝典063-CICD_平滑发布和灰度发布

可以到/data/gitlab/backups找到备份包,解压查看,会发现备份的还是比较全面的,数据库、repositories、build、upload等分类还是比较清晰的。用户添加完毕后,gitlab会给用户发一封修改密码的邮件,各用户需要登录自己的邮箱,并点击相关的链接,设置新密码。当服务器数量大于一台的时候,只要每台服务器都能达到平滑发布的方式,然后设定好需要发布的服务器占比数量,就可以实现灰度发布了。当服务器的数量只有一台的时候,不存在灰度发布,一旦发布了就是所有用户都更新了,

2026-08-27 09:33:02 144

原创 运维开发宝典062-CICD_版本仓库github和gitlab

admin are -> settings -> Sign-up Restrictions 去掉钩钩,然后拉到最下面保存,重新登录。**创建项目组 group ,组名为plat-sp ,如下所示: **4、复制以上的公钥,在github 中添加ssh key。8、连接远程仓库听方法(创建一个测试存储库)1、github.com 注册账户。2、在github上创建仓库。###3、配置 Gitlab。3、生成本地ssh key。3、登陆 Gitlab。

2026-08-26 22:14:15 732

原创 运维开发宝典061-CICD_版本控制器git

Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

2026-08-24 14:07:42 171

原创 运维开发宝典060-大型网站tomcat服务器管理全集6

本文主要介绍了Tomcat服务器管理中涉及的JVM虚拟机相关知识。内容包括: JVM虚拟机基本概念,包括其作为程序虚拟机的特点及实现Java跨平台的原理 JVM虚拟机的基本结构,详细说明了类加载子系统、Java堆、直接内存、垃圾回收系统等核心组件 虚拟机堆内存结构,分为年轻代(EDEN、S0、S1区)、老年代和永久代(方法区) JVM参数类型,包括标准参数、X类型参数和XX类型参数 常用JVM参数设置,特别是关于垃圾回收日志记录和堆空间配置的重要参数 文章强调了运维人员需要掌握的JVM基础知识和关键配置项,

2026-08-04 11:43:46 192

原创 运维开发宝典059-大型网站nginx服务器管理全集5

本文介绍了HTTPS协议的基本原理与实现方式。HTTPS是在HTTP基础上加入SSL/TLS加密层的安全协议,已成为互联网安全传输的趋势。文章详细讲解了HTTPS的加密算法(对称/非对称加密、哈希算法、数字签名)和工作原理,包括如何通过SSL证书解决公钥获取和身份认证问题。同时分析了HTTPS相比HTTP的优势(防窃听、防篡改、防冒充)和缺点(成本高、速度慢、资源消耗大)。最后简要介绍了CA机构的作用及构建私有CA的方法。HTTPS通过复杂的握手和加密流程确保了数据传输安全,是未来互联网发展的必然选择。

2026-07-28 17:12:23 193

原创 运维开发宝典058-大型网站nginx服务器管理全集4

摘要 本文详细介绍了Nginx服务器的平滑升级方法和错误页面配置。主要内容包括: 平滑升级原理:通过主进程接收信号(如USR2、WINCH)实现新旧版本无缝切换,确保服务不中断。升级过程包括备份原文件、编译新版本、替换二进制文件、发送升级信号等步骤。 升级实战演示:从Nginx 1.6升级到1.30.3版本,并添加SSL和PCRE模块,完整展示了编译配置、文件替换、信号触发等操作流程。 错误页面配置:通过error_page指令统一配置404/403/500等错误页面,指定自定义HTML文件路径,提升用户体

2026-07-25 17:50:59 938

原创 运维开发宝典057-大型网站nginx服务器管理全集3

Nginx服务器管理:会话保持、动静分离与防盗链 本文介绍了Nginx服务器管理中的三个重要技术点: 会话保持:详细讲解了四种实现方式,包括ip_hash基于IP的会话保持、sticky_cookie_insert基于cookie的方式、jvm_route基于session_cookie的方式,以及使用数据库/Redis等后端存储的方案,分析了各种方案的优缺点和适用场景。 动静分离:通过配置示例展示了如何将动态请求(.php)和静态请求(图片、HTML等)分别路由到不同服务器处理,提高网站解析速度并降低单服

2026-07-22 11:47:25 179

原创 运维开发宝典055-大型网站nginx服务器管理全集1

Nginx(engine x) 是一个高性能的 HTTP 和 反向代理 服务,也是一个IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。

2026-07-15 19:25:25 247

原创 运维开发宝典054-消息队列集群2

RabbitMQ是依据erlang的分布式特性(RabbitMQ底层是通过Erlang架构来实现的,所以rabbitmqctl会启动Erlang节点,并基于Erlang节点来使用Erlang系统连接RabbitMQ节点,在连接过程中需要正确的Erlang Cookie和节点名称,Erlang节点通过交换Erlang Cookie以获得认证)来实现的,所以部署Rabbitmq分布式集群时要先安装Erlang,并把其中一个服务的cookie复制到另外的节点。

2026-07-13 09:40:59 233

原创 运维开发宝典053-消息队列集群1

消息队列与RabbitMQ概述 消息队列是分布式系统中实现应用解耦、异步通信和流量削峰的重要组件。主流消息中间件包括RabbitMQ、Kafka等,它们支持P2P和Pub/Sub两种消息模式。RabbitMQ基于AMQP协议,具有可靠性高、支持多语言和灵活路由等特点,适合企业级应用。文章详细介绍了RabbitMQ的核心概念如Exchange、Queue、Binding等,以及其安装部署过程(以Windows为例,需先安装Erlang)。通过消息队列,系统各模块可实现高效通信,解决传统IPC的扩展性和耦合性问

2026-07-10 18:37:06 224

原创 运维开发宝典052-缓存服务Redis集群3

Redis Cluster 集群摘要 Redis Cluster是Redis 3.0引入的分布式解决方案,通过数据分片(16384个哈希槽)实现多节点数据共享。主要特点包括: 无中心架构,数据按slot分布在多个节点 支持自动故障转移(failover)和节点扩展 节点间通过Gossip协议通信 客户端需直连节点,需实现smart client处理重定向 优缺点: 优点:高可用、扩展性强、降低成本 缺点:客户端实现复杂,部分多键操作不支持 工作机制: 使用CRC16(key)%16384计算数据位置 节点维

2026-07-09 17:56:29 213

原创 运维开发宝典051-缓存服务Redis集群2

Redis主从复制与哨兵机制总结 Redis主从复制实现了数据的异步同步,支持一主多从架构,从服务器可级联扩展。复制过程分为全量同步(初始连接时)和部分同步(断线重连后),2.8版本后使用PSYNC命令优化了断线重同步效率。需注意主服务器关闭持久化可能导致数据丢失风险。 Redis Sentinel提供了高可用解决方案,主要功能包括: 监控主从节点状态 故障自动转移 异常通知 通过维护与所有节点的双连接(命令+订阅),实现拓扑发现和故障检测。配置时建议至少部署3个Sentinel实例以确保选举可靠性,并合理

2026-07-08 11:06:12 270

原创 运维开发宝典050-缓存服务Redis集群1

Redis是一款基于内存的高性能键值存储数据库,支持多种数据结构,包括字符串、列表、集合、哈希和有序集合。它以其高速读写能力、持久化支持和分布式集群特性,成为企业级缓存解决方案的热门选择。本文介绍了Redis的基本特性,对比了Memcached和Tair等其他缓存方案,并提供了Yum安装和编译安装Redis的详细步骤。此外,还讲解了如何配置Redis以守护进程方式运行,适用于实际生产环境。Redis广泛应用于数据缓存、会话存储、排行榜和消息队列等场景,是当前最流行的键值存储数据库之一。

2026-07-06 16:58:05 192

原创 运维开发宝典049-Keepalived高可用集群

Keepalived高可用集群摘要 Keepalived是基于VRRP协议的高可用解决方案,通过检测服务器状态实现故障自动转移。其核心由三个模块组成:core(主进程管理)、check(健康检查)和vrrp(VRRP协议实现)。配置文件keepalived.conf包含全局定义、健康检查脚本和VRRP实例等关键部分。实战中常与Haproxy或Nginx配合使用,通过配置主备节点、虚拟IP和健康检查脚本,确保调度器故障时自动切换。典型应用模式包括:设置主备节点优先级、配置虚拟路由ID、定义健康检查间隔,并通过

2026-07-03 09:10:43 255

原创 运维开发宝典048-七层负载均衡集群2

官网:http://www.haproxy.comHAProxy提供高可用性、负载均衡以及基于TCP和HTTP的应用代理,支持虚拟主机,它是免费、快速并且可靠的一种负载均衡解决方案。适合处理高负载站点的七层数据请求。类似的代理服务可以屏蔽内部真实服务器,防止内部服务器遭受攻击。

2026-07-01 16:40:17 248

原创 运维开发宝典047-七层负载均衡集群1

大家好,我是云计算磊哥,从业20年的IT老鸟。IT架构师培训15年,总结了一套从入门到精通的全运维开发宝典手册。

2026-07-01 16:29:58 250

原创 运维开发宝典046-四层负载均衡集群3

tcpdump 命令是基于unix系统的命令行的数据报嗅探工具,可以抓取流动在网卡上的数据包。它的原理大概如下:**linux 抓包是通过注册一种虚拟的底层网络协议来完成对网络报文(准确的是网络设备)消息的处理权。**当网卡接收到一个网络报文之后,它会遍历系统中所有已经注册的网络协议,如以太网协议、x25协议处理模块来尝试进行报文的解析处理。

2026-06-30 18:38:59 273

原创 运维开发宝典045-四层负载均衡集群2

摘要 本文详细介绍了LVS NAT和DR模式的搭建步骤。NAT模式通过调度器转发请求,需配置iptables规则和ipvsadm脚本;DR模式则通过虚拟IP直接路由,需绑定VIP到虚拟网卡。两种模式均需关闭SELinux和防火墙,并配置real server的网关指向调度器。测试时可通过浏览器或curl访问VIP验证负载均衡效果,使用ipvsadm命令查看转发规则。文章提供了完整的脚本和排错指南,适合从零搭建LVS集群的运维人员参考。

2026-06-30 18:28:38 257

原创 运维开发宝典044-四层负载均衡集群1

本文将深入讲解四层负载均衡技术及其实现方式。首先介绍集群技术的基本概念,重点分析负载均衡集群的工作原理与分类方式。文章详细对比了四层和七层负载均衡的技术特点,指出四层基于IP+端口转发效率更高,而七层能识别应用协议功能更丰富。 在实践部分,重点介绍了LVS(Linux Virtual Server)这一经典的四层负载均衡解决方案。LVS作为Linux内核原生支持的负载均衡模块,具有高性能、高可用的特点。文章还提供了负载均衡集群的典型架构示意图,并通过表格形式清晰对比了不同层级负载均衡的关键差异,包括性能、复

2026-06-29 09:49:20 248

原创 运维开发宝典043-Python自动化运维总结7

经过阶段性系统化学习,我完整掌握了Python 全套基础语法并顺利落地企业级自动化运维实战场景。从最开始的变量、数据类型、循环判断、函数、异常处理、文件操作、模块导入等零基础核心语法,逐步过渡到真实服务器、数据库、容器服务的自动化监控落地,实现了从“会写代码”到“能用代码解决工作问题”的完整跨越。本次学习最大的收获并非单纯记忆语法,而是建立了编程思维 + 运维思维:用程序替代重复人工、用标准化脚本替代手动命令操作、用自动化巡检替代人工盯屏排查。本次阶段性学习,成功完成了Python 零基础语法入门。

2026-06-26 11:34:17 235

原创 运维开发宝典042-Python自动化运维实战6

学完 Python 基础语法(变量、循环、条件、函数、模块、文件操作、异常处理)后,自动化运维是最实战、最落地的核心场景。传统运维依靠人工敲命令、肉眼看日志、手动查服务器状态,效率低、易出错、漏告警。利用 Python 可以编写轻量化巡检脚本,实现服务器、数据库、各类中间件、容器服务的全自动监控、数据采集、异常判定,替代 80% 重复性运维工作。本文档聚焦企业真实运维场景,包含:云服务器全指标巡检、MySQL数据库巡检、Docker/K8s/Redis/Nginx服务巡检。

2026-06-25 10:13:36 214

原创 运维开发宝典041-Python数据库模块和异常处理5

这篇文章主要介绍了Python3操作MySQL数据库的相关知识以及Python中的异常处理机制。 第一部分详细讲解了如何使用pymysql模块进行MySQL数据库操作: 比较了pymysql和MySQLdb模块的优缺点,推荐使用兼容Python3的pymysql 演示了基本的数据库操作流程:安装模块、创建连接、获取游标、执行SQL、提交事务、关闭连接 具体示例包括:创建表、插入单条/多条数据、查询数据(元组和字典格式) 第二部分全面介绍了Python异常处理: 解释异常概念:程序运行时发生的错误信号 区分两

2026-06-24 11:25:15 228

原创 运维开发宝典040-Python常见运维模块4

这篇文章主要介绍了Python模块的相关知识,包括模块的概念、分类、导入方式以及常用模块的使用。文章首先解释了模块的作用和重要性,然后详细介绍了模块的分类(内置模块、第三方模块和自定义模块)及其安装方法。接着阐述了模块的导入和使用方式,包括模块的搜索路径。最后重点讲解了sys和os这两个常用模块的功能和用法。全文内容全面,涵盖了Python模块化的核心知识点,适合初学者系统学习Python模块相关知识。

2026-06-23 09:48:36 226

原创 运维开发宝典039-Python函数和传参3

代码的组织结构不清晰,可读性差实现重复的功能时,你只能重复编写实现功能的代码,导致代码冗余,白白耗费精力假如某一部分功能需要扩展或更新时,需要找出所有实现此功能的地方,一一修改,无法统一管理,加大了维护难度函数的定义中可能会涉及到如下几点:语法def 函数名(参数1,参数2,参数3,...):'''注释'''函数体return 返回的值# 函数名要能反映函数本身所实现的意义def:表示定义函数的关键字函数名:函数的名称,日后根据函数名调用函数。

2026-06-22 12:04:31 215

原创 运维开发宝典038-Python五大容器和文件操作2

本文主要介绍了Python编程中的标准数据类型及其应用。首先阐述了数据类型在编程中的重要性:对机器而言决定内存解释方式,对编译器确保程序一致性,对程序员则有助于文档组织和开发效率。随后详细讲解了Python的六种标准数据类型: 数字(Number):包括整型、浮点型和复数,不可变类型。介绍了进制转换、数值运算及常用数学函数(如abs()、round()等)和随机数函数(如choice()、random()等)。 字符串(String):通过引号定义,不可变类型。详细说明字符串的创建、索引访问、切片操作以及常

2026-06-22 11:57:30 252

原创 运维开发宝典037-Python环境安装和变量1

Python 是由 Guido van Rossum (吉多·范罗苏姆)在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。Python 本身也是由诸多其他语言发展而来的,这包括 ABC、lisp、perl、C、C++、Unix shell 和其他的脚本语言等等。像 Perl 语言一样,Python 源代码同样遵循 GPL(GNU General Public License)协议。

2026-06-21 08:43:02 214

原创 运维开发宝典036-Shell脚本自动化运维编程Shell运维脚本实战2

本文介绍了一套模块化Shell脚本巡检系统,可自动采集服务器基础信息、监控硬件资源、核查安全状态,并生成HTML可视化报表。脚本包含系统信息采集、内存/磁盘检测、网络状态监控、SSH密钥检查等独立功能模块,通过主调度脚本串联全流程。采用模块化设计便于维护和扩展,支持自定义防火墙规则,最终生成包含关键运维数据的HTML报告,路径为/tmp/system_audit_report.html。该方案能有效提升运维效率,适用于日常巡检和安全审计场景,具有可视化强、扩展性好等优势。

2026-06-19 11:26:53 259

原创 运维开发宝典035-Shell脚本自动化运维编程Shell运维脚本实战1

大家好,我是云计算磊哥,从业20年的IT老鸟。运维培训15年,总结了一套从入门到精通的全运维开发宝典手册。

2026-06-18 20:34:43 215

原创 运维开发宝典034-Shell脚本自动化运维编程文本处理三剑客

awk 是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk的处理文本和数据的方式是这样的,它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。如果没有指定处理动作,则把匹配的行显示到标准输出(屏幕),如果没有指定模式,则所有被操作所指定的行都被处理。

2026-06-18 08:51:29 211

原创 运维开发宝典033-Shell脚本自动化运维编程函数与正则

方法一:函数名() {函数要实现的功能代码 } 方法二: function 函数名 {函数要实现的功能代码 }正则表达式(regular expression, RE)是一种字符模式,用于在查找过程中匹配指定的字符。在大多数程序里,正则表达式都被置于两个正斜杠之间;例如/l[oO]ve/就是由正斜杠界定的正则表达式,它将匹配被查找的行中任何位置出现的相同模式。在正则表达式中,元字符是最重要的概念。匹配数字: ^[0-9]+$ 123 456 5y7。

2026-06-17 21:39:23 166

原创 运维开发宝典032-Shell脚本自动化运维编程流程控制

大家好,我是云计算磊哥,从业20年的IT老鸟。运维培训15年,总结了一套从入门到精通的全运维开发宝典手册。

2026-06-17 21:38:36 279

原创 运维开发宝典031-Shell脚本自动化运维编程初识

​ 想学 Linux 运维却不知道从哪入手?这套 Shell 脚本实战博文一次性讲透!变量、判断、循环、函数、正则、流编辑器全覆盖,手把手教你写自动化脚本,从脚本创建到全服务器状态巡检脚本输出HTML页面检测,真正做到学完即用,快速提升运维实战能力。" " 弱引用' ' 强引用` ` 命令替换 等价于 $() 反引号中的shell命令会被先执行[root@blackmed ~]# disk_free3="df -Ph |grep '/$' |awk '{print $4}'" 错误。

2026-06-16 13:57:26 258

原创 运维开发宝典030-MySQL06数据库运维阶段总结

第 1 天:MySQL 安装和配置搞定了基础环境搭建:从不同系统的安装方式,到配置文件my.cnf核心参数解读(端口、数据目录、字符集、最大连接数这些),还有初始化、启动、权限配置,这是所有 MySQL 学习的地基,也是面试常问的 “你怎么搭一套生产可用的 MySQL 环境” 的基础。第 2 天:MySQL 数据库表操作。

2026-06-15 14:59:16 250

原创 运维开发宝典029-MySQL05Replication

MySQL主从复制实战指南 本文详细介绍了MySQL数据库主从复制技术的实战应用,内容涵盖: 主从复制概述 目的:实现远程灾备、高可用性和负载均衡 常见拓扑结构:M-S、M-S-S、M-M、M-M-S-S等 核心原理:基于二进制日志(Binary Log)和中继日志(Relay Log)的数据同步机制 实战案例 一主一从(M-S)配置:详细演示了从环境准备、二进制日志配置、复制用户创建到数据同步验证的全过程 GTID模式配置:使用gtid_mode简化位置跟踪,避免手动指定日志位置 双主双从(MM-SS)扩

2026-06-14 14:32:14 234

原创 运维开发宝典028-MySQL04数据库热备

这篇文章由三部分组成:云计算运维开发培训介绍、MySQL索引详解和MySQL安全管理与物理备份实践。 第一部分是作者"云计算磊哥"的自我介绍,他拥有20年IT从业经验,将推出300天的系列博文,涵盖从零基础到高级运维开发的全方位内容,包括云计算行业分析、技术操作等,并预告后续AI大模型开发课程。 第二部分详细讲解MySQL索引,包括索引原理、分类(普通/唯一/全文等索引)、通过实验对比有无索引的查询性能差异,并介绍索引创建语法和管理方法。 第三部分涉及MySQL安全管理(权限级别、用户管理)和物理备份实践,

2026-06-13 16:12:26 225

原创 运维开发宝典027-MySQL03数据库的增删改查

本文介绍了MySQL数据库管理中的DML(数据操作语言)和DQL(数据查询语言)实战操作。DML部分详细讲解了INSERT插入数据(完整/指定字段/多记录)、UPDATE更新数据和DELETE删除数据的语法及示例。DQL部分重点阐述了单表查询的各种方法,包括简单查询、条件查询(WHERE、BETWEEN AND、IN、IS NULL、LIKE)、排序(ORDER BY)、限制记录数(LIMIT)、集合函数(COUNT/MAX/MIN/AVG/SUM)、分组查询(GROUP BY)以及正则表达式查询。最后简要

2026-06-13 16:11:39 226

原创 运维开发宝典026-MySQL02数据库表操作

创建业务数据库语法:CREATE DATABASE 数据库名;区分大小写唯一性不能使用关键字如 create select不能单独使用数字查看数据库语法: SHOW DATABASES;选择数据库USE 数据库名查询当前库删除数据库DROP DATABASE 数据库名;系统中的位置/usr/local/mysql/data/ 源码安装/var/lib/mysql/ RPM安装。

2026-06-07 10:41:30 246

原创 运维开发宝典025-MySQL01数据库的安装和配置

摘要 本文由资深IT专家"云计算磊哥"分享,涵盖MySQL DBA运维实战的部署指南。文章首先回顾数据库发展历程,介绍MySQL的功能与分类(关系型/非关系型),并解析数据库系统结构、SQL语言分类及数据访问技术。重点讲解三种MySQL部署方式: YUM安装:快速便捷但定制性差,需通过RPM包安装并配置初始密码。 预编译安装:通用性强,支持基础参数调整,需手动初始化数据目录并配置启动脚本。 源码安装:灵活性最高,可深度优化硬件适配,但复杂度高,需解决依赖并编译安装。 每种方式均附详细步骤,包括环境准备、用户

2026-06-07 10:39:08 255

http-2.2.22.tar.bz2

http 2.2.22源码安装包。适用于red hat linux

2015-11-23

空空如也

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

TA关注的人

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