配置Nginx禁止IP访问以防恶意解析

修改默认访问的站点配置文件,在server_name下方添加以下代码即可。

return 408;

当然改成502、403等其它状态码都可以,如果想把这部分流量导入到指定网站,添加以下代码即可。

rewrite ^(.*) https://www.jiangdefu.com permanent;

若要禁止HTTPS访问,添加监听端口443并配置任意的SSL证书即可。

给WordPress添加关键词和描述

WordPress不能直接添加关键词和描述,为了对搜索引擎比较友好,需要手动进行修改添加,这里提供一个无需插件即可实现的简单方法。

第一步:进入后台,打开外观->编辑->主题页眉 (header.php)

第二步:确认header.php文件是否有修改权限,如果文本编辑器下方有“更新文件”按钮说明有修改权限,如果没有就没有修改权限,进入该文件目录wp-content/themes/theme_name/ 修改header.php的权限为777即可。

第三步:把下面的代码复制到header.php的head标签之间即可。

<?php
//主页描述和关键词,内容为自定义
if (is_home()){
$description = "这里是主页描述";
$keywords = "这里是主页关键词";
}
//文章页面文章名称为描述,文章标签为关键词
elseif(is_single()){
if($post->post_excerpt)
{$description = $post->post_excerpt;}
elseif(function_exists('wp_thumbnails_excerpt'))
{$description = wp_thumbnails_excerpt($post->post_content, true);}
else {$description = $post->post_title;}
$keywords = "";
$tags = wp_get_post_tags($post->ID);
foreach ($tags as $tag )
{$keywords = $keywords . $tag->name . ",";}
$keywords = rtrim($keywords, ', ');
}
//分类页面关键词和描述,is_category()括号中写分类页面的别名
//使用分类名称作为关键词,分类描述做为描述
elseif(is_category()){
$keywords = single_cat_title('', false);
$description = category_description();
}
//标签页使用标签名作为关键字,标签描述作为描述
elseif (is_tag()){
$keywords = single_tag_title('', false);
$description = tag_description();
}
//page页面描述,page_name为你所创建的page页面的别名,可以更换。
//关键词和描述均为自定义
elseif (is_page('page_name')){
$keywords = "这里是关键词";
$description = "这里是描述";}
//打印出描述和关键词的内容
echo "<meta name=\"description\" content=\"$description\" />
<meta name=\"keywords\" content=\"$keywords\" />";
?>

阿里云的突发性能实例居然不限制CPU计算性能?

每年的双11前夕,各路云厂商又纷纷推出双11给力特惠活动。当前阿里云的双11活动又让许多站长蠢蠢欲动,尤其是1核2G的突发性能型t5实例,只要1年86元,3年229元的价格。很多小伙伴看到诱人的价格的同时,发现这款实例赫然标着“20%性能基线”的字样,又惊呼“套路深”、“低价吸引眼球”等哀叹声,以为CPU的计算能力限制到只能发挥出普通性能实例的20%,那你就大错特错了!从阿里云推出突发性能实例至今,博主也一直深深地认为突发性能实例肯定对性能有着限制,经过仔细阅读阿里云的官方文档,发现突发性能实例性居然不限制CPU计算性能!那么突发性能型实例到底是什么,性能基线又是怎么一回事呢?

 

突发性能实例特点

首先,突发性能实例有个“CPU积分”的概念,先来说说CPU积分是怎么回事。突发性能实例创建后会对实例的每个vCPU分配30个CPU积分,即初始CPU积分。例如,2核云服务器配有2个vCPU,创建实例后拥有60个初始CPU积分。4核的配有4个vCPU,新建实例拥有120个初始CPU积分。CPU使用率等于基准性能时,突发性能实例获得的CPU积分和消耗的CPU积分相等。

假设我们的实例的基准性能为20%,那么每小时获得的CPU积分刚好可以供该vCPU以使用率20%运行1小时(CPU积分无变化),以使用率100%运行12分钟(60分钟*基准性能20%)。是的,你没看错,CPU使用率是可以超过20%,甚至可达到100%。有的小伙伴要吐槽了,只有12分钟根本不够啊,超过12分钟不一样限制了吗?这又要从CPU积分的获取和消耗说起了。

 

CPU积分获取与消耗

CPU积分获取与基准性能对应,每个vCPU每小时获得12个CPU积分,因此我们的双核实例每小时可获得24个CPU积分。当vCPU使用率低于20%时,也就是出现了获得的CPU积分大于消耗的CPU积分的情况,那么会把没用完的CPU积分进行累积,累积的CPU积分最多保存24小时。

CPU积分的消耗方式不多作说明,直接搬一下官方文档的说明:

CPU积分的消耗速度和突发性能实例的vCPU数、CPU使用率和工作时间有关。例如,以下三种情况都会消耗掉1个CPU积分:
1个vCPU以100%使用率运行1分钟
1个vCPU以50%使用率运行2分钟
2个vCPU以25%使用率运行2分钟
突发性能实例开机后即消耗CPU积分维持计算性能,优先消耗初始CPU积分,初始CPU积分消耗完毕后不会恢复,之后只可消耗获得的CPU积分。
当CPU使用率低于基准性能时,消耗的CPU积分少于获得的CPU积分,CPU积分余额逐渐增加。
当CPU使用率等于基准性能时,消耗的CPU积分等于获得的CPU积分,CPU积分余额保持不变。
当CPU使用率高于基准性能时,消耗的CPU积分大于获得的CPU积分,CPU积分余额逐渐减少。

 

当我们的实例在突发状况时vCPU使用率会超过基准性能20%,假设满负荷运行100%,那么可以运行12分钟,超过12分钟时就会消耗之前24小时内累积没用完的积分。相信绝大多数小伙伴的服务器不可能24小时都是高负荷运行的吧!有的小伙伴又要问了!(小伙伴的问题有点多)如果累积的积分也消耗完了呢?这里要说到突发性能实例的2种模式:性能约束模式和无性能约束模式。

 

性能约束模式和无性能约束模式

在无性能约束模式下,当积分消耗完后会预支未来24小时可以获得的CPU积分(预支部分免费),当可预支的CPU积分不够时,会产生费用,当前的收费是0.005元/积分(非中国大陆地域的Windows实例是0.01元/积分)。

已购买的突发性能实例开启无性能约束模式

购买时选择是否开启无性能约束模式

突发性能实例无论在新建时和新建后,无论是包年包月预付方式购买还是按量购买都可以选择是否开启无性能约束模式。

如果要避免被收费,可以不开启无性能约束模式,即性能约束模式。当积分消耗完时,这时CPU就无法超过20%了,这里还要提个比较人性化的设计,当积分较少的时候,实例性能将在15分钟内逐渐下降到基准性能水平,而不是突然急剧下降性能。

 

查看CPU积分

在控制台实例详情中可直观地查看15天内消耗CPU积分、累积CPU积分、超额CPU积分、预支CPU积分的详情情况。

 

要不要选择突发性能实例

当打开无性能约束模式时,突发性能实例与其它实例进行对比,以突发性能实例ecs.t5-lc1m2.large与企业级实例ecs.c5.large为例,两款实例均是2vCPU 4GiB。假设ecs.t5-lc1m2.large实例的初始CPU积分、CPU积分余额和预支CPU积分已消耗完毕,则使用超额CPU积分时的成本变化趋势如下图所示。

图中按量付费小时价格根据ecs.t5-lc1m2.large配置(基准性能10%、2 vCPU)和超额CPU积分价格(华北2地域、Linux实例)计算得出,供您了解成本变化趋势。条件变化时计算方式相同,但具体临界值存在差异。

可以看到,在使用配置为2vCPU 4GiB的实例时,如果突发性能实例已经开始消耗超额CPU积分:

  • 平均CPU使用率小于57.83%,则选用突发性能实例ecs.t5-lc1m2.large的成本更低。
  • 平均CPU使用率等于57.83%,则选用突发性能实例ecs.t5-lc1m2.large和企业级实例ecs.c5.large的成本相同。
  • 平均CPU使用率大于57.83%,则选用企业级实例ecs.c5.large的成本更低。

因此,如果能准确预估性能需求,可根据CPU使用率临界值选购实例类型,从而在控制成本的同时保证业务正常运行。

下面列出几款热销突发性能实例规格的成本变化趋势。如需了解其它规格,可向阿里云提交工单 。

 

结语

突发性能实例并不是直接限制CPU性能,而是不适合长期高负荷使用。这也是阿里云针对用户购买云服务器后发现使用率不高推出的,如果你购买的服务器使用率不是很高(CPU使用率在普遍在50%-70%以下),例如只是方便临时开发测试、给客户临时搭建产品进行演示,或者网站访问量比较低,但是又要保证访客访问时不影响性能。那么墙裂建议可以选择高性价比的突发性能实例。

 

点击领阿里云最高¥2000红包
(可叠加官网常规优惠使用)

腾讯云双11活动云服务器88元起,更有千元代金券礼包免费领!

 

 

 

参考链接
突发性能实例概述
https://help.aliyun.com/document_detail/59977.html
CPU积分变化示例
https://help.aliyun.com/document_detail/90635.html
突发性能实例计费
https://help.aliyun.com/document_detail/90581.html

雅虎邮箱恢复服务了

自2013年8月19日中国雅虎邮箱正式停止服务后,后缀为 @yahoo.com.cn和 @yahoo.cn的邮箱已无法使用,不幸的是博主的邮箱后缀虽为 @yahoo.com,但还是被停止了服务。

yahoo.com.cn 和 yahoo.cn 是中国雅虎的域名,停止服务无可非议,而 yahoo.com 是雅虎美国的域名,怎么也停止服务呢?从报道中了解到造成这种情况的原因是,后缀为@yahoo.com的邮箱在帐户设置时,把国际化(i18n)设置为了中国(CN),意味着接受了中国雅虎邮箱的服务协议,并把邮件存储在中国雅虎的服务器上,邮箱数据是在中国雅虎服务器上的,所以也属于中国雅虎停止邮箱服务的范围。虽然停止服务后@yahoo.com 邮箱帐户会自动转向美国雅虎邮箱服务,但之前在中国邮箱服务器的归档邮件和联系人信息不会随之迁移,也就是说,邮箱归档会丢失。

几个月前博主尝试登录过邮箱,都提示错误信息:暂时错误: 2。以为雅虎邮箱再也不能使用了,今天在查看邮箱帐户时再次尝试登录,神奇地发现居然可以正常登录了!也算是收获了一个小惊喜。遗憾的是中国雅虎发布公告时那会没留意,没有将邮箱归档进行迁移保留,导致空有邮箱帐户而没有邮箱历史归档。

Nginx配置移动端和电脑端自动双向跳转

场景

域名 描述
pc端 www.example.com 用于pc端访问官网
移动端 m.example.com 用于移动端访问

需求

在电脑端访问www.example.comm.example.com都跳转到www.example.com
在移动端访问www.example.comm.example.com都跳转到m.example.com

实现方法

为了实现跳转,可在页面中加入前端跳转代码JS对ua进行适配跳转。这种方式存在三个缺点:
a) 对用户:会加大由重定向的客户端造成的延迟;这是因为客户端需要先下载网页,接着解析并执行 JavaScript,然后才能触发重定向。301或302则不会有这个延迟。
b) 对搜索:爬虫也需要使用支持JS渲染的爬虫,才能发现此重定向。
c) 无法实现双向跳转或兼容性差:笔者尝试过多种公开代码进行测试,只能实现单向跳转,进行双向跳转时会造成死循环。

关于移动适配,百度的官方建议:
https://ziyuan.baidu.com/college/courseinfo?id=156

为了对用户和搜索引擎更友好,我们采取在Nginx进行跳转配置。

代码

电脑端:www.example.com

server {
      listen       80;
      server_name  www.example.com;

      #charset koi8-r;
      #access_log  logs/host.access.log  main;
    # 下面根据user_agent可以获取
     if ($http_host !~ "^www.example.com$") {
      rewrite  ^(.*)    http://www.example.com$1 permanent;
     }
     if ($http_user_agent ~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) {
      rewrite  ^(.*)    http://m.example.com$1 permanent;
     }
    location / {
            root     /home/build/rampage-home-front/dist/html;
            index  index.html index.htm;
     }

}

作用部分代码如下:

     if ($http_host !~ "^www.example.com$") {
      rewrite  ^(.*)    http://www.example.com$1 permanent;
     }
     if ($http_user_agent ~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) {
      rewrite  ^(.*)    http://m.example.com$1 permanent;
     }

手机端:m.example.com

server {
      listen       80;
      server_name  m.example.com;

      #charset koi8-r;
      #access_log  logs/host.access.log  main;
    #非移动端跳转到 www.example.com
     if ($http_user_agent !~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) {
      rewrite  ^(.*)    http://www.example.com$1 permanent;
     }

    location / {
        root     /home/build/rampage-mobile-front/dist;
        index  index.html index.htm;
      }
}

作用部分代码如下:

if ($http_user_agent !~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) {
      rewrite  ^(.*)    http://www.example.com$1 permanent;
     }

如果配置了SSL证书,需要在443端口同样配置。

ISAPI Rewrite过期失效怎么办

ISAPI_Rewrite3完全版会有45天的试用期,过期了需要99美元进行够买,网上有很多破解版的,方法如下:

1、先从官网下一个完全版的ISAPI_Rewrite3并安装,

也可以直接下载,下载链接:http://www.jb51.net/softs/66905.html#download;

2、在将Rewrite破解文件夹中的dll文件覆盖到程序安装目录下ISAPI_Rewrite.dll和ISAPI_RewriteSnapin.dll,如果提示在使用则把要覆盖的dll文件重命名在复制即可;

3、打开安装目录下的httpd.conf文件,在里面输入以下内容并保存,这样就没有使用天数的限制了;

RegistrationName= wlqcwin

RegistrationCode= 2EAD-35GH-66NN-ZYBA

4、安装好后记得给ISAPI_Rewrite3软件安装目录network service的读权限。

但是通过上述的方法会发现ISAPI_Rewrite.dll文件无法覆盖,我把这个文件删除后重新覆盖,发现还是提示过期而且无法使用!其实上面少掉了一步操作就是需要先停止iisadmin(开始,运行 net stop /y iisadmin);再进行复盖。如果复盖时还提示拒绝访问,也可以全选把原来安装文件夹的文件删除再复制复盖,复盖完成后。运行命令:

net start iisadmin
net start w3svc
net start ftpsvc

或者直接在IIS里启用网站也可以。

这样即完成了破解。虽然还是会提示使用期限到了或过期,并且过期时间是负数,但是不会像没有破解前一样弹出一个确定框禁止访问。

另外破解后需要手工编辑httpd. conf。因为编辑按钮是灰色的不能按了。但是不影响功能使用。