代码方式设置WordPress内所有URL链接都在新标签页打开

前言:
WordPress默认情况下几乎所有URL链接都是在同一个标签页打开。这样的话,读者点击一个链接就会离开当前页面,如果读者想要查看原来的页面又要进行返回操作,在某些情况下用户体验不佳。但是,如果一个一个单独为每个链接添加新标签页打开的代码,工作量会很大,也容易造成遗漏。本文就介绍一种通过一次添加代码的操作,达到全站链接都在新标签页打开的方法。

继续阅读“代码方式设置WordPress内所有URL链接都在新标签页打开”

解决CentOS 7中php-fpm进程数过多导致服务器内存资源消耗较大的问题

前言:

最近服务器内存使用率一直居高不下,检查之后发现可能和php-fpm进程数过多有关。本文记录了我优化php-fpm配置文件的过程并补充了一些和php-fpm有关的知识。

继续阅读“解决CentOS 7中php-fpm进程数过多导致服务器内存资源消耗较大的问题”

在基于Windows系统的PHP虚拟主机上实现域名的301永久重定向

作者:荒原之梦

操作背景:

当网站在更换或添加域名、进行网址规范化或删除旧页面时,出于对用户使用体验和搜索引擎优化方面的考虑就需要进行301永久重定向。

操作环境:

PHP环境的Windows系统虚拟主机。

操作原理:

本文所介绍的301永久重定向是通过ISAPI_Rewrite这个用于IIS的URL重写组件实现的,关于ISAPI_Rewrite的更多信息可以参见:
1 ISAPI_REWRITE百度百科:Here
2 ISAPI_Rewrite 3 – Apache .htaccess mod_rewrite compatible module for IIS :Here

具体步骤如下:

1 新建一个文本文档,输入以下内容:
2 将该文件上传到虚拟主机的 web 目录(有的虚拟主机中相应目录的名称为 public_html ),重命名为 httpd.ini .
之后可以通过http状态查询工具检测301重定向是否成功。
注:上述方法不需要虚拟主机支持伪静态。

000webhost虚拟主机绑定自定义二级域名

作者:荒原之梦

前言:

最近想给导航狗IT信息导航做一个文件服务器专门存放文件,以提供引用或下载。于是,我在000webhost上申请了一台免费虚拟主机,并给这个虚拟主机空间绑定了一个导航狗的二级域名 files.daohanggou.wang .
000webhost提供两种绑定域名的方式,分别是”Park domain”和”Point domain”. 根据000webhost官网的介绍,这两种设置自定义域名的方式适用的情景如下:
Park domain – Park domain to 000webhost nameservers. When you want to access your website without www (Recommended)
Point domain – Have a domain name, but do not want to change namservers. When you want to have full control of your DNS zone
经测试,Park domain的方式无法绑定二级域名,下面是使用Point domain的方式绑定自定义二级域名的过程。

前期准备:

1 拥有一个顶级域名

本文中使用的域名是在阿里云(万网)注册的。
阿里云网址:https://www.aliyun.com

2 拥有一台虚拟主机

本文中使用的是在000webhost注册的免费虚拟主机。
000webhost网址:https://www.000webhost.com

具体步骤如下:

1 设置解析

登陆阿里云,依次打开:
“控制台->域名与网站(万网)->域名”
找到我们要设置二级域名的顶级域名,点击“解析->添加解析”。
解析参数如下:

2 添加域名

登陆000webhost,点击”Set web address”
这时会弹出一个提示你购买域名的窗口,由于我们希望绑定自己已有的二级域名,所以点击”It’s OK, I don’t mind 000webhost branding”
之后,我们会看到”Own domain”和”Buy domain”两个按钮, 点击”Own domain”默认的是进行”Park Domain”操作,但是Park domain并不支持绑定二级域名,而且如果要绑定顶级域名还需要将域名的DNS服务器设置成000webhost提供的DNS服务器。所以,我们向下滚动页面,找到”Add domain”,点击打开,选中”Point domain”, 在”Domain”的输入框里填入第一步设置好解析的二级域名,例如:
点击”Save”
至此,自定义的二级域名已经绑定了虚拟主机,可以使用自定义二级域名访问了,例如:
文件服务器-导航狗IT信息导航:http://files.daohanggou.wang/

RedHat 7.0及CentOS 7.0禁止Ping的三种方法(附:ICMP数值类型与功能表)

作者:荒原之梦
前言:
“Ping”属于ICMP协议(即“Internet控制报文协议”),而ICMP协议是TCP/IP协议的一个子协议,工作在网际层。ICMP协议主要用于传输网络是否连通、主机是否可达以及路由是否可用等控制信息。Ping可以回显TTL生存时间,网络延迟等信息,而且响应Ping请求也会消耗服务器资源。因此,在服务器上禁用ICMP响应可以尽可能的隐藏服务器在Internet上的踪迹,降低受攻击面。本文介绍三种方法禁用(或启用)ICMP响应,即禁止(或允许)Ping.

操作环境:

RedHat 7.0(CentOS 7.0的操作方法与此一致)

方法一 临时禁用ICMP协议

修改文件 /proc/sys/net/ipv4/icmp_echo_ignore_all 的值。
切换到root,输入命令:
这样就将 /proc/sys/net/ipv4/icmp_echo_ignore_all 文件里面的 0 临时改为了 1 ,从而实现禁止ICMP报文的所有请求,达到禁止Ping的效果,网络中的其他主机Ping该主机时会显示“请求超时”,但该服务器此时是可以Ping其他主机的。
如果想启用ICMP响应,则输入:

 

注0:由于 /proc/sys/net/ipv4/icmp_echo_ignore_all 这个文件是只读的,即使我们使用root用户登陆,vim打开 /proc/sys/net/ipv4/icmp_echo_ignore_all ,将里面的 0 该为 1 之后使用 qw! 强制保存也无法完成修改。因此上面这个方法只是临时的,一旦服务器重启就又会回到默认的 0 状态(假设修改前 /proc/sys/net/ipv4/icmp_echo_ignore_all 里面的值就是 0 )。如果想永久修改(当然也可以改回来,只是不再受服务器关机或重启的影响)请使用方法二或方法三。

方法二 永久禁用ICMP协议:

禁用ICMP协议,输入:

 

添加一条信息:
保存并退出。
输入:
使配置生效。
启用ICMP协议,输入:

 

将:

 

修改为:

 

如果没有 net.ipv4.icmp_echo_ignore_all = 1 就添加:
保存并退出。
输入:
使配置生效。
注1:如果想启用ICMP响应,不能直接在 /etc/sysctl.conf 里删除 net.ipv4.icmp_echo_ignore_all = 1 之后 sysctl -p . 这样做仍然是禁止Ping的状态,此时使用命令: vim /proc/sys/net/ipv4/icmp_echo_ignore_all 查看发现其值仍然是 1 , 即仍处于拒绝ICMP响应的状态。

方法三 配置IPTABLES防火墙

Iptables防火墙是集成于Linux内核的IP信息包过滤系统。方法三不能和上面的方法一和方法二组合使用。即,在使用方法三时不能已经使用方法一或方法二禁止了Ping.
禁止Ping,输入:

 

停止禁用Ping,输入:

 

上面两条命令的简要解释:


 

注2:由于方法三是对防火墙进行的设置,所以使用方法三禁止Ping后只会阻止来自外网的Ping请求,内网主机的Ping请求仍然会正常响应。使用方法一和方法二禁止Ping后不仅会阻止外网的Ping请求也会阻止内网的Ping请求。
注3:ICMP数值类型与功能表
Type
Code
Description
Query
Error
0
0
Echo Reply
x
3
0
Network Unreachable
x
3
1
Host Unreachable
x
3
2
Protocol Unreachable
x
3
3
Port Unreachable
x
3
4
Fragmentation needed but no frag. bit set
x
3
5
Source routing failed
x
3
6
Destination network unknown
x
3
7
Destination host unknown
x
3
8
Source host isolated (obsolete)
x
3
9
Destination network administratively prohibited
x
3
10
Destination host administratively prohibited
x
3
11
Network unreachable for TOS
x
3
12
Host unreachable for TOS
x
3
13
Communication administratively prohibited by filtering
x
3
14
Host precedence violation
x
3
15
Precedence cutoff in effect
x
4
0
Source quench
5
0
Redirect for network
5
1
Redirect for host
5
2
Redirect for TOS and network
5
3
Redirect for TOS and host
8
0
Echo request
x
9
0
Router advertisement
10
0
Route solicitation
11
0
TTL equals 0 during transit
x
11
1
TTL equals 0 during reassembly
x
12
0
IP header bad (catchall error)
x
12
1
Required options missing
x
13
0
Timestamp request (obsolete)
x
14
Timestamp reply (obsolete)
x
15
0
Information request (obsolete)
x
16
0
Information reply (obsolete)
x
17
0
Address mask request
x
18
0
Address mask reply