Flashfxp的版本影响Pureftpd的表现

今天接到业务部门电话,ftp登录不了,报错,还有一些中文的文件夹突然进不去了,因为我最近刚升级了Pureftpd,所以赶紧查询服务状态和日志文件,一切都正常,业务部门的几个账户我这里也都正常,所以怀疑是业务部门的网络有问题。

去业务部门查看,测试网络结果都正常,上网也没问题,但他们用的系统还是Win XP ,又开始怀疑是不是Win XP 系统造成的,结果业务部门说其余还有两台也同样登录不了,Win 7 的系统,看来又排除了系统问题。

最后实在有没有其他情况了,只能从FTP客户端看起来了,他们用的Flashfxp的版本已经很老了,更新了Flashfxp后,一切问题都解决了。

竟然,Flashfxp的版本还能影响连接Pureftpd,又或许是Pureftpd升级后,必须使用最新的Flashfxp,可话说,Flashfxp 5.4.0 这个版本好多年没更新了吧。

Pureftpd+Mysql中的status参数不管用的解决方法

现象:Pureftpd+Mysql中的status参数设置为0表示账户不启用,1表示正常使用,重新安装了Pureftpd+Mysql后这个参数不起作用了

解决:pureftpd-mysql.conf 中有关于 Pureftpd 调用 Mysql 中各参数的简单例子,修改这里即可,下面是我的文件中的,大家按照自己的数据库列名字修改即可,把默认的注释掉,默认的是没有status以及ipaccess参数的

#ADD
MYSQLGetPW SELECT Password FROM users WHERE USER="\L" AND STATUS="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetUID SELECT Uid FROM users WHERE USER="\L" AND STATUS="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetGID SELECT Gid FROM users WHERE USER="\L" AND STATUS="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetDir SELECT Dir FROM users WHERE USER="\L" AND STATUS="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetQTAFS SELECT QuotaFiles FROM users WHERE USER="\L" AND STATUS="1" AND (ipaccess = "*" OR ipaccess LIKE"\R")
MySQLGetQTASZ SELECT QuotaSize FROM users WHERE USER="\L" AND STATUS="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetRatioUL SELECT ULRatio FROM users WHERE USER="\L" AND STATUS="1" AND (ipaccess ="*" OR ipaccess LIKE "\R")
MySQLGetRatioDL SELECT DLRatio FROM users WHERE USER="\L" AND STATUS="1" AND (ipaccess ="*" OR ipaccess LIKE "\R")
MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE USER="\L" AND STATUS="1" AND (ipaccess ="*" OR ipaccess LIKE "\R")
MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE USER="\L" AND STATUS="1" AND (ipaccess ="*" OR ipaccess LIKE "\R")

wordpress 5.1 以后,发布或更新文章失败,以及显示post.php 404 页面的另类解决方法

自从更新了wordpress 5.1 版本以后,经常出现发布或更新文章失败,但其实刷新页面后发现文章已经更新了。网上说是因为从4版本升级上来,编辑器不兼容,建议用原来的编辑器,有插件可以下载,但是插件启用了以后,照常如此,还多了一个 /wp-admin/post.php 显示404的问题,我的php环境没问题,post.php肯定也在/wp-admin/目录中,后来查找nginx 的 Log日志,发现如下问题

2019/04/23 13:55:04 [error] 22780#22780: *398 open() "/***/50x.html" failed (2: No such file or directory), client: 1.1.1.1 , server: _, request: "POST /wp-admin/post.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "123.com.cn", referrer: "https://123.com.cn/wp-admin/post.php?post=4444&action=edit"

find / -name 50x.html

找了一下50x.html,发现nginx的安装目录里有,拷贝到系统找不到文件的那个地方,上述所有问题均解决。

Centos中pid不显示的问题

首先,要看看你是不是非root用户,非root用户用netstat看不到root用户的进程pid

所以,想看pid还是需要root用户,确定是root用户登陆后,如果netstat还看不到pid,那么它可能是一个内核线程,没有 PID。怎么确定这个想法呢?

# rpcinfo -p localhost
看看有没有这个端口号,看看后面的程序是什么

其实,一般的程序我们使用
# lsof -i :port 或者
# ps pid
就可以看到全部进程信息了。

折腾了一个下午的WP密码问题

今天突然登陆不了后台了,之前也有过,年纪大了,密码经常忘,没当回事儿,直接登陆数据库,update wp_users,改了还是不行!! 想想是不是php_cache的问题呢,遂将所有的cache关停,重新启动nginx和php-fpm还是不行,好吧,试试邮件的方式,系统提示我mail()功能没启动。。。又是改这里又是改那里,邮件可以了,改了密码,还是不行。。。都堵死了!!

找了个脚本,不用用户名密码进入博客后台,看到一个插件loginwall https://www.loginwall.com/wordpress/installation.php
不记得之前启动过这个插件,关闭之,能登陆了。。。晕啊!!!

这个问题很诡异啊,网上找资料,并不是WP新版的自带插件,到底怎么安装的,实在摸不到头脑。
crack.php 我放在这里,以防大家碰到类似问题


<?php
require('wp-blog-header.php');
$query_str = "SELECT ID FROM $wpdb->users";
$user_ids = $wpdb->get_results($query_str);
foreach ($user_ids as $uid) {
    $user_id = $uid->ID;
    if (user_can($user_id, 'administrator')) {
        $user_info = get_userdata($user_id);
        $user_login = $user_info->user_login;
        wp_set_current_user($user_id, $user_login);
        wp_set_auth_cookie($user_id);
        do_action('wp_login', $user_login);
        echo "You are logged in as $user_login";
        if (function_exists('get_admin_url')) {
            wp_redirect(get_admin_url());
        } else {
            wp_redirect(get_bloginfo('wpurl') . '/wp-admin');
        }
        exit;
    }
}
?>

Centos7修改/etc/resolv.conf是不管用的

Centos7系统,修改了/etc/resolv.conf 以后,不重启,啥事儿没有!只要一重启,就必定更换为/etc/sysconfig/network-scripts/ifcfg-eth0 网卡里配置的DNS地址,所以,在 Centos7系统 就不用费心修改 resolv.conf 文件了,只要确保 ifcfg-eth0 里配置了

DNS1=”8.8.8.8″
DNS2=”6.6.6.6″

就可以了,如果临时修改DNS地址,可以修改 /etc/resolv.conf ,是立即生效的。但重启以后就又变成 8.8.8.8 和 6.6.6.6 了。

再多说一句,如果DNS有问题,那么
# iptables -L 会显示的极慢,跳过dns解析的话,需要使用
# iptables -L -n

升级wp插件碰到提供ftp用户的问题

一般我都是直接升级WP的插件,这次换了个服务器,再次升级,出错,需要提供ftp用户名和密码,或者联系服务器管理员,可我就是服务器管理员。。。估计是用户权限错乱导致的。

nginx 设置用户名和用户组都是nginx
user nginx nginx;

重启nginx测试还是不行,突然想到,WP需要php支持,我的php方式用的是php-fpm,需要修改配置文件
默认的配置文件在/etc/php-fpm.d/www.conf,默认的用户名和用户组是apache,把它改成nginx

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user’s group
; will be used.
; RPM: apache Choosed to be able to access some dir as httpd
user = apache
; RPM: Keep a group allowed to write in log dir.
group = apache

改完后需要重新启动php-fpm服务,然后访问WP后台,就不会再报错了。插件顺利升级。