解决putty network error software caused connection abort 自动中断

最近使用putty的时候老是提示 network error software caused connection abort 网络错误软件造成连接中断

下面给出解决putty连接中断办法:

1.在linux服务器端设置:

#vim /etc/ssh/sshd_config

找到 TCPKeepAlive yes把前面的#去掉

找到ClientAliveInterval 参数去掉前面的#

ClientAliveInterval 60 把后面的0改成60

ClientAliveInterval指定了服务器端向客户端请求消息的时间间隔, 默认是0,不发送。而ClientAliveInterval 60表示每分钟发送一次,然后客户端响应,这样就保持长连接了。这里比较怪的地方是:不是客户端主动发起保持连接的请求(如FTerm, CTerm等),而是需要服务器先主动。

另外,至于ClientAliveCountMax,使用默认值3即可。ClientAliveCountMax表示服务器发出请求后客户端没有响应的次数达到一定值,就自动断开,正常情况下,客户端不会不响应。

最后记得重启sshd,使所有更改生效:

#systemctl restart sshd

2.putty客户端设置:

在 Connection 里面有个 Seconds between keepaliaves,这里就是每间隔指定的秒数,就给服务器发送一个空的数据包,来保持连接。以免登录的主机那边在长时间没接到数据后,会自动断开 SSH 的连接
1
上图中,默认输入 0 是禁用保持连接,在这里我习惯的设置了 60。两个复选框都保持默认选中。

下一步保存session这一步很重要哦 在session 设置 host name 、saved sessions 点击save按钮 ,如下图设置:
2

来源:http://www.jsjtt.com/xitongyingyong/linux/45.html

centos7 firewalld下安装pptpd

1、安装pptpd

rpm -Uvh http://download.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-1.noarch.rpm
yum -y install ppp pptpd

2、编辑pptpd.conf文件,添加下面2行

#vim /etc/pptpd.conf
localip 10.10.0.1
remoteip 10.10.0.100-199

3、编辑options.pptpd文件,添加google dns至文件内

#vim /etc/ppp/options.pptpd
ms-dns 8.8.8.8
ms-dns 8.8.4.4

4、编辑chap-secrets文件,添加用户密码,将USERNAME和PASSWORD换成你的用户名和密码

#vim /etc/ppp/chap-secrets
USERNAME pptpd PASSWORD *

5、编辑sysctl.conf文件,为pptpd添加转发规则

#vim /etc/sysctl.conf
net.ipv4.ip_forward = 1

然后执行

#sysctl -p

6、将pptpd添加至firewalld规则,并开机启动
添加新的firewalld服务:

#firewall-cmd --permanent --new-service=pptp

建立并配置pptp服务规则、类型、端口:

#vim /etc/firewalld/services/pptp.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
  <port protocol="tcp" port="1723"/>
</service>

7、将pptp服务添加至firewall,并使其生效

#firewall-cmd --permanent --zone=public --add-service=pptp
#firewall-cmd --permanent --zone=public --add-masquerade
#firewall-cmd --reload

8、启动pptp服务

#systemctl start pptpd
#systemctl enable pptpd.service

WordPress禁止非中文评论

/* refused spam */  
function refused_spam_comments( $comment_data ) {  
$pattern = '/[一-龥]/u';  
if(!preg_match($pattern,$comment_data['comment_content'])) {  
err('评论必须含中文!');  
}  
return( $comment_data );  
}  
add_filter('preprocess_comment','refused_spam_comments');

如果你使用ajax评论,请直接将上面的代码复制到主题的functions.php模板即可,如果主题用的不到ajax评论,把err改成wp_die就行
另外第三行的$pattern = ‘/[一-龥]/u’;是个正则表达式,用于表示所有中文字符

来源:http://www.xj123.info/4587.html

解决WordPress后台出现:噢,没有这个文件。请重新检查文件名,然后再试

网站服务器重新装过了以后,换成了军哥的LNMP一键安装包,今天在后台编辑主题相关文件的时候却出现了错误,提示“噢,没有这个文件。请重新检查文件名,然后再试。谢谢。”,无法编辑该主题相关文件,如下图:

QQ图片20151206141605

想想可能是换了服务器环境的原因。找了下资料发现原来是php.ini里将目录扫描scandir这个函数禁止了,wordpress无法扫描到主题文件夹导致该错误。

解决办法如下:

找到你服务器上的php.ini的位置,可以用phpinfo()函数查看该文件的位置,找到后编辑该文件,例如

vi /usr/local/php/etc/php.ini

找到第385行的disable_functions按a键进入编辑模式,将其值里的scandir这个函数去掉,记得逗号也要去掉,再esc退出编辑模式,输入:wq保存退出,之后重启你的nginx或者apache服务和php服务,我直接重启的lnmp,例如

lnmp restart

来源:http://yusi123.com/2847.html

CSS实现WordPress文章每段首行缩进两个字符

为了提高WordPress网站文章的排版和美观性,我们经常会把每段文章的首行缩进两个字符,每次手动修改又比较麻烦,其实只需在css文件里添加一段代码即可实现。

此方法对大部分主题都有效,当然某些强大的老外企业、CMS主题除外…

进入WP后台 – 主题 – 编辑,找到 style.css 文件,在最下方插入如下代码:

.content p{text-indent:2em;}

或者

#content p{text-indent:2em;}

第一行代码如果不行就试试第二行,其实它们的原理都一样,代码中的“2em”可以随意修改,不能总是“2”对吧…

来源:http://www.wpbus.com.cn/first-line-indented-two-characters.html

WordPress缓存Gravatar头像到本地,提高加载速度

下面介绍的方法来自 Willin Kan 大师(可惜他已经退出WordPress圈),一起来折腾下吧。

1.在wp-content 的同級目录建立一个文件夹,命名为 avatar ,设置该文件夹的权限为 0755 (如果 0755 不行,就试一下 0777)。

2.准备一张大小适合的默认头像,命名为”default.jpg” ,放在 avatar 文件夹里面。

3.在主题的 functions.php 最后一个 ?> 的前面添加下面的代码即可:

function my_avatar($avatar) {
     $tmp = strpos($avatar, 'http');
     $g = substr($avatar, $tmp, strpos($avatar, "'", $tmp) - $tmp);
     $tmp = strpos($g, 'avatar/') + 7;
     $f = substr($g, $tmp, strpos($g, "?", $tmp) - $tmp);
     $w = home_url(); // $w = get_bloginfo('url');
     //$e = preg_replace('/wordpress/', '', ABSPATH) .'avatar/'. $f .'.jpg';
     $e = ABSPATH .'avatar/'. $f .'.jpg';
     $t = 604800; //设定7天, 单位:秒
     if ( empty($default) ) $default = $w. '/avatar/default.jpg';
     if ( !is_file($e) || (time() - filemtime($e)) > $t ) //当头像不存在或者文件超过7天才更新
         copy(htmlspecialchars_decode($g), $e);
     else
         $avatar = strtr($avatar, array($g => $w.'/avatar/'.$f.'.jpg'));
     if (filesize($e) < 500) copy($default, $e);
     return $avatar;
 }
 add_filter('get_avatar', 'my_avatar');