自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL主从复制和读写分离

每次事务提交时都会刷新事务日志 确保持久性 最高级别的数据安全性 但是会影响性能 默认·是1 关闭改0 改0之后事务提交时不会立刻刷新 而是每秒刷新一次 可以提高性能 但是发送故障会导致数据丢失 设置为2时 事务提交时 事务日志不会写入硬盘 而是保存在系统缓存 不会进行刷新 有一定的安全性和性能 对内存的要求高。默认是0 1表示开启中继日志的恢复 从服务器出现异常或者崩溃时 从服务器会从主服务器的二进制日志正确读取和应用中继日志。数据库的写入和读取是分开的 哪怕是写入的数据量比较大 但是不影响查询的效率。

2023-11-13 12:09:42 176

原创 MySQL存储过程

存储过程定义:是一组为了完成特定功能的sql语句的集合 类似于函数 写好了一个存储过程之后 可以像函数一样随时调用SQL语句的集合 主要用在复杂的 需要很多sql语句联合执行完成的任务。要使用存储过程里面的结果必须要 out才能传出参数 在声明存储变量时 要定义好参数的传参方式inout。#3、inout 表示调用者先向存储过程传入值 存储过程对传入值可能进行额外的操作之后再返回给调用者。INSERT INTO info VALUES(2,'张三',@num,'否');-- 加工之后的字符串。

2023-11-13 12:08:12 318

原创 MySQL高级语句

SELECT id,name,score FROM info WHERE sex='男' ORDER BY score DESC, id DESC;SELECT id,name,score FROM info WHERE sex='女' ORDER BY score DESC;可以给表起别名 注意别名不能和数据库其他表名重复 列的别名在结果中可以显示 但表的别名在结果中没有显示只能用于查询。SELECT DISTINCT * FROM info WHERE sex='男' AND score=90;

2023-11-07 15:31:18 144

原创 MySQL备份与恢复

Mysqlbinlog –no-defaults --start-position=’位置点’ --stop-position=’位置点’文件名 | mysql -u root -p。MysqlBinlog –no-defaults --start-datetime=’时间点’ –stop-datetime=’时间点’ 文件名 | mysql -u root -p。Mysqlbinlog –no-defaults --stop-position=’位置点’ 文件名 | mysql -u root -p。

2023-11-07 15:30:47 145

原创 MySQL索引事务存储引擎

I 隔离性 指在并发环境中 不同事务同时操作相同的数据时 每个事务都有各自完整的数据空间 对数据修改的所有并发事务是彼此隔离的 表明事务必须是独立的 修改数据的事务可以在另一个使用相同数据的事务开始之前访问这些数据 或者在另一个使用相同数据的事务结束只会访问这些数据。C 一致性 事务开始前和事务开始后 数据库的完整性约束没有被破坏 事务完成时 数据必须属于一致状态 事务开始时 数据库中的存储数据属于一致状态 进行中的事务 数据可能处于不一致的状态 在事务最终处理完后 必须再次回到已知的一种状态。

2023-11-07 15:30:12 244

原创 MySQL用户管理

例如 'ky32'@'192.168.1.3' 或'ky32'@'192.168.1.0/24' 或 'ky32'@'%' %表示MySQL的通配符 表示所有。修改其他账户密码: SET PASSWORD FOR 'Axin'@'192.168.1.22' = PASSWORD ('abc123');'ky32'@'localhost' ky32表示用户名 localhost 新建的用户可以在哪些主机登录 可以使用IP地址 网段和主机名。TO 'ky32'@'localhost' 赋权给哪个用户。

2023-11-07 15:28:24 104

原创 MySQL概念

事务的特点:原子性,数据库最小工作单元,要么全部执行全部,要么全部不执行,只要有一个操作时间,整个执行的序列,,都会被回滚,完成的操作也会被撤销。持久性:事务一旦提交,他所做的所有修改会被永久的保存在数据中,即使系统崩溃,提交的数据也不丢失,确保数据库始终处于一致性。隔离性:事务的执行是相互隔离,一个事物的执行不能受到其他执行事务的干扰,并发事务之间互相隔离,防止数据不一致的情况发生。数据库是企业的重要信息资产,在使用数据库时,要注意(查和增,无所谓,但是删和改,要谨慎!

2023-11-07 15:27:47 158

原创 haproxy负载均衡

HAProxy是可提供高可用性、负载均衡以及基于TcP和HTTP应用的代理,是免费、快速并且可靠的一种解决方案。但是,在某些场景下,如需要保持会话的应用场景,需要使用根据请求源IP(source)来分配请求的负载均衡策略。限制的日志功能:HAProxy的日志功能相对较简单,只提供基本的请求日志和错误日志。备高并发(一万以上)、高性能的TCP和HTTP负载均衡器,支持基于cookie的持久性,自动故障切换,支。存储状态的复杂性:HAProxy本身是一个无状态的负载均衡器,不会在不同的请求之间保持状态。

2023-10-30 17:32:41 256

原创 lvs+keepalived集群

主调度器能够正常运行时 由主调度器进行后端真实服务器的分配处理 其余的备调度器都处在冗余状态 不参与集群的运转 主调度器出现故障无法运行 备调度器才会主动承担主调度器的工作 一旦主调度器恢复工作 继续由主调度器进行处理 备调度器又成了冗余。故障恢复:一旦主服务器恢复通信 由组播地址进行通信 发现恢复的主服务器优先级更高 会抢占原主服务器的位置 成为主服务器 调度和接受请求。选举出主和备 预先设定好了主和备的优先级 主的优先级较高 一旦服务器开启 优先级高的会自动抢占主的位置。

2023-10-30 17:30:55 112

原创 lvsDR模式

后端服务器接受请求 处理完成之后 由于后端服务器直接把响应结果转发给客户端 响应报文中的目的mac地址修改成客户端的mac地址 直接把响应转发给客户端。调度器接受请求后 根据算法选择一台后端真实服务器 请求转发到后端RS 请求的报文的目的mac地址 修改成后端真实服务器的Mac地址 转发。所有接口仅会响应本地的IP地址的ARP请求,其他的接口的ARP请求全部忽略。所有接口仅会响应本地的IP地址的ARP请求,其他的接口的ARP请求全部忽略。设置lo接口仅会响应本地的IP地址,其他的接口ARP请求,全部忽略。

2023-10-30 17:29:42 253

原创 lvs集群

客户端访问都是访问VIP 由调度器DS根据算法选择后端服务器(RS)把请求发送给RS 由RS处理请求之后将响应发送到DS DS把RS的响应包装成自己的响应 发送到客户端。基于地址的最小连接数调度(将来自同一个目的地址的请求分配给RS 如果这台服务器尚未满负荷 就会把请求分配给连接数最小的RS 而且在下一次转发时 会优先考虑这台RS):lvs集群中的主服务器 也叫调度器 时整个集群的核心 接受客户端的请求转发得到后端rs。:lvs的后端真实服务器的ip 接收到ds请求之后 返回响应结果。

2023-10-30 17:28:46 276

原创 tomcat

4、轻量级的服务软件 处理中小架构的网站可以满足 对于大型交互需求 tomcat就不行了 在容器化部署的项目架构中不使用tomcat的 都是jar包直接运行 包括k8s。1)、容器通常指的是一种虚拟化技术 允许在当前的操作系统中虚拟化的运行多个独立的环境 独立环境就是容器 彼此之间相互隔离 拥有自己的一套系统资源 容器寄生在宿主上 实际上使用的是宿主的资源。:tomcat使用线程处理接受每个请求 可以创建的最大线程数 支持的最大的并发连接数。在公司当中会运行多个项目 一台部署tomcat太多会浪费资源。

2023-10-30 17:26:43 151

原创 nginx负载均衡

加权轮询 建立在默认轮询算法的基础之上 为后端服务器分配不同的权重 处理能力强的服务器分配的权重要高一些 轮询次数基本上按照权重分配的 服务器上也没有缓存 适用于中大型网站可以使用 权重高的服务器会被频繁的请求响应 权重低的可能闲置 会和负载均衡算法一起使用。七层代理(http协议):代理的是http的请求和响应 客户端请求代理服务器 由代理服务器转发客户端的httpd请求 转发到内部的服务器(可以是单台也可以是一组)

2023-10-16 14:43:40 204

原创 nginx优先级和匹配方式

和location都可以跳转 区别在于rewrite是在同一域名内更改获取资源的路径 location是对路径进行访问控制。完整路径 > location ^~ >location ~,~*>location /test>location /在http模块有server server中才有location location匹配的是uri。Last:本条规则匹配完成之后 继续向下匹配新的location URI规则。Location匹配的优先级:精确匹配的优先级最高>正则匹配>一般匹配。

2023-10-16 14:42:49 784

原创 nginx优化和防盗链

大量出现timewait如何解决 是tcp连接状态中的一种 不是报错出现在四次挥手之后 在timewait状态下 tcp处于连接等待状态 等待有一个持续时间 http1.1的会话保持。客户端的真实IP发送给后端 现在所有的网站都会要求客户端请求时加上真实IP。$remote_addr:显示客户端的IP地址。$request_method:显示请求的方法。$remote_port:显示客户端的端口。Nginx的内置变量 :打印结果。$host:显示请求的主机名。$uri:显示请求的uri。

2023-10-16 14:41:53 116

原创 LNMP创建论坛

将 /scripts 修改为nginx的工作目录。pid-file: 保存MySQL服务器进程ID的文件路径,默认为/var/run/mysqld/mysqld.pid。--with-mysql-sock=/usr/local/mysql/mysql.sock: 指定MySQL的Unix socket文件路径,用于与MySQL数据库建立连接。kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid` #重启php-fpm。

2023-10-16 14:38:18 184

原创 nginx网站服务

高性能:对http并发连接的处理能力很高 单台物理服务器可支持30000-50000个并发请求(在实际操作中 为了维持服务器的稳定一般会设置在20000个左右)Location块:location模块只能配置在server模块中 匹配url 一个server模块中可以有多个location。Conf:nginx的所有配置文件 nginx.conf是nginx的主配置文件。Html:保存nginx的web文件 50x是nginx默认的提示报错页面。-V 查看版本和nginx支持的配置模块。

2023-10-12 08:11:22 81

原创 web基础和http协议

静态页面只是文本文件 一般以html保存的文本文件 是网站的基础 和数据库没有关系 不包含请求程序 更新起来笔记复杂 一般适用于更新比较少的展示型网站 一般是网站主页 静态页面的url是固定的。集群:多台计算机或服务器连接在一块 形成一个单一的计算机资源池 计算机通过网络互相连接 共享任务 集群都是由相同类型的计算机组成 运行的程序也是相同的。缓存:cookie记录用户状态 跟踪统计用户访问该网站的习惯 识别用户身份 保存客户信息 可以驻留在计算机上 保存特定的客户端和网站之间的信息数据。

2023-10-11 16:29:37 87

原创 IP tables和friewalld

修改内核参数 打开转发功能 可以立即生效。Tcpdump是Linux自带的抓包工具。Wrieshark只适用于windows。开启 sysctl -p 即刻生效。DNAT:目的地址转换。Linux系统能抓包吗。SNAT:源地址转换。

2023-10-09 22:50:34 73

原创 防火墙IP tables(上)

入侵防御:以透明模式进行工作 分析数据包内容 一切进入本机的内容 木马 蠕虫 系统漏洞 进行分析判断 然后进行阻断 主动防护机制 部署在整个架构 或集群的入口处(必经之路)filter表:包过滤规则表 根据预定义的规则 人工设置的规则 对符合条件的数据包进行过滤 也是iptables的默认表。raw表:连接跟踪 跟踪数据的一种机制 配置了之后可以加快防火墙的穿越速度(关闭raw里面的追踪)网络防火墙 防护的是另一侧的局域网。对网络或主机进出的数据包按照一定的规则进行检查(网络层转发的数据包)

2023-10-06 19:56:15 122

原创 shell脚本免交互

Exp_continue 和expect捕获命令 结合一起使用 附加在expect判断项之后 匹配到expect的捕获内容之后 还能够继续判断expect捕获语句中的其他选项。Spawn Linux命令 表示开启会话或进程 且跟踪后续的交互信息(捕获命令的相关内容 字符串匹配)结束符:expect eof 表示交互结束 等待执行结束 退回到原来的用户 默认等待时间10s。Tee 本身就有标准输出的作用 可以直接把内容输入到文件中。嵌入执行 讲expectm免交互的过程和shell结合起来。

2023-10-05 17:05:31 82

原创 文本三剑客

e 或--expression=:表示用指定命令来处理输入的文本文件,只有一个操作命令时可省略,一般在执行多个操作命令使用。称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,对于输出时改变分隔符,我们常用到tr,awk,它们都可以实现在输出内容改变原本的分隔符。处理时,把当前处理的行存储在临时缓冲区中,执行: 默认情况下,所有的sed命令都在模式空间中顺序地执行,除非指定了行的地址,在所有的文件内容都被处理完成之前,上述过程将重复执行,直至所有内容被处理完。

2023-10-05 17:04:24 723

原创 shell编程数组

eg:echo ${arr1[*]:0:2} #这里是从0索引开始获得往后两位元素的值。echo ${arr1[*]:2:2} #获取从索引2开始往后获取两位元素的值。数组名=( [0]=value [1]=value [2]=value …把大的元素移动到数组后面(也就是交换两个元素的位置) ,如果满足条件就交换元素值,把较小的元素移动到数组前面,获取数组中其中一个元素的值:${数组名[索引号]}${数组名[@或*]}:起始位置(起始索引):长度。数组名=($数组名[@或*]/查找字符/替换字符}

2023-10-05 16:49:14 56

原创 shell函数

则阶乘式是1×2×3×……×6,得到的积是720,720就是6的阶乘……例如所要求的数是n,则阶乘式是1×2×3×。×n,设得到的积是x,x就是n的阶乘。例如所要求的数是4,则阶乘式是1×2×3×4,得到的积是24,24就是4的阶乘?变量只返回执行的最后一条命令的退出状态码。例如,$1表示第一个参数,$2表示第二个参数。使用函数可以将大的工程分割为若干小的功能模块,代码的可读性更强。在函数体内部,通过 $n 的形式来获取参数的值,阶乘指从1乘以2乘以3乘以4一直乘到所要求的数。function 函数名 {

2023-10-05 16:45:30 45

原创 shell编程循环语句

break [数字] 结束数字中的几次循环,若为2则结束自己所在循环和外边嵌套的一层循环,若为3则结束自己所在循环和外边嵌套的2层循环。until循环通常用于当某个条件不满足时执行一些操作,比如等待某个进程退出、等待某个文件被创建等等。while [ 判断条件] 使用while循环满足条件执行do,不满足不执行。在某个循环中遇到break直接结束此次循环,但是不影响外边嵌套的循环。表示满足continue条件时跳出循环,但是不影响后续循环执行。表达式3:决定循环变量如何改变,决定循环什么时候结束。

2023-10-05 16:40:35 69

原创 shell循环语句

break [数字] 结束数字中的几次循环,若为2则结束自己所在循环和外边嵌套的一层循环,若为3则结束自己所在循环和外边嵌套的2层循环。until循环通常用于当某个条件不满足时执行一些操作,比如等待某个进程退出、等待某个文件被创建等等。while [ 判断条件] 使用while循环满足条件执行do,不满足不执行。在某个循环中遇到break直接结束此次循环,但是不影响外边嵌套的循环。表示满足continue条件时跳出循环,但是不影响后续循环执行。表达式3:决定循环变量如何改变,决定循环什么时候结束。

2023-10-04 12:33:16 86

原创 shell脚本编程规范与变量

Source命令:点命令 . 对于刚刚修改的文件进行初始化操作(文件的内容都是shell语句 都是可执行的命令)执行source可以不需要重启 使更改内容直接生效。表示前一条命令或者脚本执行之后的返回状态码 只有返回0才是执行成功 所有非0全部执行失败 也可以用在函数中作为return的返回值。/usr/bin/bash 现在常用的也是Linux默认的shell 普通用户。/bin/bash 现在常用的也是Linux默认的shell 管理员。需要执行的脚本不能放在用户的家目录 最好放在/opt目录中。

2023-10-04 12:31:37 61

原创 shell编程条件语句

模式字符串中,可以用方括号表示一个连续的范围,如“[0-9]”;还可以用竖杠符号“|”表示或,如“A|B”。格式二:[ 条件表达式 ]#方括号“[”或“]”与条件表达式之间需要至少一个空格进行分隔。当返回值为0(真true)时表示成功,返回值为非0值(假false)时表示失败或异常。case 行尾必须为单词“in”,每一模式必须以右括号“)”结束。-o或|| :逻辑或,“或者”的意思,只需前后条件中一个成立。-a或&& :逻辑与,“而且”的意思,前后条件需都成立。-f:测试是否为文件(File)。

2023-10-04 12:30:04 56

原创 pxe装机和无人值守

允许客户机通过网络从远程服务器下载引导镜像 内核文件 并且加载系统的安装文件 安装整个Linux操作系统。Kickstart无人值守服务 自动化配置安装需要的软件以及磁盘分区等。Xinetd:网络守护进程服务程序 主要是管理轻量级服务。Vsftpd:大文件传输 系统的安装文件。Vsftpd传输 安装文件也依赖光盘镜像。Dhcp:动态的给客户机分配IP地址。SysLinux:PXE的引导程序。Pxlinux.0:pxe引导文件。Vmlinuz:内核文件。Init:引导镜像文件。无人值守 自动化操作。

2023-09-17 11:30:15 59

原创 远程访问及控制

Ssh :secure shell 安全通道协议 主要是用来实现字符界面的远程登录 远程复制 加密的文件传输SFTP。用户认证协议【SSH+USERAUTH】提供用户鉴别功能 验证用户是否有登陆资格 验证用户名和密码是否输入正确。不仅能传文件 也是远程登录的一种方式 可以查看登录主机的目录 文件之类的基本操作。Ssh有两种验证方式 :1、用户名和密码匹配 2、密钥队验证 可以进行免密登录。连接协议验证完成之后 实现远程登录或其他远程功能 远程命令执行。非默认端口号加-p登录 ssh -p 10022。

2023-09-17 11:25:09 55

原创 DNS域名解析服务

var/named/named.localhost 区域数据的配置文件 模版。MAIL IN A 正向解析 Mail.ky32.com的IP地址。baidu.com.cn.百度就是子域 由组织或者用户,自行申请的域名。SOA:解析类型 第一条解析,起始的解析记录,都从ky32.com.保存的dns解析的缓存记录,保留在本机的时间是1天。A 记录解析主机的IP地址 dns解析服务器的地址。.com.cn.二级域,各个国家自行统一管理。NS 解析的区域域名 ky32.com.

2023-09-17 11:23:58 105

原创 Linux网络设置

ss 查看系统的网络连接情况 获取socket统计信息 更详细的展示连接状态和连接信息 比netstat速度快 尤其在服务器有大量的接口通信时 netstat 查询可能会卡死。cat /dev/null > /etc/resolv.conf 只删除文件内容不删除文件。列出系统中打开的文件目录 套接字 管道资源 核心:打开的文件数 展示相关联的进程信息。Lsof -I :端口号 展示指定的端口号打开的文件数和网络连接 端口被哪些进程占用。Lsof -u 程序名 展示当前程序打开的文件数和网络连接数。

2023-09-11 12:09:09 189

原创 系统安全和应用

Required:一票否决 这个模块在认证中必须成功返回才能通过认证 但是如果认证返回失败 失败结果不会通知用户 所有type中的模块全部认证完毕 最后再把结果反馈给用户。Sufficient:一票通过 如果返回成功 表示通过了身份认证的要求 不会再执行同一类型的相同模块 如果返回失败 会忽略 继续执行同一类型中的其他模块。su—am.d 找配置文件---su---lib64/security---调用认证模块。提供一种标准的身份认证接口 允许管理员定制化配置各种认证方式和方法 可插拔式的认证模块。

2023-09-11 12:08:22 61

原创 进程和计划任务管理

* * * * 表示 分(0-59) 时(0-23) 日(1-31) 月(1-12) 周(0-7)0和7都是周日。:僵尸进程 无法被强制结束 占用的资源非常小 对系统没有太大的影响处理方式 重启即可。子进程先结束 父进程负责回收资源再分配 然后父进程才会结束。-a:显示当前终端上所有进程 包括其他用户的进程。1-5 * * * * 表示1-5分钟 都会执行。1,3,5* * * * 表示多个不连续的时间。*/10 * * * * 表示每十分钟执行一次。:进程的id号 唯一 标的:对应的进程名。

2023-09-11 12:07:34 50

原创 引导过程和服务控制

Bios自检(检查硬件)--mbr(找操作系统)--grub(选择操作系统)--加载内核(处理配置 处理开机启动程序 放到内存中)--init(系统配置生效 运行开机启动程序 整个过程结束 等待用户登录)在/boot目录当中 Linux内核文件 事先编译好的可执行的二进制文件 介于各种硬件资源和系统程序之间 调度以及分配系统资源 给进程使用 需要的启动文件和相关的配置操作 放到内存当中 系统控制权的移交。多系统的引导器程序 选择完系统之后 系统的控制权会交给所选操作系统的内核文件。

2023-09-11 12:06:49 92

原创 RAID类型

Raid5 N>=3 最少需要3个盘 也是条带化存储 数据在硬盘上循环均衡存储 同时读写 读性能高 因为校验机制 写性能相对较差 磁盘利用率比raid1高 (n-1)/n 有冗余功能 允许坏一块盘 不影响所有数据。Raid1+0 先做镜像再做条带 最少要4个盘 必须是2的倍数 磁盘利用率 N/2 再每个基组中只能坏一个 N/2的硬盘写 所有硬盘一起读 成本最高 速度最快。/dev/sdb1 /dev/sdc1 /dev/sdd1 使用的硬盘分区3个。mdadm -S /dev/md5 #停止raid。

2023-09-02 16:00:43 228

原创 磁盘配额

限制用户对于磁盘的使用情况 能占多大 能创建多少个文件 防止个别用户恶意或者无意间占用大量磁盘空间 保证存储空间的稳定和可用。

2023-09-02 16:00:10 97

原创 LVM扩容

也可以使用命令 #lvextend -l +30%FREE /dev/mapper/VolGroup-lv_root 此时,如果有df命令查看的话,会发现root空间并没有增加的.还需要执行以下两步操作才可以.#检查/root逻辑卷 #e2fsck -f /dev/mapper/VolGroup-lv_root 此命令报错 解决方案:解挂载,再执行上命令。#重新定义分区大小 #resize2fs /dev/mapper/VolGroup-lv_root。(四)将新的VG空间划入LV(扩容lv_root)

2023-09-02 15:57:27 57

原创 账号和权限管理

可以是一个硬盘里的多个分区,也可以是不同的硬盘的不同分区。程序用户:维护或者维持某个程序的正常运行,这些用户是不能够登录系统的。第六个字段: 7:密码过期,7 天之后会禁用此用户账户失效之后,在指定时间内作为保留。WgU3Pv9AMsJ5ewfL/3WuSp/: 账号密码,MD5 加密的方式的加密信息。-G: 指定用户的附加组,也可以使用gid号,但是对应gid号,必须存在。-g:指定用户的基本组,也可以用gid号,但是对应gid号,必须存在。x:这件内容,相应的代码,有没有权限来执行文件中的代码。

2023-09-02 15:52:05 75

原创 挂载硬盘和光盘镜像

逻辑分区 基于扩展分区才可以创建逻辑分区,逻辑分区不能安装操作系统 只能存储数据。组织数据的结构,把文件分为不同的目录,把数据存储在物理设备上。主分区最多分四个,每个主分区都可以独立的安装一个操作系统 而且也可以存储数据。--cpu--------操作系统-----------人类能够识别的内容。本质上是计算机的存储设备。读取视频文件,硬盘------------计算机内存------用标识符GUID来表示分区和硬盘,支持的容量更大,分区也更多。buff: 文件系统的元数据(目录和文件的权限,时间戳。

2023-09-02 15:49:26 176

空空如也

空空如也

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

TA关注的人

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