Linux
文章平均质量分 90
ㅤChen
这个作者很懒,什么都没留下…
展开
-
ansible自动化部署解析
这里写目录标题ansible概述ansble环境安装部署部署准备安装ansibke配置主机清单配置密钥验证ansible语法设置免密登录ansible命令行模块command命令模块cron计划任务模块删除任务计划user用户模块创建用户命令删除用户group组模块进行用户属主,组设置调整copy复制模块file文件管理模块更改文件属性创建软链接删除文件创建文件ping模块yum安装模块service服务模块标签为mysql(node2)上安装软件名为httpd标签为mysql(node2)上防火墙状态为关原创 2021-01-14 14:26:59 · 1148 阅读 · 0 评论 -
ELK日志分析系统
文章目录一、ELK日志分析系统简介1:ELK日志分析系统组成2:日志处理步骤二:三款软件简介1:Elasticsearch(1)Elasticsearch的概述(2)Elasticsearch核心概念2:Logstash(1)Logstash介绍(2)Logstash的主要组件3:Kibana(1)Kibana介绍(2)Kibana主要功能三:ELK日志分析系统部署1:拓扑图2:实验环境3:部署步骤node1 节点配置3.1、3台服务器关闭防火墙3.2、3台服务器域名映射3.3、部署elasticsearc原创 2021-01-11 12:02:49 · 1684 阅读 · 0 评论 -
rsync远程同步
rsync远程同步rsync服务基本介绍一:Rync服务器二:备份方式三:rsync命令使用方法1:命令参数2:远程备份数据配置 rsync 服务器rsync同步源1:复制操作格式一格式二免交互rsync + inotify1:关于inotify2:rsync实时同步2:客户机安装 inotify 软件rsync服务基本介绍一:Rync服务器Rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具。并且可以不进行改变原有数据的属性信息,实现数据的备份迁移特性。R原创 2021-01-05 09:10:15 · 413 阅读 · 0 评论 -
MySQL主从同步与读写分离原理及案例实施
MySQL 主从同步与读写分离原理及案例实施概述MySQL主从复制原理MySQL读写分离原理案例拓扑图搭建 MySQL 主从复制一:时间同步配置二:安装 MySQL 数据库三:配置主、从 服务器搭建 MySQL 读写分离概述1:在企业应用中,成熟的业务通常数据量都比较大2:单台MySQL在安全性、高可用性和高并发方面都无法满足实际的需求3:配置多台主从数据库服务器以实现读写分离MySQL主从复制原理1:MySQL的复制类型基于语句的复制:在主服务器上执行的 SQL 语句,在服务器上执行同样的原创 2021-01-05 08:53:36 · 436 阅读 · 0 评论 -
NTP时间同步
ntp 时间同步时间同步的作用NTP (Network Time Protocol,网络时间协议)是用来使计算机时间同步的一种协议它可以使计算机对其服务器或时钟源做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒)对于服务器群集来说,这个是一个很重要的服务,因为群集需要保证每个服务器的时间是保持一致的,这样它们在执行同一个任务时才不会出现有的服务器有滞后的现象,这样群集的状态才是健康的。NTP的工作模式C/S模式NTP的协议及端口号UDP协议12原创 2021-01-11 08:48:21 · 11567 阅读 · 1 评论 -
MySQL搭建MAH架构
MySQL搭建MAH架构AH架构介绍适用场景MHA工作原理MHA的组成Manager工具包Node工具包MHA 特点MHA 架构部署数据库安装AH架构介绍MHA (Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本人youshimaton开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能最大程度上保原创 2021-01-04 12:13:37 · 891 阅读 · 0 评论 -
MySQL高级SQL语句操作
MySQL高级SQL语句操作按关键字排序对结果进行分组限制结果条目设置别名通配符子查询NULL值正则表达式运算符算术运算符比较运算符逻辑运算符位运算符表的连接方式外连接数据库函数按关键字排序使用ORDER BY语句来实现排序排序可针对一个或多个字段ASC:升序默认排序方式DESC:降序ORDER BY的语法结构SELECT column1, column2,... FROM table_name ORDER BY column1, column2,...ASC|DESC;按单字段排序按多原创 2021-01-04 12:06:55 · 368 阅读 · 0 评论 -
GFS分布式文件系统
GFS 分布式文件系统GlusterFS概述一:GlusterFS简介二:GlusterFS特点三:GlusterFS术语四:模块化堆栈式架构GlusterFS工作原理一:GlusterFS工作流程二:弹性HASH算法GlusterFS的卷类型一:分布式卷1:分布式卷介绍2:分布式卷的特点3:创建分布式卷二:条带卷1:条带卷介绍2:条带卷的特点3:创建条带卷三:复制卷1:复制卷介绍2:复制卷特点3:创建复制卷四:分布式条带卷1:分布式条带卷介绍2:创建分布式条带卷五:分布式复制卷1:分布式复制卷介绍2:创建原创 2021-01-04 12:05:24 · 933 阅读 · 0 评论 -
MySQL备份与恢复
MySQL备份与恢复MySQL备份与恢复数据备份的重要性数据库备份的分类常见的备份方法MySQL完全备份与恢复数据库完全备份分类物理冷备份与恢复步骤mysqldump备份和恢复MySQL增量备份与恢复MySQL备份与恢复数据备份的重要性在生产环境中,数据的安全性至关重要任何数据的丢失都可能产生严重的后果造成数据丢失的原因程序错误人为操作错误运算错误磁盘故障灾难(如火灾,地震)和盗窃数据库备份的分类从物理与逻辑的角度,备份可分为物理备份:对数据库操作系统的物理文件(如数据文件,日志原创 2020-12-28 11:21:46 · 321 阅读 · 0 评论 -
MySQL数据库基础
MySQL数据库基础数据库概述数据库系统数据库系统发展史当今主流数据库介绍数据库分类关系数据库应用非关系数据库介绍MySQL数据库MySQL数据库介绍MySQL商业版与社区版MySQL产品阵营MySQL数据库常用语句分类管理数据库和表创建数据库和表删除数据库和表查看数据库结构管理数据表中的数据在数据库中删除指定的数据记录数据库的高级操作数据库概述数据(Data)描述事物的符号记录包括数字,文字、图形、图像、声音、档案记录等以“记录”形式按统一的格式进行存储表将不同的记录组织在一起用来存储具原创 2020-12-28 08:30:40 · 350 阅读 · 1 评论 -
MySQL数据库索引
MySQL数据库索引索引的概念索引的作用索引的分类创建索引的原则依据索引的实操唯一性索引全文索引事务的概念及特点事务的概念事务的ACID特点事务控制语句事务的控制方法事务控制语句存储引擎概存储引擎概念介绍MyISAM的介绍及特点MyISAM适用的生产场景lnnoDB特点介绍lnnoDB适用生产场景企业选择存储引擎依据修改存储引擎索引的概念索引是一个特殊的文件,包含着对数据表中所有记录的引用指针。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。例如需要遍历 200 条数据,在没有索引原创 2020-12-28 08:30:23 · 144 阅读 · 0 评论 -
Redis主从复制、哨兵模式
Redis主从复制、哨兵模式主从复制主从复制概念主从复制的目的全量同步哨兵模式主从复制主从复制概念Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。为了分担读压力,Redis支持主从复制,保证主数据库的数据内容和从数据库的内容完全一致。Redis的主从结构可以采用一主多从或者级联结构,Redis主从复制可以根据是否是全量分为全量同步和增量同步。主从复制的目的为了让主数据库中的数据复制给从数据库,保证主数据库与从数据库的一致性,使客户端从主与备数据库读取无差别,可以帮助主数据库原创 2020-12-21 01:44:14 · 129 阅读 · 0 评论 -
NoSQL之Redis集群
NoSQL之Redis集群概述单节点Redis服务器带来的问题Redis集群知识点Redis集群介绍Redis集群的优势Redis集群的实现方法Redis-Cluster数据分片添加删除节点无需停止服务Redis-Cluster的主从复制模型项目流程概述单节点Redis服务器带来的问题单点故障,服务不可用 无法处理大量的并发数据请求数据丢失—大灾难解决方法搭建Redis集群Redis集群知识点Redis集群介绍Redis集群是一个提供在多个Redis间节点间共享数据的程序集Redi原创 2020-12-21 00:56:57 · 138 阅读 · 0 评论 -
Redis配置优化
NoSQL之Redis集群部署解析Redis配置文件Redis数据库常用命令Redis命令工具Redis-benchmark 测试工具Redis多数据库操作Redis数据库常用命令Redis持久化通过RDB文件恢复数据AOF持久化Redis性能管理Redis配置文件配置参数(/etclredis/6379.conf)bind:监听的主机地址port:端口daemonize yes:启用守护进程pidfile:指定PID文件loglevel notice:日志级别logfile:指定日志文件原创 2020-12-20 23:51:46 · 376 阅读 · 0 评论 -
Redis部署安装
这里写目录标题数据库类型关系数据库与非关系型数据库非关系型数据库产生背景Redis简介Redis支持五种数据类型redis与memcached比较安装Redis数据类型数据库类型关系数据库与非关系型数据库存储数据类型分类结构化数据:可以用过二位表格形式表述这个数据非结构化数据:不方便以二维表格形式表述的这种类型的数据关系型数据库一个结构化的数据库,创建在关系模型基础上—般面向于记录包括Oracle、MySQL、SQL Server、Microsoft Access、DB2等非关系型数据原创 2020-12-17 09:26:50 · 305 阅读 · 0 评论 -
Squid缓存代理服务器
Squid缓存代理服务器缓存代理概述部署准备缓存代理概述Web代理的工作机制作用:缓存网页对象,减少重复请求代理的基本类型传统代理:适用于Internet,需明确指定服务端透明代理:客户机不需指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将Web访问重定向给代理服务器处理使用代理的好处提高Web访问速度隐藏客户机的真实IP地址部署准备Squid:192.168.1.10web1:192.168.1.11web2:192.168.1.12.上传软件包 解压缩ta原创 2020-12-16 16:17:07 · 161 阅读 · 0 评论 -
Nginx+Tomcat负载均衡、动静分离群集解析
Tomcat 和 NginxTomcat 和 NginxTomcat重要目录Nginx应用Nginx负载均衡实现Nginx动静分离动静分离原理Nginx静态处理优势部署解析Nginx+Tomcat负载均衡,动静分离群集Tomcat部署与测试网站搭建Nginx配置负载均衡、动静分离部署环境NFS配置Tomcat 配置Nginx 调度器配置Keepalived 配置Tomcat 和 NginxTomcat重要目录目录作用bin存放启动和关闭Tomcat脚本conf存放Tomc原创 2020-12-13 21:29:19 · 131 阅读 · 0 评论 -
Haproxy搭建Web集群
Haproxy搭建Web集群Haproxy常见的Web集群调度器Haproxy应用分析Haproxy调度算法原理RR(Round Robin)理解举例LC (Least Connections)SH (Source Hashing)使用Haproxy搭建web群集Nginx的安装与启动Nginx的安装与启动部署过程Haporxy 配置Haproxy常见的Web集群调度器Web集群调度器分软件和硬件软件通常使用开源的LVS、haproxy、Nginx硬件一般使用比较多的是F5,以及国内的梭子鱼、绿盟原创 2020-12-13 19:55:00 · 130 阅读 · 0 评论 -
LVS+Keepalived群集
LVS+Keepalived群集Keepalived案例分析Keeppalived工具介绍Keepalived实现原理剖析Keepalived案例讲解Keepalived安装与启动配置Keepalived master服务器Keepalived案例分析企业应用中,单台服务器承担应用存在单点故障的危险单点故障一旦发生,企业服务将发生中断,造成极大的危害Keeppalived工具介绍专为LVS和HA设计的一款健康检查工具支持故障自动切换(Failover)支持节点健康状态查询(Health C原创 2020-12-13 18:45:56 · 507 阅读 · 0 评论 -
LVS负载均衡-----DR
LVS负载均衡-----DRLVS-DR数据包流向分析LVS-DR群集部署拓扑图部署坏境NFS共享存储LVS-DR数据包流向分析为方便进行原理分析,将Client与群集机器放在同一网络中,数据包流经的路线为1-2-3-4Client向目标VIP发出请求,Director(负载均衡器)接收IP包头及数据帧头信息Src macDst mactype…source ipsrc portdst ipdst port…CRC…………192.168.57.135原创 2020-12-10 11:48:51 · 321 阅读 · 0 评论 -
LVS负载均衡群集
LVS负载均衡群集企业群集应用概述企业群集分类负载均衡群集(Load Balance Cluster)高可用群集高性能运算群集负载均衡群集架构TUN模式DR模式Linux Virtual ServerLVS的负载调度算法LVS群集创建与管理部署步骤项目:拓扑图:企业群集应用概述群集的含义Cluster、群集、群集由多台主机构成,但对外只表现为一个整体 作用:接待用户的请求问题互联网应用中,随着站点对硬件性能,响应速度、服务稳定性、数据可靠性等要求越来越高,单台服务器原创 2020-12-08 12:05:45 · 133 阅读 · 0 评论 -
Tomcat部署及优化
Tomcat部署及优化Tomcat介绍Tomcat核心组件Tomcat介绍免费的、开放的源代码的Web应用服务器Apache软件基金会(Apache Software Foundation)Jakarta项目中的一个核心项目由Aapche、Sun和一些公司及个人共同开发而成深受Java爱好者的喜爱,并得到部分软件开发商的认可目前比较流行的Web应用服务器Tomcat核心组件...原创 2020-12-06 23:03:43 · 124 阅读 · 0 评论 -
Nginx Rewrite
Nginx RewriteNginx Rewrite概述Rewrite跳转场景Rewrite 原理简述Nginx跳转需求的实现方式rewirte放在server{},if{},location{}段中对域名或参数字符串Nginx正则表达式Rewrite命令Rewrite命令语法flag标记说明last和break比较location分类分类正则匹配得常用表达式location优先级相同类型的表达式,字符串长的会优先匹配按优先级排列location优先级规则匹配某个具体文件用目录做匹配访问某个文件比较rewr原创 2020-12-02 11:22:35 · 103 阅读 · 0 评论 -
Nginx服务优化
配置Nginx隐藏版本号隐藏Nginx版本号,避免安全漏洞泄漏Nginx隐藏版本号的方法修改配置文件法修改源码法将Nginx配置文件中server_tokens 选项的值设置为offvi nginx.conf修改配置文件 server_tokens off; 关闭版本号nginx -t 检查语法重启服务,访问网站使用curl -l命令检测systemctl restart nginxcurl -l http://192.168.100.111使用PHP处理动态网页若P原创 2020-12-01 10:36:05 · 8234 阅读 · 0 评论 -
Nginx网站服务与搭建
Nginx网站服务Nginx网站服务搭建Nginx服务搭建环境开始:Nginx网站服务优点 承载量高Nginx服务基础Nginx访问控制Nginx虚拟主机LNMP架构部署及应用一款高性能、轻量级Web服务软件稳定性高系统资源消耗低对HTTP并发连接的处理能力高单台物理服务器可支持 30000 - 50000 个并发请求包搭建Nginx服务搭建环境先放入环境包:开始:关闭防火墙: systemctl stop firewalld setenforce 0安装依赖包:原创 2020-11-29 20:10:18 · 639 阅读 · 0 评论 -
Apach的配置和日志
Apach的配置和日志Apache 连接保持Apache链接保持相关参数配置访问控制Apache访问控制创建用户认证数据库Apache日志管理日志分割项目小试日志分割方法二 第三方工具cronolog分割解压缩安装包使用AWstats日志分析软件项目流程:AWStats日志分析系统介绍Apache 连接保持Apache链接保持相关参数keepAlive是否打开连接保持,OFF关闭,ON打开KeepAlive Timeout一次连接多次请求之间的而最大间隔时间,两次请求超过该时间连接断开MaxK原创 2020-11-27 01:11:17 · 285 阅读 · 0 评论 -
安装LAMP平台
安装Apache流程先自己准备自己的环境包 然后拉到服务器根目录然后检查一下解压缩:3条命令tar zvxf apr-1.6.2.tar.gztar zvxf apr-util-1.6.0.tar.gztar jxvf httpd-2.4.29.tar.bz2 剪切两个文件,解决部分依赖关系mv apr-1.6.2 httpd-2.4.29/srclib/aprmv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util安装其他依赖文件y原创 2020-11-27 00:02:09 · 384 阅读 · 1 评论 -
Wed基础和HTTP协议
Wed基础Wed基础域名的概述早期使用Hosts文件解析域名Wed基础域名的概述IP地址不易记忆早期使用Hosts文件解析域名主机名称重复主机维护困难1.1.3 DNS(Domain Name System 域名系统)分布式层次性121.1.4 域名空间结构根域顶级域(用途)组织域国家/地区域名二级域名(名称)FQDN=主机名.DNS后缀12345671.1.5 DNS的域名分层:.根域(任何域名都是从根域开始查找的)国家域:cn 中国,hk 香港原创 2020-11-26 17:34:59 · 482 阅读 · 0 评论 -
Apache网页、安全优化
Apache网页优化Apache网页优化Apache安全优化Apache网页优化概述优化内容gzip介绍Apache网页优化 网页压缩 网页缓存Apache安全优化 隐藏版本信息 配置防盗链Apache网页优化概述 在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代 为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容优化内容 配置网页压缩功能原创 2020-11-26 15:35:44 · 112 阅读 · 1 评论 -
iptables服务配置解析
Linux防火墙基础Linux防火墙基础编写防火墙的规则Linux包过滤防火墙的概述netfilteriptables包过滤的工作层次规则表默认包括4个规则表规则链默认包括5种规则链规则表默认包括4个规则表数据包过滤的匹配流程规则表之间的顺序规则链之间的顺序规则链内的匹配顺序Iptables安装关闭firewalld防火墙安装iptables防火墙设置iptables开机启动语法构成注意事项功能及特点协议匹配实操选项用法端口匹配ICMP类型匹配Linux防火墙基础 iptables的表、链结构原创 2020-11-25 19:22:48 · 483 阅读 · 0 评论 -
SNAT、DNAT、虚拟主机
SNATSNAT策略SNAT策略的典型应用环境SNAT策略的原理SNAT的典型应用环境SNAT策略的工作原理项目实操流程解析:基础设置在防火墙进行策略SNAT策略SNAT策略的典型应用环境局域网主机共享单个公网IP地址接入InternetSNAT策略的原理源地址转换,Source Network Address Translation修改数据包的源地址SNAT的典型应用环境局域网共享上网SNAT策略的工作原理未做SNAT转换时的情况进行SNAT转换后的情况项目实操在这里原创 2020-11-26 16:58:40 · 536 阅读 · 0 评论 -
Firewalld防火墙
Firewalld防火墙Firewalld概述Firewalld和iptablesFirewalld和iptables的区别Firewalld数据处理流程Firewalld防火墙配置方法防火墙图形界面![在这里插入图片描述](https://img-blog.csdnimg.cn/20201125150321792.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4原创 2020-11-25 16:37:51 · 176 阅读 · 0 评论 -
Shell 数组
shell 数组一、数组概述1. 了解数组2. 数组的应用场景3. 数组组成4. 数组操作5.数组切片6.数组替换7.数组删除二、Shell脚本调试一、数组概述1. 了解数组 数组:相同类型的集合(例如整数、浮点型、字符串) 在内存中开辟了连续的空间 配合循环使用 注:(数组是存放相同类型数据的集合,在内存中开辟了连续的空间,通常配合循环使用)2. 数组的应用场景 获取数组长度 获取元素长度 遍历元素 元素切片 元素替换 元素删除原创 2020-11-17 21:49:13 · 340 阅读 · 0 评论 -
Shell 正则表达式
shell 正则表达式正则表达式概述1. 正则表达式2.正则表达式的用途3.正则表达式的分类2.基础正则表达式1.基础正则表达式元字符1. grep2. sed3.扩展正则表达式1.扩展元字符2. egrep3.awk4.sort5.uniq6.tr正则表达式概述1. 正则表达式是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串,简单来说,是一种匹配字符串的方法,通过一些特殊符号,实现快速查找、删除、替换某个特定字符串。正则表达式是由普通字符与元字符组成的文字模式。2.正则表达式的用途原创 2020-11-17 21:48:42 · 203 阅读 · 0 评论 -
Shell免交互
Shell免交互应用场景搭建 一. Here Document1.Here Document概述2. Here Document注意事项3. Here Document免交互4.Here Document变量设定5. Here Document格式控制6.Here Document多行注释二. Expect概述1.Expect2.Expect安装3.基础命令4. Expect语法5.Expect执行方式6.嵌入执行一. Here Document1.Here Document概述使用I/O重定向的方原创 2020-11-17 21:48:16 · 359 阅读 · 0 评论 -
Shell脚本项目实战解析
Shell脚本项目实战解析一、脚本编程步骤分享1. 脚本编程步骤2. 步骤解析二 项目实战1.MAC记录与端口扫描脚本一、脚本编程步骤分享1. 脚本编程步骤需求分析命令测试脚本编程测试调优2. 步骤解析需求分析根据系统管理的需求,分析脚本要实现的功能,功能实现的层次,实现的命令与语句等命令测试. 将要用到的命令逐个进行测试,以决定使用的选项,要设置的变量等3.脚本编程3. 将测试好的命令写入到脚本文件中,并通过各种语句将命令执行的结果保存,判断或者发出报警等4.调原创 2020-11-17 21:47:09 · 503 阅读 · 0 评论 -
Shell冒泡排序运用
冒泡排序运用冒泡排序运用1.1 解析1.2 排序流程1.3 脚本排序1.4 键盘输入冒泡排序冒泡排序运用1.1 解析通过对数据循环排序,得出数值大小,进行排序1.2 排序流程score =(10 5 1 100 70 60)第一轮 比较了5次10 5 1 100 70 605 10 1 100 70 60 1次5 1 10 100 70 60 2次5 1 10 100 70 60 3次5 1 10 70 100 60 4次5 1 10 70 60 100 5次 得出最大数原创 2020-11-13 11:10:38 · 192 阅读 · 0 评论 -
Shell脚本二重循环打印
Shell脚本二重循环打印一 打印正方形的流程1.2 修改为不换行输出 (变成一行5个*)1.3 增加外层循环条件(变成一行15个*)1.4 增加换行(改变成5行*)1.5 打印正方形 (在内循环中加入间隔空行)二 打印矩形2.1 第一种:设置长宽不同2.2 第二种:设置横向没有间隔三 ECHO 命令常用选项四 打印直角三角形五 打印等腰三角形六 打印等腰梯形七 打印菱形八 九九乘法表8.1 递减式8.2 横向式一 打印正方形的流程1.1 初始命令结果(一列5个*)[root@server2 ~]#原创 2020-11-13 11:01:08 · 931 阅读 · 0 评论 -
Shell脚本的if条件语句和case语句
Shell脚本的语句一 条件测试操作1,1 test命令测试表达式是否成立,若成立返回0,否则返回其它数值格式1:test 条件表达式格式2:[ 条件表达式 ] (至少应有一个空格)例如:[root@server2 ~]# touch aa[root@server2 ~]# ls -lh[root@server2 ~]# test -f aa[root@server2 ~]# echo $?0 返回0原创 2020-11-13 10:32:55 · 363 阅读 · 0 评论 -
Shell函数的作用及解析
一 Shell函数作用将命令序列按格式写在一起可方便重复使用命令序列Shell函数定义 (先定义后调用)[ function ] 函数名(){ 命令序列 [return x] 使用return或exit可以显式地结束函数调用函数的方法函数名 [参数1] [参数2]暂停循环命令break:退出整个循环continue:退出本次循环例如:for i .... for j .... continue 跳出j循环,i循环继续进行原创 2020-11-13 09:09:36 · 715 阅读 · 0 评论