自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用ELFK架构分析各种日志

本文介绍了使用ELFK(Elasticsearch+Logstash+Filebeat+Kibana)系统采集多种日志的配置方法。包括nginx、tomcat、mysql、docker容器和系统日志的采集方案,每部分都详细说明了Logstash配置文件编写、Filebeat配置及启动命令,最终可在Kibana中查看采集到的日志数据。文章提供了完整的配置文件示例和可视化界面截图,展示了如何构建一个全面的日志收集与分析系统。

2025-09-02 08:30:00 143

原创 Filebeat采集数据与日志分析实战

Filebeat数据采集与日志处理实践 摘要: Filebeat作为轻量级日志采集工具,默认按行采集数据并记录采集位置(offset)。本文介绍了Filebeat的核心原理和配置方法,包括: 基础配置示例(采集JSON日志到控制台) Nginx日志采集实践(输出到Elasticsearch集群) Tomcat日志采集方案(含环境部署与配置) 多实例管理与多种业务日志同时采集方案 索引模板配置与数据分流技巧 关键点: Filebeat通过offset机制实现有状态采集 支持自定义索引名称和模板配置 可通过ta

2025-09-01 17:10:24 717

原创 麒麟系统部署EFK架构

本文详细介绍了ElasticSearch集群(7.17.29版本)的部署过程,包括ES软件包下载、三节点安装配置、集群参数设置及服务启动验证。同时部署了Kibana可视化工具(配置中文界面)和Filebeat日志收集组件,通过TCP端口接收测试数据并展示在Kibana中。整个流程涵盖软件安装、配置文件修改、集群同步、服务启动及数据验证等关键步骤,形成了一套完整的ELK(ElasticSearch+Kibana+Filebeat)日志分析系统部署方案。

2025-09-01 08:30:00 523

原创 ES集群部署-EFK架构实战

ElasticStack技术栈简介与部署实践 ElasticStack是由Elastic公司推出的技术栈,早期以ELK(ElasticSearch+Logstash+Kibana)闻名。本文详细介绍了ElasticStack的架构设计,包含数据存储(ES)、采集处理(Logstash)和可视化(Kibana)三大组件。重点讲解了ElasticSearch的单点部署步骤,包括软件包下载、配置文件修改和启动验证,以及集群部署的配置要点和状态检查方法。文章还解释了ES集群状态颜色含义(红/黄/绿)和核心术语(索引

2025-08-31 10:31:01 973

原创 数据库服务-redis高可用架构-mongodb日常维护管理

本文介绍了Redis数据库的三种架构搭建方法:主从架构、高可用架构和集群架构。主从架构通过slaveof/replicaof命令实现数据同步,配置步骤包括创建目录、修改配置文件及验证主从状态。高可用架构使用哨兵服务监控主库状态,当主库异常时可自动切换。集群架构配置多个实例实现负载均衡,通过cluster-enabled参数启用集群功能。每种架构都提供了详细的配置文件和操作步骤,帮助实现数据备份、服务高可用和负载均衡等功能。

2025-08-30 10:14:27 828

原创 数据库服务-高可用架构与redis基础

数据库读写分离架构与Redis部署摘要 ProxySQL实现读写分离 ProxySQL作为中间件实现数据库读写分离架构,通过配置主从节点分组,将写请求(10组)定向到主库,读请求(20组)定向到从库。配置步骤包括:安装ProxySQL、设置读写组、添加节点信息、配置监控用户和业务用户、定义路由规则等。最终通过6033业务端口实现读写分离,有效减轻主库压力。 Redis缓存服务部署 Redis作为内存数据库可提升数据读写效率,用作MySQL缓存可降低并发压力。部署流程包括:下载源码编译安装、创建数据目录、修改

2025-08-30 10:00:33 1011

原创 数据库服务-主从同步-高可用架构MHA

MySQL主从故障排查思路摘要 本文详细介绍了MySQL主从同步故障的排查方法,主要包括: 通过show slave status\G查看Slave_IO_Running和Slave_SQL_Running线程状态 检查错误提示信息(Last_IO_Error/Last_SQL_Error) 对比主从binlog文件和位置点是否一致 常见故障类型及解决方法: IO线程连接问题(密码错误、防火墙、连接数限制) binlog日志被清理(需重建主从) server_uuid冲突(删除auto.cnf重建uuid)

2025-08-28 14:06:00 630

原创 数据库服务-日志管理-备份与恢复-主从同步

数据库服务日志管理摘要 本文介绍了MySQL数据库的四种主要日志类型及其管理方法: 日志类型 通用日志:记录用户登录及操作行为(默认关闭) 错误日志:记录数据库运行错误信息(默认开启) 二进制日志:记录事务操作,用于数据恢复和主从同步(默认开启) 慢查询日志:记录执行缓慢的SQL语句 日志管理方法 通过修改my.cnf配置文件启用/配置各类日志 错误日志时间校正:设置log_timestamps=SYSTEM 二进制日志查看:使用show binary logs/show binlog events命令 二

2025-08-27 20:13:10 718

原创 数据库服务优化设置

MySQL存储引擎提供了灵活的数据存取方式,支持多种引擎如InnoDB(支持事务、行级锁)、MyISAM(读多写少场景)和MEMORY(临时表)等,用户可根据需求选择或定制引擎。索引功能通过B+Tree等结构加速查询,包括聚簇索引(主键)和辅助索引(非主键),优化数据检索效率并减少磁盘IO消耗。存储引擎控制数据物理存储与内存交互,索引则通过层次化结构实现高效查询,适用于大规模数据场景。

2025-08-24 15:46:28 990

原创 数据库服务语句应用

本文介绍了SQL数据库语句的基本分类和应用。主要内容包括: SQL语言概述及其标准版本(SQL89/92/99/03) 四大SQL语句类型: DDL(数据定义语言):create/alter/drop/show DCL(数据控制语言):grant/revoke/commit/rollback DML(数据操作语言):insert/delete/update DQL(数据查询语言):select 常见数据类型:整数、浮点、字符串、时间、枚举类型 数据约束属性:主键、唯一、非空、外键等约束 实际应用示例:数据库

2025-08-23 23:16:00 709

原创 数据库服务安装部署与基础管理

本文详细介绍了MySQL数据库服务的安装部署与管理流程。主要内容包括:1)数据库服务安装步骤(下载安装包、环境准备、软件安装、配置服务);2)数据库密码管理(设置/修改/重置密码);3)用户管理(创建/查看/删除用户及白名单配置);4)权限管理说明。文中提供了详细的命令行操作示例和可视化截图,涵盖了MySQL 8.0版本的关键配置要点,包括初始化参数差异、密码插件选择等注意事项。适用于Linux环境下MySQL数据库的完整部署与管理参考。

2025-08-18 21:29:36 772

原创 搭建Jumpservre堡垒机全流程

摘要:堡垒机是一种集中管理服务器访问权限的网络安全系统,通过统一入口控制、身份认证、权限管理和操作审计等功能,保障运维安全。核心作用包括解决多人访问权限混乱、操作不可追溯等问题,支持SSH/RDP等多种协议。常见应用场景包括企业数据中心、云环境管理及合规需求。国内主流产品有华为云、阿里云堡垒机等。文章还提供了Jumpserver的离线安装指南及基础配置步骤,涵盖用户添加、主机资产管理等操作流程。

2025-08-15 15:00:57 795

原创 搭建局域网yum源仓库全流程

搭建本地YUM仓库的完整流程。首先安装createrepo、nginx等必要软件包,创建仓库目录并配置源文件。然后通过reposync命令同步远程仓库到本地,提供自动同步脚本和定时任务设置方案。最后配置Nginx发布仓库目录,并给出局域网内使用的YUM源配置示例。整个过程涵盖了从软件安装、仓库同步到服务发布的完整步骤,适用于构建企业内网镜像源环境。

2025-08-14 19:17:18 364 2

原创 day73-DevOps落地-微信钉钉通知-节点管理-pipeline流水线

Jenkins中实现钉钉、企业微信通知以及节点管理的详细配置方法。主要内容包括:1)安装钉钉/企业微信通知插件,配置Webhook地址实现构建消息推送;2)Jenkins节点管理实现主备功能,分担主节点压力,包含节点准备、添加配置和任务绑定流程;3)Jenkins Pipeline的基本概念与优势,重点说明其"流水线即代码"的核心思想,以及agent、stage等关键组件的使用方法。通过图文并茂的方式,完整展示了从插件安装到实际应用的全流程操作步骤。

2025-08-08 18:53:27 1014

原创 day72-DevOps落地-代码分析-nexus仓库-用户管理RBAC

代码安全检查工具SonarQube的部署与使用。SonarQube是一个开源的代码质量管理系统,支持与Gitlab、Jenkins集成,用于检测代码错误、漏洞和规范问题。文章详细说明了不同规模的硬件部署要求(小型/中型/大型)、软件环境需求(推荐Linux+Java 17+PostgreSQL),并对比了社区版和企业版的功能差异。随后提供了SonarQube 7.7的具体部署步骤,包括MySQL数据库配置、Java环境安装、SonarQube二进制部署、插件安装及启动方法。最后展示了如何创建项目、

2025-08-07 19:35:08 934

原创 day71-DevOps落地-基于Docker代码发布全流程

基于Docker的代码发布流程,主要包括环境准备、Jenkins集成Docker以及两个具体案例的实现。环境准备部分详细说明了Docker API配置、Jenkins与Docker的集成方式,以及Docker镜像仓库的选择。通过实际案例演示了如何利用Jenkins构建Java项目并打包成Docker镜像发布到私有仓库,其中包括Dockerfile编写、Maven编译配置、镜像构建推送等关键步骤。文章还介绍了参数化构建的实现方法,展示了从代码提交到最终部署的完整CI/CD流程,并提供了详细的配置截图

2025-08-06 20:58:55 1161

原创 项目实战-jenkins代码发布全流程

通过Jenkins实现基于Git标签(TAG)的自动化部署方案。以china和java_hello两个项目为例,详细展示了从构建任务创建到自动化部署的全流程。关键步骤包括:1) 配置Jenkins构建任务与GitLab仓库关联;2) 编写包含编译、打包、分发、部署和清理功能的Shell脚本;3) 设置参数化构建支持按标签版本部署;4) 通过Webhook实现代码提交自动触发构建;5) 演示了版本升级(v0.1→v0.2→v0.3)和回滚(v0.2→v0.1)的操作过程。该方案支持多服务器部署,适用

2025-08-06 19:54:36 1114

原创 day70-DevOps落地-jenkins代码发布全流程

本文介绍了通过webhook实现Jenkins任务自动触发的方法,包括配置GitLab钩子、生成令牌、解决网络请求限制问题,并通过代码版本控制防止重复构建。同时详细讲解了Java代码的编译部署流程,涵盖Maven环境配置、源代码编译、War包传输及Tomcat部署。最后展示了如何通过浏览器访问部署结果,实现从代码提交到自动化构建部署的完整CI/CD流程。

2025-08-05 19:38:12 1188

原创 day69-DevOps落地-gitlab-jenkins代码发布全流程

本文介绍了GitLab的备份恢复、HTTPS配置和邮件服务配置,以及Jenkins的快速安装指南。在GitLab部分,详细说明了如何修改配置文件开启备份功能、执行备份操作,以及通过停止服务、恢复备份文件来恢复数据;同时讲解了配置HTTPS所需的Nginx设置和邮件服务的SMTP参数配置。Jenkins部分则涵盖了环境准备、三种安装方式(RPM/WAR/JAR包)、插件安装步骤和初始登录流程。全文提供了完整的命令行操作和配置示例,适合系统管理员快速部署和维护GitLab与Jenkins服务。

2025-08-04 23:07:08 1263

原创 kodbox网站集群上云项目

本文详细介绍了在阿里云上搭建网站集群架构的全流程。首先通过创建专有网络和ECS实例作为基础环境,部署kodbox云盘系统;然后配置云数据库RDS和Redis服务,完成可道云初始化;接着接入OSS存储实现文件托管,并通过CLB负载均衡实现流量分发;最后部署WAF防火墙和CDN加速,提升安全性和访问性能。整个方案涵盖了计算、存储、数据库、缓存、负载均衡、安全防护等关键组件,形成了一套完整的云端网站架构解决方案。

2025-08-03 11:15:23 1279

原创 day68-DevOps落地-代码发布全流程-gitlab

GitLab 部署与使用指南 GitLab 是一个基于 Ruby 和 Go 开发的私有代码仓库平台,提供精细化的权限管理和安全控制。相比 GitHub/Gitee,GitLab 具有更强的权限控制、安全措施和备份功能。 主要特点: 开源免费,适合中小公司 精确的权限管理 支持离线同步 部署流程(麒麟系统): 安装依赖包 下载安装 GitLab CE 15.9 社区版 修改配置文件(域名、SMTP等) 初始化并启动服务 通过网页访问并设置密码 使用指南: 创建新项目 添加 SSH 密钥 推送现有仓库到 Git

2025-08-02 08:20:06 1199

原创 day68-DevOps落地-代码发布全流程-git

本文介绍了CI/CD/DevOps相关概念及Git基础操作。主要内容包括: CI/CD/DevOps概述:讲解了持续集成(CI)、持续交付(CD)、持续部署(CO)的区别,以及DevOps理念如何实现开发运维一体化,强调自动化流程。 环境分类:详细说明了开发环境、测试环境、预生产环境和生产环境的区别与联系。 Git基础: Git与SVN对比 常用命令:init、add、commit、status、log、reset等 版本回滚操作 Git工作区域(工作区、暂存区、本地仓库)与状态 Git分支管理:介绍了分支

2025-08-01 22:16:54 1267

原创 day67-公有云架构-CDN+waf-云安全-云监控

本文介绍了WAF防火墙规则配置、CDN与WAF联合使用、HTTPS配置及云安全相关实践。主要内容包括:1)WAF自定义规则设置,如屏蔽curl命令、添加浏览器验证码;2)CDN与WAF联动配置方法;3)CDN的HTTPS证书配置流程;4)云安全中心漏洞扫描、DDoS防护等安全措施;5)云监控和文件存储NAS的使用;6)弹性伸缩与FinOps成本优化思路。最后提出了上云目标架构方案,涵盖cdn/waf/clb/rds等云服务组合应用。全文通过图文结合方式,详细说明了各云服务的配置步骤和最佳实践。

2025-07-31 20:38:25 570

原创 day66-公有云架构-CDN与waf防火墙使用指南

🌟自动快照策略🌟CND概述🌟CDN使用流程🌟CDN刷新缓存/预热缓存🌟CDN资源监控🌟CDN命中率低,如何提升命中率🌟使用CDN计费方式🌟CDN安全设置🌟云安全🔥waf防火墙

2025-07-30 20:15:38 1189

原创 day65-公有云架构-负载均衡CLB-ALB-NLB

摘要:阿里云负载均衡实战指南 本文详细记录了在阿里云平台部署负载均衡服务的完整流程。首先通过购买2台ECS服务器并部署Nginx服务(web01/web02),然后配置CLB负载均衡器,包括监听端口设置、服务器组管理、转发策略配置和HTTP到HTTPS跳转。随后扩展部署3台ECS服务器(web01-03),并配置更高级的ALB负载均衡,实现基于用户代理(UA)的智能路由。文章提供了详细的命令行操作步骤和界面配置截图,最终通过浏览器访问验证了负载均衡效果,展示了不同请求被正确路由到对应后端服务器的过程。

2025-07-29 21:18:14 573

原创 day64-公有云架构-网站集群上云项目

本文介绍了kodbox接入阿里云OSS存储的完整流程,包括存储分类、创建Bucket存储桶、RAM访问控制配置、添加OSS权限等关键步骤。同时详细说明了如何通过负载均衡(CLB)实现高可用架构,包括HTTPS监听配置、证书管理、后端服务器组设置以及DNS解析。最后总结了完整的云架构方案,涵盖ECS、RDS、Redis、OSS及负载均衡的协同工作,为kodbox文件管理系统提供了可扩展、高可用的云端部署方案。

2025-07-28 17:58:08 1075

原创 day61-可观测性建设-全链路监控

📌 Zabbix监控体系概览 Zabbix监控主要从两个维度展开: 1️⃣ 用户访问流程维度:按照业务数据流监控DNS、CDN、防火墙、负载均衡、Web服务、数据库等全链路 2️⃣ 分层服务维度: 硬件层:温度、风扇、RAID状态 系统层:CPU、内存、磁盘等基础指标 服务层:Nginx、PHP等进程状态 业务层:API接口、Web场景监控 🔧 典型监控实现: • 域名监控:通过nslookup检查解析,whois查询过期时间 • 证书监控:使用openssl检查HTTPS证书有效期 • 分布式监控:结

2025-07-26 12:28:05 1597

原创 day63-网站集群架构-公有云(上云)

摘要:阿里云ECS部署可道云全流程 本文详细介绍了在阿里云上部署可道云(KodBox)的全过程。首先创建专有网络和ECS实例,针对不同应用场景选择CPU/内存配比,通过密钥连接ECS后,使用Docker-compose快速部署KodBox容器。接着配置云数据库RDS和Redis服务,设置白名单安全策略。最后完成可道云初始化配置,验证数据库连接,并演示如何通过命令行工具检查RDS和Redis中的数据存储情况。整个流程涵盖了从资源购买到应用部署的关键步骤,为中小型企业上云提供了实用参考。

2025-07-25 21:30:30 529

原创 day62-可观测性建设-全链路监控zabbix+grafana

本文介绍了Zabbix监控系统的API接口监控、告警分类和邮件/企业微信告警配置方法。主要内容包括:1) 通过生成API令牌和命令行测试监控Zabbix API接口;2) 多种告警方式对比(邮件、企业微信、短信等)及应用场景;3) 详细配置邮件告警流程,包括SMTP设置、消息模板和触发器动作;4) 企业微信告警实现,提供Python脚本和Docker镜像构建方法,包含Webhook集成。文章还附有阿里云源配置和Dockerfile示例,为构建自定义Zabbix服务器提供参考。

2025-07-24 23:11:46 727

原创 day60-可观测性建设-全链路监控各种客户端

本文介绍了Zabbix监控不同设备的配置方法:1)Windows设备通过安装Zabbix Agent2并添加主机;2)网络设备(如H3C路由器)通过SNMP协议配置,包括ACL安全设置和OID参考;3)Java应用通过自定义监控脚本监控JVM堆内存状态,包括MaxHeapSize和Eden区使用率。文章还提供了详细的故障排查案例,如jmap并发执行的限制问题。配置步骤涵盖客户端脚本编写、服务端测试、Web界面添加监控项等完整流程,并强调安全建议(避免使用默认团体名public)。

2025-07-22 19:30:58 733

原创 ansible批量部署zabbix客户端

本文介绍了使用Ansible编写playbook自动化安装Zabbix客户端的完整步骤。主要包括:创建roles目录结构、编写tasks任务(配置源、安装客户端、分发配置文件)、准备部署文件(zabbix.repo、配置文件)、编写handlers处理重启服务、创建主playbook以及运行和验证过程。通过Ansible playbook可以高效地批量部署Zabbix客户端,实现监控代理的自动化配置和管理。文章提供了详细的YAML代码示例和操作截图,是一份实用的自动化部署指南。

2025-07-21 21:20:17 493

原创 day59-可观测性建设-zabbix自定义监控项

Zabbix 监控摘要 Zabbix 提供丰富的内置键值用于监控 Linux 系统资源,包括系统信息、CPU、内存、磁盘和网络等指标,如 system.cpu.util(CPU 使用率)、vm.memory.size(内存)和 net.if.in(网络流量)。用户可通过 Web 界面或 zabbix_agentd -t 命令查看所有键值。 自定义监控可通过编写客户端配置实现,支持无参数(如 sys.zombie 监控僵尸进程)和带参数(如 sys.port.conn[22] 监控端口连接数)两种方式。配置流

2025-07-21 19:20:24 1725

原创 day58-可观测性建设-Docker部署zabbix-7.0

Zabbix监控系统部署与自定义监控实践 本文介绍了Zabbix监控系统的部署和自定义监控配置方法。主要内容包括: 通过docker-compose部署Zabbix 7.0,包含MySQL数据库、Zabbix服务端和Web界面三个组件 客户端部署流程:安装agent2、修改配置文件、添加监控主机 自定义监控实现: 无参数键值配置(如监控僵尸进程) 带参数键值配置(如监控指定端口连接数) 详细展示了从客户端配置到服务端测试,再到Web界面添加监控项的完整流程 文章提供了详细的配置文件和命令示例,为搭建企业级监

2025-07-21 08:00:00 657

原创 docker-compose启动前后端分离项目(单机)

本文介绍了使用Docker Compose部署前后端考试系统的完整流程。主要内容包括: 准备数据库脚本、前后端代码和配置文件 编写三个Dockerfile文件(数据库、后端、前端) 配置docker-compose.yml定义服务、网络和存储卷 通过docker-compose build构建镜像 使用docker-compose up启动容器 验证服务状态并通过浏览器访问系统 提供学生端和管理端的访问地址及默认账号 系统采用MySQL数据库,Java后端和Nginx前端,通过Docker网络实现容器间通信

2025-07-20 16:09:00 378

原创 Ansible常用模块

Ansible 常用模块摘要 🌟 command 模块 🌟 shell 模块 🌟 script 模块 🌟 stat 模块 🌟file模块 🌟lineinfile模块 🌟copy模块 🌟template模块 🌟unarchive模块 🌟mount模块 🌟group模块 🌟user模块 🌟yum/apt模块 🌟systemd模块 🌟mysql_db/mysql_user模块

2025-07-20 09:00:00 1364

原创 docker-compose启动前后端分离集群项目

本文介绍了使用Ansible批量部署Docker环境,以及通过Docker-compose部署MySQL数据库和Java应用的完整流程。主要内容包括: Ansible部分: 创建roles目录结构 编写tasks任务完成Docker组件安装配置 准备部署文件并运行playbook 验证Docker和Docker-compose版本 MySQL数据库部署: 编写Dockerfile定义MySQL容器环境 配置docker-compose.yml文件 构建镜像并启动容器 验证数据库连接 Java应用部署

2025-07-19 15:03:27 759

原创 day58-docker网络模式-none-host-bridge-container-overlay

Docker提供了多种网络模式以满足不同场景需求:none模式(无网络)、host模式(共享主机网络)、bridge模式(默认桥接)、container模式(共享容器网络)、overlay模式(跨主机通信)以及自定义网络。其中,bridge模式支持容器间通过虚拟网桥通信,推荐使用支持DNS解析的自定义桥接网络;host模式性能最佳但缺乏隔离;overlay模式专为Swarm集群设计。自定义网络可通过命令指定子网、IP范围和网关

2025-07-19 11:34:42 791

原创 day57-搭建私有镜像仓库

1.根据镜像反向推理Dockerfile2.docker-compose自定义kodbox镜像3.搭建私有registry镜像4.搭建私有harbor镜像5.搭建阿里云ACR镜像仓库6.harbor备份与监控7.Docker api接口介绍

2025-07-18 08:00:00 1456

原创 day56-Dockerfile自定义镜像

本文介绍了将网站服务容器化的过程,重点演示了如何构建Nginx+PHP的自定义Docker镜像。主要内容包括:1)配置Ubuntu 20.04/22.04的阿里云APT源;2)安装Nginx和PHP8.1相关组件;3)修改Nginx和PHP配置文件,包括子站点配置、用户权限设置等;4)编写Dockerfile实现自动化构建,包含时区设置、日志重定向、缓存清理等优化;5)通过entry.sh脚本启动服务。该方案适用于需要自定义容器环境的场景,解决了官方镜像无法满足特定需求的问题。

2025-07-17 08:04:07 1051

原创 day55-Dockerfile自定义镜像

本文介绍了Dockerfile的基本概念和常见指令,并通过两个实际案例演示如何创建自定义镜像。主要内容包括:Dockerfile的应用场景(简化手动配置过程)、常用指令说明(如FROM、RUN、ADD等)、小鸟飞飞和zrlog两个具体项目的镜像构建过程、常见故障排查方法,以及CMD与ENTRYPOINT指令的区别。文章通过示例代码和操作步骤,展示了如何从基础镜像开始,通过Dockerfile指令逐步构建符合需求的应用镜像,最终运行容器并访问服务。

2025-07-16 08:07:44 980

空空如也

空空如也

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

TA关注的人

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