三十而立

2019年3月

一般用wordpress编辑器,有个别常用的按钮在第2行(默认隐藏,需要点击才打开),这样的话感觉有些麻烦。

根据用户体验原则,功能类似的按钮,常用的按钮应该出现在一起,这一点WordPress可以学习一下Gmail的按钮组织方式。下面的方法不但可以添加TinyMCE按钮,还可以任意排列各个TinyMCE按钮出现的顺序

把以下代码根据自己需要增减修改后,再加入当前主题的 functions.php 文件。

// 编辑器第一行
function cw_mce_buttons_1( $buttons ) {
    $buttons = array(
        'bold',
        'italic',
        'underline',
        'strikethrough',
        'bullist',
        'numlist',
        'blockquote',
        'hr',
        'alignleft',
        'alignright',
        'aligncenter',
        'alignjustify',
        'subscript',
        'superscript',
        'link',
        'unlink',
        'wp_more',
        'wp_adv'
    );
    return $buttons;
}
add_filter( 'mce_buttons', 'cw_mce_buttons_1' );

//编辑器第二行
function cw_mce_buttons_2( $buttons ) {
    $buttons = array(
        'formatselect',
        'fontsizeselect',
        'forecolor',
        'backcolor',
        'charmap',
        'pastetext',
        'removeformat',
        'spellchecker',
        'fullscreen',
        'undo',
        'redo',
        'indent',
        'outdent',
        'cleanup',
        'charmap',
        'wp_help',
        'code',
        'sub',
        'sup',
        'anchor',
    );
    return $buttons;
}
add_filter( 'mce_buttons_2', 'cw_mce_buttons_2' );

我改成了这样:
微信截图_20190328224228.png

首先我们需要知道为什么要给WordPress分类目录和页面添加斜杠。

分类目录顾名思义就是一个目录,众所周知,目录链接应该像这样 :

http://www.dmeng.net/category/wordpress-theme-development/

但有些时候因为我们的伪静态规则设置问题在WordPress分类目录后并没有斜杠 / ,会出现:

http://www.dmeng.net/category/wordpress-theme-development

像这样的情况。

这对搜索引擎是不友好的,因为带有斜杠时搜索引擎能及时识别出这是一个目录,而没有斜杠时则要分析。(就现在这行业水平,误判是常有的事,有做留意SEO的童鞋都知道。)

所以,我们需要给WordPress分类目录和页面添加斜杠。

我们只需要把以下代码加在主题目录的 functions.php 中即可:

wordpress给分类和tag尾部加斜线 /

// 分类目录地址后添加斜杠star

function nice_trailingslashit($string, $type_of_url) {
    if ( $type_of_url != 'single' && $type_of_url != 'page' && $type_of_url != 'single_paged' )
        $string = trailingslashit($string);
    return $string;
}
add_filter('user_trailingslashit', 'nice_trailingslashit', 10, 2);

// 分类目录地址后添加斜杠over

经测试wordpress5.1版本对分类/tag仍然有效(2019年3月27日)

参考资料:http://zmingcx.com/add-slash-catalog.html

阿里云提示:wordpress /wp-includes/http.php文件中的wp_http_validate_url函数对输入IP验证不当,导致黑客可构造类似于012.10.10.10这样的畸形IP绕过验证,进行SSRF;

修复方法:

打开wp-includes 中的 http.php 大约553 行(编辑器不同,行数可能不同)

找到

preg_match('#^(([1-9]?\d|1\d\d|25[0-5]|2[0-4]\d)\.){3}([1-9]?\d|1\d\d|25[0-5]|2[0-4]\d)$#', $host)

改成

preg_match('#^(([1-9]?\d|1\d\d|25[0-5]|2[0-4]\d|0+\d+)\.){3}([1-9]?\d|1\d\d|25[0-5]|2[0-4]\d)$#', $host)

原文:https://blog.csdn.net/dclnet/article/details/81869078

linux下开启mysql慢查询日志

修改mysql的配置文件my.cnf
执行 vi /etc/my.cnf

在[mysqld]里面加上以下内容

#开启慢日志
slow_query_log=TRUE          
#日志存放目录
slow_query_log_file=/home/wwwlogs/slow_query.log
#5秒记录值
long_query_time=5

如下图:
20170522152116543.jpg
然后重启 mysql /etc/init.d/mysql restart

登录mysql验证下 mysql-uroot -p

登录成功后执行 show variables like '%quer%';

看到下图就代表成功了:
2.jpg

显示出慢查询日志中最慢的10条sql

mysqldumpslow -t 10  /home/wwwlogs/slow_query.log  

附LNMP清理二进制mysql数据日志:
/usr/local/mysql/var/下面产生mysql-bin.0000* 类似的文件,而且一般都在几十MB到几个GB,会导致mysql无法启动或报错。

如何关闭MySQL的日志功能:

先删除日志:
先登录mysql:mysql -u root -p
输入密码登录成功后再执行:reset master; #注意别漏了后面的分号;
回车后会显示"Query OK, 234 rows affected (12.3 sec)",说明已经成功,再输入:quit; 退出mysql;

彻底禁用MySQL日志:
打开 vim /etc/my.cnf
找到这两行前面加上#注释掉

log-bin=mysql-bin
binlog_format=mixed

重启mysql /etc/init.d/mysql restart即可。

如果实在想保留日志,可以在/etc/my.cnf里[mysqld]部分中加入expire_logs_days = 10 #10天 然后重启mysql,这样10天就会自动清理日志。

方案参考:
https://blog.csdn.net/qq_27292113/article/details/72626722
https://www.vpser.net/manage/delete-mysql-mysql-bin-0000-logs.html

1、阿里云生成备份快照
2、旧的服务器扩容下数据盘(压缩资料超出存储不够,重要资料顺便本地备份下):https://help.aliyun.com/document_detail/25452.html?spm=a2c4g.11186623.4.3.360b14c5FLMEZt (注意执行第5步)
打包压缩: tar -zcvf wwwroot-bak.tgz /home/wwwroot

解压: `tar -zcvf wwwroot-bak.tgz`

3、新的服务器挂载数据盘

https://help.aliyun.com/document_detail/25426.html?spm=a2c4g.11186623.2.21.62667d56PCiG4i#concept-jl1-qzd-wdb

这次放弃了军哥的lnmp(使用近10年了),改用了宝塔(BT),更原因纯粹是懒,赞扬军哥的lnmp非常稳定,几年来从未出过问题。

4、先安装宝塔

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh

中间跳出选择 y,安装完后记复制管理面板账号和密码

5、登录管理面板安装(nginx1.14,php7.2,mysql5.7),可以选择 编绎安装 30分钟到1小时左右

6、导出旧的mysql数据:

mysqldump -uroot -p --all-databases > sqlfile.sql //导出全部数据库,注意:这不是在mysql下
mysqldump -uroot -p dp_db > dumpout.sql   //导出某1个数据库,dp_db是需要导出的数据库名称,dumpout.sql存储导出

的数据

7、导入新的数据库:

mysql> create database abc;      # 创建数据库,abc是数据库名
mysql> use abc;                  # 使用已创建的数据库 
mysql> set names utf8;           # 设置编码
mysql> source /home/abc.sql      # 导入备份数据库