月度归档:2020年04月

CentOS下cp直接覆盖命令的方法

cp覆盖时,无论加什么参数-f之类的还是提示是否覆盖,当没有打包的情况下直接复制把test目录下的文件复制到test1目录:cp –r test/* test1

执行上面的命令时,test1存在的每个文件都会提示是否覆盖;

cp –rf test/* test1

执行上面的命令时,test1存在的每个文件都不再会提示;

这是我们希望的理想状态,但是有时加了-f了,还会有提示.

因为服务器会默认增加别名 alias cp=’cp -i’,当你执行cp时,其实执行的是cp –i。alias下就可以看出来了。

# alias
可以找到 alias cp=’cp -i’

用下面可以解决

# vi ~/.bashrc

在alias cp=’cp -i’前加上”#”注释掉这行,:wq!保存推出,然后重新登陆就可以了。

下次在使用cp -rf 就可以直接覆盖已经存在了文件了

当然你不想改变别名的话可以转义掉,\cp -rf即可

参考:CentOS下cp如何直接覆盖命令?CentOS下cp直接覆盖命令的方法

Mysql受到爆破攻击导致内存不足挂掉

PHP游戏挂掉,游戏日志里全是mysql的报错,查看/var/log/mysql/mysqld.log,发现受到爆破攻击

截图记录

使用sytemctl restart mysql始终报错,最后在mysqld.log中发现报错:

是系统空间不足导致的,清理系统空间,见CentOS清理/dev/vda1系统盘

这次删掉的是16G大小的/usr/local/php/var/log/php-fpm.log,可怕

随后在控制台关掉了以前没注意到的端口访问问题,现3306端口只能指定IP访问,可避免爆破攻击。

参考:惊魂未定,回忆mysql挂掉运维历程

WordPress问题汇集

1、wordpress安装主题报错Unable to locate WordPress Content directory

2、参考:让WordPress的摘要显示自定义排版格式

WordPress默认摘录的功能是在wp-includes/formatting.php这个文件里,我们要修改的只有主题functions.php文件,请把下面的代码加入到functions.php文件中

remove_filter('get_the_excerpt', 'wp_trim_excerpt');
add_filter('get_the_excerpt', 'improved_trim_excerpt');
function improved_trim_excerpt($text) {
        global $post;
        if ( '' == $text ) {
                $text = get_the_content('');
                $text = apply_filters('the_content', $text);
                $text = str_replace('\]\]\>', ']]>', $text);
                $text = preg_replace('@<script[^>]*?>.*?</script>@si', '', $text);
                $text = strip_tags($text, '<p>');
                $excerpt_length = 80;
                $words = explode(' ', $text, $excerpt_length + 1);
                if (count($words)> $excerpt_length) {
                        array_pop($words);
                        array_push($words, '[...]');
                        $text = implode(' ', $words);
                }
        }
        return $text;
}

3、 WordPress提示“在裁剪您的图像时发生了错误”的解决方法 问题:在WordPress中使用裁剪图片功能时,出现:”在裁剪您的图像时发生了错误。”或者”There has been an error cropping your image.” 原因:缺少PHP GD库。 CentOS: yum install php-gd 安装PHP-GD库后重启服务器应用即可使用~ ​​​​

4、修改wordpress中twentytwelve主题显示文章摘要,先在控制台-设置-阅读里,选择摘要,再在wp-content/themes/twentytwelve/content.php文件中找到is_search(),后面会有批注:// Only display Excerpts for Search,添加is_category() || is_archive() || is_home()判断条件,在这些情况下都显示摘要,只有查看文章时才全部显示。

修改后为:if ( is_search() || is_category() || is_archive() || is_home()) : // Only display Excerpts for Search category archive home

5、修改Foot显示居中,在控制台-外观-主题编辑器中,找到Footer.php,修改为:

6、手动更新wordpress:美国服务器太慢了!!在这里找最新的安装包,在服务器端使用:wget 下载地址下载安装包并解压,删除wp-content:rm -rf wordpress/wp-content
将wordpress文件夹更名为网站根目录名:cp -r wordpress wpSampleName
修改读写权限:chmod -R 777 wpSampleName
拷贝覆盖:cp -rf /hxxe/fxxxxqi/wpSampleName /var/wxx/hxxx
访问http://你的博客地址/wp-admin/upgrade.php手动更新

参考:linux下载文件命令
wordpress一键全站迁移和备份
WordPress 5.2手动更新详细教程
Centos7解压Zip文件
CentOS下cp直接覆盖命令的方法

7、更新下载失败。: cURL error 28: Operation timed out after 300000 milliseconds with 949869 out of 13920060 byte。原因:下载太慢,建议手动更新,见6。

8、删除默认评论:控制台-设置-讨论,默认文章设置里的前两项取消勾选,参考原文

Linux常用命令

文件操作

查找文件或文件夹:find / -name 文件名或文件夹名
移动/重命名文件:mv 完整文件路径名1 新的完整文件路径名2
复制文件:cp 完整文件路径名1 新的完整文件路径名2

参考:centos彻底删除文件夹、文件命令

网络

查看开放端口:netstat -lnpt
检查端口被哪个进程占用:netstat -lnpt |grep 5672
查看进程的详细信息:ps 6832
中止进程:kill -9 6832

常用

查看状态:systemctl status nginx
启动服务:systemctl start nginx
开机启动:systemctl enable nginx
停止开机启动:systemctl disable nginx
停止服务:systemctl stop nginx
重启服务:systemctl restart nginx
firewalld指令集

wordpress安装主题报错Unable to locate WordPress Content directory

1、 chmod -R 777 wordpress #提高网站文件夹权限

2、在wp-config.php末尾加上下面的代码片段:

if(is_admin()) {
add_filter('filesystem_method', create_function('$a', 'return "direct";' ));
define( 'FS_CHMOD_DIR', 0751 );
}

参考:安装主题 Unable to locate WordPress Content directory (wp-content)

Unit mysql.service could not be found解决

方法一

1、首先你需要找到 mysql.server 文件,这个 和 mysqld 文件是一模一样的,只不过文件名不相同
执行命令
find / -name mysql.server
找到文件后,将它复制到/etc/init.d/ 目录下,并重命名
cp /phpstudy/mysql/support-files/mysql.server /etc/init.d/mysqld
再运行 service mysql status

方法二

如果上面的没能解决你的问题:

 $   yum install -y mariadb-server 
 $   systemctl start mariadb.service  
 $   systemctl enable mariadb.service 
 $   mysql_secure_installation 
[mysql]> use mysql; 
       > select  User,authentication_string,Host from user; 
       > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456'; 
       > flush privileges; 

参考:Failed to start mysqld.service: Unit not found

WordPress安装过程记录

1、下载wordpress包,官网: https://cn.wordpress.org/ ,注意下载的语言版本,git官网默认是英文版。
github: https://github.com/WordPress/WordPress
中文版百度云备份:https://pan.baidu.com/s/1aqzvl3hmquwsPy4eiagXzA 提取码:dhnw
中文要在wp-config.php或wp-config-sample.php中添加或修改
define('WPLANG','zh_CN');
define('WP_DEBUG',false);

2、上传到域名指向的根目录下,注意不要修改wp-config-sample.php文件名。

3、在mysql数据库中建立一个utf8的database,安装时需用。

4、进入首页,按照提示填写相应的信息,安装完毕。

注意:中间遇到错误,请查看日志报错:/var/log/mysql/mysqld.log,/var/log/nginx/access.log,/var/log/nginx/error.log

过程报错1:数据库连接错误→swap空间不足,解决办法
过程报错2:PHP文件读取不出来→9000端口未监听
过程报错3:缺少相关的的PHP拓展→常见必须拓展json、mysql,使用php -m查看已安装拓展,安装方法
过程报错4:主题下载无写入权限→设置wp-config.php

参考:如何安装wordpress
CentOS 下三种 PHP 拓展安装方法
wordpress界面汉化
FATAL ERROR: CALL TO UNDEFINED FUNCTION JSON_DECODE()解决办法
Nginx出现403 forbidden