Let's Encrypt作为一个公共且免费SSL的项目逐渐被广大用户传播和使用,是由Mozilla、Cisco、Akamai、IdenTrust、EFF等组织人员发起,主要的目的也是为了推进网站从HTTP向HTTPS过度的进程,目前已经有越来越多的商家加入和赞助支持。

Let's Encrypt免费SSL证书的出现,也会对传统提供付费SSL证书服务的商家有不小的打击。到目前为止,Let's Encrypt获得IdenTrust交叉签名,这就是说可以应用且支持包括FireFox、Chrome在内的主流浏览器的兼容和支持,虽然目前是公测阶段,但是也有不少的用户在自有网站项目中正式使用起来。

实战申请Let's Encrypt永久免费SSL证书过程教程及常见问题

在今年黑色星期五的时候,Namecheap各种促销活动中也包括年费0.88美元的SSL证书,当时老左也有购买了2个备用学习和适当的放到一些网站中看看效果(据说英文网站谷歌会很喜欢),当时冷雨同学就建议到时候直接使用Let's Encrypt免费SSL,毕竟有很多大公司支持的,比一些小公司提供的免费SSL证书靠谱很多。

虽然目前Let's Encrypt免费SSL证书默认是90天有效期,但是我们也可以到期自动续约,不影响我们的尝试和使用,为了考虑到文章的真实性和以后的实战性,老左准备利用一些时间分篇幅的展现在应用Let's Encrypt证书的过程,这篇文章分享申请的方法教程。

第一、安装Let's Encrypt前的准备工作

根据官方的要求,我们在VPS、服务器上部署Let's Encrypt免费SSL证书之前,需要系统支持Python2.7以上版本以及支持GIT工具。这个需要根据我们不同的系统版本进行安装和升级,因为有些服务商提供的版本兼容是完善的,尤其是debian环境兼容性比CentOS好一些。

比如CentOS 6 64位环境不支持GIT,我们还可以参考"Linux CentOS 6 64位系统安装Git工具环境教程"和"9步骤升级CentOS5系统Python版本到2.7"进行安装和升级。最为 简单的就是Debian环境不支持,可以运行"apt-get -y install git"直接安装支持,如果是CentOS直接运行"yum -y install git-core"支持。这个具体遇到问题在讨论和搜索解决方案,因为每个环境、商家发行版都可能不同。在这篇文章中,老左采用的是debian 7 环境。

第二、快速获取Let's Encrypt免费SSL证书

在之前的博文中老左也分享过几篇关于SSL部署的过程,我自己也搞的晕乎晕乎的,获取证书和布局还是比较复杂的,Let's Encrypt肯定是考虑到推广HTTPS的普及型会让用户简单的获取和部署SSL证书,所以可以采用下面简单的一键部署获取证书。

PS:在获取某个站点证书文件的时候,我们需要在安装PYTHON2.7以及GIT,更需要将域名解析到当前VPS主机IP中。

git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto certonly --standalone --email admin@laozuo.org -d laozuo.org -d www.laozuo.org

然后执行上面的脚本,我们需要根据自己的实际站点情况将域名更换成自己需要部署的。

快速获取Let's Encrypt免费SSL证书

看到这个界面,直接Agree回车。

Let's Encrypt安装成功

然后看到这个界面表示部署成功。目前根据大家的反馈以及老左的测试,如果域名是用的国内DNS,包括第三那方DNSPOD等,都可能获取不到域名信息。

Let's Encrypt国内域名DNS不支持

这里我们可以看到有"The server could not connect to the client to verify the  domain"的错误提示信息,包括也有其他提示错误,"The server experienced an internal error :: Error creating new registration"我们在邮局的时候不要用国内免费邮局。所以,如果我们是海外域名就直接先用域名自带的DNS。

第三、Let's Encrypt免费SSL证书获取与应用

在完成Let's Encrypt证书的生成之后,我们会在"/etc/letsencrypt/live/laozuo.org/"域名目录下有4个文件就是生成的密钥证书文件。

cert.pem  - Apache服务器端证书
chain.pem  - Apache根证书和中继证书
fullchain.pem  - Nginx所需要ssl_certificate文件
privkey.pem - 安全证书KEY文件

如果我们使用的Nginx环境,那就需要用到fullchain.pem和privkey.pem两个证书文件,在部署Nginx的时候需要用到(参考:LNMP一键包环境安装SSL安全证书且部署HTTPS网站URL过程)。在这篇文章中老左就不详细演示Let's Encrypt证书证书的安装,后面再重新折腾一篇文章详细的部署证书的安装Nginx和Apache。

ssl_certificate /etc/letsencrypt/live/laozuo.org/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/laozuo.org/privkey.pem;

比如我们在Nginx环境中,只要将对应的ssl_certificate和ssl_certificate_key路径设置成我们生成的2个文件就可以,最好不要移动和复制文件,因为续期的时候直接续期生成的目录文件就可以,不需要再手工复制。

第四、解决Let's Encrypt免费SSL证书有效期问题

我们从生成的文件中可以看到,Let's Encrypt证书是有效期90天的,需要我们自己手工更新续期才可以。

./letsencrypt-auto certonly --renew-by-default --email admin@laozuo.org -d laozuo.org -d www.laozuo.org

这样我们在90天内再去执行一次就可以解决续期问题,这样又可以继续使用90天。如果我们怕忘记的话也可以制作成定时执行任务,比如每个月执行一次。

第五、关于Let's Encrypt免费SSL证书总结

通过以上几个步骤的学习和应用,我们肯定学会了利用Let's Encrypt免费生成和获取SSL证书文件,随着Let's Encrypt的应用普及,SSL以后直接免费不需要购买,因为大部分主流浏览器都支持且有更多的主流商家的支持和赞助,HTTPS以后看来也是趋势。在Let's Encrypt执行过程在中我们需要解决几个问题。

A - 域名DNS和解析问题。在配置Let's Encrypt免费SSL证书的时候域名一定要解析到当前VPS服务器,而且DNS必须用到海外域名DNS,如果用国内免费DNS可能会导致获取不到错误。

B - 安装Let's Encrypt部署之前需要服务器支持PYTHON2.7以及GIT环境,要不无法部署。

C - Let's Encrypt默认是90天免费,需要手工或者自动续期才可以继续使用。

本文固定链接: http://www.laozuo.org/7676.html | 老左博客

转:http://www.senra.me/add-tun-tap-support-for-proxmox-ve-4-lxc-containers/

一.为什么

Proxmox VE 4将3代的OpenVZ支持去除换成了LXC,算是跟随趋势吧,但是LXC和OpenVZ还是有挺多不同的,在权限上更是如此,而网上最多的还是OVZ相关的教程,LXC的是真的少,不过一直以来没需求,所以没怎么折腾,最近在搞内网,所以为了用Tunnel还是得把TUN/TAP支持打开。

二.怎么办

首先当然是谷歌咯,关键词选得好马上出结果,proxmox官方论坛讨论贴 https://forum.proxmox.com/threads/tun-devices-in-ve-4-lxc.23473

总结一下

①.如果需要对所有(之后创建的)LXC容器全部开启tun/tap

那么需要修改/etc/lxc/default.conf,添加lxc.cgroup.devices.allow = c 10:200 rwm

当然,也可以创建/usr/share/lxc/config/common.conf.d/02-tuntap.conf 这样的配置文件来取得同样的效果

②.而如果只要对指定容器有效,则需要修改/etc/pve/lxc/[ID].conf , [ID]为你的容器编号

还没完,这样只是给了权限,实际上还没好,需要在容器的/etc/rc.local 自启动文件中添加如下

这样你执行需要tun/tap的程序时就不会出问题了

三.附录(记如何在v3版本的ovz下开启tun/tap)

a. 编辑vz.conf文件,添加iptable_nat ipt_state这2个东西

b. 手动关闭所有小鸡,重启openvz模块
/etc/init.d/vz restart

c. 对小鸡进行必要的设置(这里以小鸡100为例,100是指PID,WEB控制面板里可以看到)

d. 母鸡加载一次这些

e. 启动小鸡输入以下命令

参考1:http://jingyan.baidu.com/article/ce436649132f2e3773afd3e5.html  TTL刷机降级
参考2:http://jingyan.baidu.com/article/27fa73268519f746f9271f40.html 获取Root权限

一、刷机

  1. 首先拧开迅雷赚钱宝底部的螺丝以拆解,在其电路板中就可以找到如图所示的“TTL接口”,将赚钱宝的TXD接TTL板的RXD,赚钱宝的GND接TTL板的GND,赚钱宝的RXD接TTL板的TXD。如图所示:

    迅雷赚钱宝变砖TTL修复教程
  2. 将TTL板与电脑USB接口连接,同时在电脑中安装TTL板驱动程序,并在“计算机管理”-“设备管理器”界面中,查看并获取当前“TTL板”端口号,如图所示,串口端口号为“COM3”。

    迅雷赚钱宝变砖TTL修复教程
  3. 直接在百度中搜索下载“CRT”,并从搜索结果中选择第一项即可下载“secureCRT”工具,如图所示:

    迅雷赚钱宝变砖TTL修复教程
  4. 安装并打开“secureCRT”工具,点击“文件”-“快速连接”项,并从打开的“快速连接”窗口中,设置“协议”类型为“串口”,“端口号”为“COM3”,“波特率”为“115200”,点击“连接”按钮。

    迅雷赚钱宝变砖TTL修复教程
  5. 此时打开“迅雷赚钱宝”电源,此在“secureCRT”端口调试界面中,将显示一系列的内容,待内容显示稳定后,按“回车”键以调出命令提示符“#”。

    迅雷赚钱宝变砖TTL修复教程
  6. 接下来将迅雷赚钱宝固件拷贝到TF卡或U盘根目录下,并将TF卡或U盘插入迅雷赚钱宝设备中。以下小编为大家提供“1064”或“1334”两个稳定的旧版固件下载地址:

    http://update.peiluyou.com/conf/miner/packages/thunder-miner-app_V1.0.1064_arm.ipk

    http://update.peiluyou.com/conf/miner/packages/thunder-miner-app_V1.0.1334_arm.ipk

    迅雷赚钱宝变砖TTL修复教程
  7. 接着在“secureCRT”界面依次输入以下内容:

    # df   查看文件目录,获取“/dev/sda1”(U盘)的位置“/media/sda1”

    # cd /media/sda1    即可进入U盘根目录

    迅雷赚钱宝变砖TTL修复教程
  8. 接着输入命令

    # ls    确认一下U盘中是否正确存放着迅雷赚钱宝相应的固件文件。

    opkg-cl install thunder-miner-app_V1.0.1064_arm.ipk     升级固件

    或者输入

    #opkg-cl install --force-downgrade  thunder-miner-app_V1.0.1064_arm.ipk   强制降级固件

    迅雷赚钱宝变砖TTL修复教程
  9. 9

    待对应的迅雷赚钱宝固件刷机完成后,输入命令:

    # reboot

    拼按回车以重启迅雷赚钱宝,至此TTL修复迅雷赚钱宝变砖操作完成。

    迅雷赚钱宝变砖TTL修复教程

 

二、获取Root权限

为啥需要有root权限的账户?就是为了刷机、升降级啦。拥有一个有root权限的账户,是众多赚钱宝玩家的必备条件。

在为自己添加一个root账户前,你首先要能够用系统本身的root账户登录赚钱宝。有朋友可能会觉得奇怪,既然已经能用系统root账户登录了,为啥还要再增加一个多余的root账户呢?

赚钱宝在某个固件版本之后(具体版本我忘记了),每次重启后系统本身root账号的密码都是随机生成的,使用起来非常不方便。所以就需要为我们自己添加一个密码永远不会变的有root账户特权的私有账户。

至于如何使用系统原有的root账户登录赚钱宝,请继续往下看。

工具/原料

  • 迅雷赚钱宝,固件版本:V1.1.811
  • 工具软件:putty.exe
  • 用户必须有网络以及相关软件使用的基本知识

方法/步骤

  1. 首先用系统本身的root账户登录赚钱宝。具体方法可参考我的另外一篇文章:

    如何获得迅雷赚钱宝root账号的密码

    3如何获得迅雷赚钱宝root账号的密码

    赚钱宝如何添加有root权限的用户
  2. 成功登录赚钱宝之后。运行命令

    adduser admin

    这里的“admin"就是我们想要添加账户的用户名,你可以选择任何想要的名字。但是仅限字母、数字和下划线。

    运行adduser命令后,系统会提示你输入你想要的密码 "New Password:",然后再提示你输入同样的密码"Retype password:"。

    至此,新的用户 "admin" 已经添加成功。

    赚钱宝如何添加有root权限的用户
  3. 现在运行命令

    vi /etc/passwd

    在打开的文件中找到新增 "admin" 的所在行。

    admin:x:1001:1001:Linux User,,,:/home/admin:/bin/sh

    把第一个1001改成0。

    admin:x:0:1001:Linux User,,,:/home/admin:/bin/sh

    键盘输入Esc :wq保存退出即可。有关vi命令的使用方法,请自行百度。

    赚钱宝如何添加有root权限的用户
    赚钱宝如何添加有root权限的用户
    赚钱宝如何添加有root权限的用户
  4. 接着运行2个命令

    cp /root/.bash_profile /home/admin/.bash_profile

    cp /root/.bashrc /home/admin/.bashrc

    赚钱宝如何添加有root权限的用户
  5. 我们马上来验证一下。用我们新增的root权限用户admin来登录下。

    至此,大功告成,你可以任性地自由刷机啦。

    赚钱宝如何添加有root权限的用户

 

无论我如何破沫横飞地向你形容一位程序猿顺畅的敲代码是一件多么幸福的事情,我想你都不会和什么热血、震撼、暴力美联系起来。

你打心眼里的印象应该是这样~

属于程序猿的编程暴力美学,科技大片即视感

但是你懂得,这样的一群生物总是喜欢创造一些自我感觉良好的……无聊却酷炫的东西。

比如让你觉得敲击代码确实是一件热血、震撼、暴力美学的玩意。

像这样~

属于程序猿的编程暴力美学,科技大片即视感

据说每一个看到这个画面的人都在心中默默的感受到了 biubiu~ bangbang~ 的击打感。

其实这是一个插件的作用效果,如果你身边有做程序猿的小伙伴,那么想必他一定喜欢。

插件下载地址:

https://atom.io/packages/activate-power-mode

或者

Gitub页面链接

https://github.com/codeinthedark/editor/pull/1

你需要先下载;

属于程序猿的编程暴力美学,科技大片即视感

属于程序猿的编程暴力美学,科技大片即视感

下载完成解压缩到C:\Users\Administrator.atom\packages

然后打开cmd调到activate-power-mode-master这个文件里面apm install就可以了 ,安装完成后ctrl+alt+o就可以开启了。

除了 Atom 平台,目前酷炫的程序员码代码插件目前已经更新到支持 xcode 等多个工具的地步了,有需要的小伙伴(程序员)可以在这里地址中查看自己试用的工具平台,需要提醒大家,长期使用该酷炫插件可能导致无法预料的头晕眼花等症状(☜明目张胆的胡说八道,感谢后台小伙伴的更新信息提醒哟~~)

属于程序猿的编程暴力美学,科技大片即视感

多版本地址:

https://github.com/codeinthedark/awesome-power-mode

属于程序猿的编程暴力美学,科技大片即视感

让我们再回顾一下,这哥们太酷了你觉得呢?

属于程序猿的编程暴力美学,科技大片即视感

开启TUN

vzctl set 800 --devnodes net/tun:rw --save
vzctl set 800 --devices c:10:200:rw --save
vzctl set 800 --capability net_admin:on --save
vzctl exec 800 mkdir -p /dev/net
vzctl exec 800 chmod 600 /dev/net/tun

开启PPP

vzctl set 800 --features ppp:on --save
vzctl set 800 --devices c:108:0:rw --save
vzctl exec 800 mknod /dev/ppp c 108 0
vzctl exec 800 chmod 600 /dev/ppp

 

确认是否成功,在虚拟机下运行:

[root@vpn ~]# cat /dev/net/tun
cat: /dev/net/tun: File descriptor in bad state

[root@vpn ~]# cat /dev/ppp
cat: /dev/ppp: No such device or address

即代表成功

Code4App 原创文章。转载请注明出处:http://code4app.com/article/cocoapods-install-usage

目录

  • CocoaPods是什么?
  • 如何下载和安装CocoaPods?
  • 如何使用CocoaPods?
    • 场景1:利用CocoaPods,在项目中导入AFNetworking类库
    • 场景2:如何正确编译运行一个包含CocoPods类库的项目

CocoaPods是什么?

当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而其他类库又用到其他类库,“子子孙孙无穷尽也”,这也许是比较特殊的情况。总之小编的意思就是,手动一个个去下载所需类库十分麻烦。另外一种常见情况是,你项目中用到的类库有更新,你必须得重新下载新版本,重新加入到项目中,十分麻烦。如果能有什么工具能解决这些恼人的问题,那将“善莫大焉”。所以,你需要 CocoaPods。

CocoaPods应该是iOS最常用最有名的类库管理工具了,上述两个烦人的问题,通过cocoaPods,只需要一行命令就可以完全解决,当然前提是你必须正确设置它。重要的是,绝大部分有名的开源类库,都支持CocoaPods。所以,作为iOS程序员的我们,掌握CocoaPods的使用是必不可少的基本技能了。

如何下载和安装CocoaPods?

在安装CocoaPods之前,首先要在本地安装好Ruby环境。至于如何在Mac中安装好Ruby环境,请google一下,本文不再涉及。

2013年影响网站在百度排名的关键因素总结

1、百度分享的作用

百度分享,是百度推出一款分享工具,同时在百度的排名中,也占据着一定的比例,如一个网站的后面出现了分享大拇指,其可信度以及其内容质量,相对就会被更好的认可。如今这种方式的人为因素太多,而百度在排名中有使用这种方法,但总体来看,使用率并不是很高。而对于收录来讲,如果你的网站中有百度分享按钮,其收录的速度就会更快一些,而对于一些文章页来说,如果你分享的够多,其排名会较其他的页面靠前。

2、百度竞价在排名中的一些作用

虽然说百度竞价与百度自然排名是两个完全不同的部门(百度官方说法),但从百度近期网站的排名因果关系来看,做竞价的网站排名一般都比较稳定,但如果是停止了竞价,那么这个网站的权重就会全无,即使做再多的补救措施,在短时间内也不一定能很快的恢复,而一旦得新开启竞价排名,那么,大约在一周左右时间,网站的排名就会重新被恢复。这不得不让人考虑,百度是否已经在其算法中,加入了竞价排名的因素。

同时也有这么一种官方的解释,那就是当你在做百度竞价的时候,你的网站流量是固定的,每天基本上都有固定的IP流入,竞价加上关键词自然排名的结果,而当你将竞价停止之后,那么,你的流量就会产生很大的变化,从而导致了网页的流量异常,而导致被降权。(根据这一特点我们又做了一个观察,对于一个网站中,将一些基本上没有人搜索的词做为关键词,挂在百度,每天挂十个小时,这期间通过百度流量统计基本上通过竞价来的词很少,而多数都是通过自然排名进入网站的人,相对应,网站的排名却依然很稳定,那么这就不得不考虑百度竞价在排名中的影响了。要么一开始就别做竞价,要做了,你就需要一直做下去,当网站的权重确实很高了,再慢慢的撤掉竞价。)

admin5.com/upimg/allimg/130820/150951GG-0.jpg" alt="百度网站排名优化影响" width="550" height="819" />
  3、图文结合的内容更利于百度的抓取与排名

百度最近的更新就是针对图文而进行的。百度认为,有文字有原创内容,并且结合图片解释的文章,应该是更能够帮助到用户的文章。图文结合的方式,是最能够直接的反映文章核心内容,更能让用户理解的内容。那么,如果我们在写文章的时候,如果可以加入图片解释的,最好是带上图片,并将图片中的文字用正规字体,或许百度已经能对图片中的部分文字进行识别了(观察中...)。

4、原创内容在排名中的作用

原创内容是保持网站排名稳定的基石,想要让你的网站拥有一个稳定的排名,那么你就需要不断的去创造更多有价值的内容,星火计划以及起源算法会给你的网站更多的权利,以及更好的排名,虽然说原创内容究竟在网站中的排名占多少,这还无定论,但如果你的网站没有更多的原创,那么你的网站就可能会没有排名。总之原创内容在一个网站的排名中,起着重大的稳定以及排名持续性的作用,不可小视。

5、微博等社交媒体分享后的评论结果对排名的影响

微博等社交媒体对于分享后内容的评价对于网站的排名有着直接的影响,一个优秀的网站可能会被现多的社交媒体做为热点来讨论,而对于一些不好的网站,当分享出去后,会基本上没有什么评论,或是差评不断。所以做分享时也要注意你分享内容的质量好坏,这是对网站的排名有一定的影响的哦。

6、域名链接的长度(HTML的长度)

当域名的链接太长的时候,百度并不能完全的识别,对于网站的收录以及排名会有一定的影响。一些动态的网站其链接往往会很长,当我们将这些HTML输入到百度搜索时,往往会不被百度所识别,当你的html过长的时候,不仅不利于用户体验,同时也不利于搜索引擎蜘蛛的抓取。所以我们在做优化的时候,应该将域名做的更短,更利于记忆,对于HTML的长度,最好长度不要超过63个字符。

7、标题中关键词的位置对于排名会有影响

网站的标题中关键词的位置对排名也同样会有影响,标题中关键词的位置越靠前,搜索引擎会认为,这个关键词在这个页中的作用越大。如果是完全匹配的搜索,出现在搜索引擎排名结果中的几率也会越大。

8、内容中关键词出现的频率

内容中关键词的出现频率,是对于网站标题的关键词的一种反馈,也是在告诉搜索引擎,我的这篇文章完全是在围绕这个主题而进行的,相对出现的频率较高时,文章的内容也就与标题最符合,而当你的文章中关键词出现的频率太高的时候,可能会造成关键词的堆积,虽然在一定的时候会有很好的排名,但总体来看,得不到长期的发展,关键词在文章的出现应该更加的自然协调。

9、内部锚文本的数量(即内部链接)

内部的链接,更多的应该是针对用户的点击行为而设计的,内部链接的多少反映出了用户可以通过多少次点击找到自己需要的内容。同时内部链接的好坏,也直接关系到搜索引擎是否可以便捷快速的索引到网站中的更多有价值的内容。

10、关键词的外部链接

虽然百度在不断的打击外链,屏蔽外链,但对于网站的排名来说,外链的作用依然还很强大。只是在外链的过程中,我们需要做比以前更多的事情了。

11、内容字数的多少及质量

网站的内容以及文章的质量,对于网站的排名有一定的影响,一篇好的文章,一篇质量较高的文章可以为网站带来更多的长尾内容,一般认为,文章的字数较多,并且质量较高,浏览的人数较多的时候,搜索引擎会给出更高的权重。

12、网站是否被安全认证

在百度搜索结果中,出现了一些V图标或是安全联盟谁图标的网站,其被点击的几率会增大很多,而对于V认证的用户来说,也多数都是百度竞价排名的直接客户,以及与百度合作过的用户,相对信誉来说,因为其是百度的花钱用户,自然在推荐上也会先人一筹了。

13、知名的,有官网认证的网站可信度更强

带有官网字样的网站,在搜索行业关键词时往往会在首页出现的几率更大。

14、外链的数量

外链的数量对于网站的排名还是有一定的影响的,虽然百度一直在打击一些垃圾链以及黑链,但从目前观察到的一些博彩类网站,通过对其他高权重网站进行黑客攻击,并在这些网站中加入单向链接,当加入更多的单向链接之后,这些博彩网站在短期内的排名会大幅度的上升,其权重也会在几天内有着很大的变动。这就可以证明,外链的数量在短期内,还是对于网站的排名会有一定的影响。

15、图片的数量

网站中或是一篇文章中的图片数量对于网站的排名也会有一定的影响。原因很简单,在垂直搜索中,图片也是可以给我们的网站带来流量的。

16、是否存在网页描述以内容是否与主题相符

相关性一直一来就是搜索引擎所要求的,无论是外链的相关性,还是网页内部的相关性。很多时候我们会将一篇文章的第一段做为这篇文章所在页面的描述,所以我们写文章时

17、URL不是二级域名

出售二级域名或目录用于作弊将株连整站的声明,告诉了我们,对于二级域名的使用要慎重,稍有不当,就可能造成降权的风险。二级域名一般情况下与主域名存在一定的联系。而对于二级域名的权重,虽然百度认为应该相同,但二级域名的发展往往受限于顶级域名。

18、关键词反向链接百分比

当返向链接更多的指向某一个关键词时,这个关键词的排名同样会有不错的爬升。要求内容的相关性要强,内容具有很高的可读性,并能引起共鸣。

19、网站的访问速度

这一点不用多说了,还是针对用户体验度方面的要求,没有几个人会去花更多的时候去待一个网页的打开的。提升网站的访问速度也是提升我们网站用户体验度的关键。搜索引擎蜘蛛也不愿意更多的去爬取访问速度过慢的网站。

20、H1标签的使用

HI标签往往是对于一个页面中重要信息的一种反馈。一个页面中,一般认为,只有一个信息是最重要的,我们将我们认为最重要的信息放在H1标签中,也是让搜索引擎能够更好的识别我们所要推荐的主要内容。

22、H2标签在一个页面中出现的频率及是否有关键词出现

H2标签相对来讲要比H1标签的层次低一些,一个H2标签可以出现多次,基本上是对于网页中一些较为重要的信息进行的一种加强。

23、关键词在title标签中的出现

24、起源算法

起源算法是针对网站的原创度以及网站内容的原创度而进行的。起源算法是百度在2013年推出的一种新的算法,主要的针对内容就是网站的原创。

25、绿萝系列算法

绿萝系列算法,是针对外链而发布的,绿萝1.0主要是针对买卖外链的网站以及平台进行的打击,绿萝2.0主要是针对新闻源算法以及软文推广的网站以及新闻源平台而推出的一种算法。打击的就是以新闻源以及软文推广为目的的网站。

26、石榴算法

石榴算法旨在提升网站的用户体验度,以及让更多的网站重视内容质量。主要针对无实质内容的网站,以广告为主的那些网站而进行的打击,旨在提升用户体验度。

27、nofollow在页面中出现的次数

Nofollow更多的被认为是在为搜索引擎规定哪些是可以收录的链接,哪些是不需要根据的链接,主动的让搜索引擎收录那些有作用的页面,而对于每个网站都有的如关于我们等等这些无价值的内容进行必要的屏蔽,也好让搜索引擎能够快速直接的找到他们的需要,即网站中的原创内容。

从上是针对于2013年的百度算法进行了一些总结,可能这些只是其中的一部分而已,如果你有更多的算法或是观察到百度有更多的有效影响网站排名的算法,欢迎共同交流。2013年百度主要针对的就是文章内容以及有效提升用户体验度的一些算法。对于影响排名的因素来看,更多的还是内容以及外链部分。

转载请保留本文链接:http://www.y26.cn/seo/2013/0813/612.html

原创作者:杨营

自从百度6.28大规模k站之后除了草根站长的愤怒和反抗,最火的应当是快速恢复被k网站的方法。点击百度竞价事件之后百度在官方论坛发布公告用site查询不准确来稳定事态,还有就是不知道从哪里冒出来的信息说百度25号会完成大更新,多少站长等待着这个周四,更有甚者把它成为“黎明前的黑暗”!百度今天更新完成了?百度今天更新了吗?  闲云认为:不要再等待百度了,积极寻找属于自己的解决方法吧!
 第一、快速恢复被k网站方法一  这种恢复方法属于我们大家比较熟悉的操作方法,也许对于出现以下问题的朋友是一个不错的解决方法。
1、网站稳定性和访问速度的问题,如果你的站经常有打不开的情况就要注意了,我知道草根站长很多是没钱的穷孩子,比如像闲云这样的,但是为了网站被百度喜欢我们不买万网的服务器,怎么也得弄一个“二流”的空间吧?比如:新网、西部数码、互联等等。
评价:个人认为这个不是主要原因,虽然我们没有万网的服务器,但是大多数站长的网站打开速度还是很不错的。

admin5.com/upimg/allimg/120726/-1-120H611251R52.jpg" alt="" width="516" height="110" border="0" />
2、网站友链的问题,每天除了检查自己网站友链中有没有受到惩罚的,赶快扯下,如果想尽快恢复被降权的网站,可以试试一个站长分析的方法:将自己的友情链接列表做个保存,然后全部扯下来,等权重恢复了再重新加上去。这个方法的原理很简单,短时间内扯下所有友情链接,然后对方就是单链指向自己的网站,权重就是单项传递,大家都知道这个好处是很大的。
评价:虽然友链是个很重要的地方,但是友链中有被惩罚的网站也不一定会牵扯到自己的网站,一会上个图看看。还有就是扯下所有友链等待单链的权重传递,我想也是很麻烦的一件事情,大家在这个事情中对友链都十分小心,如果你没有了对方的链接,又有多少人还会保留你的链接呢?当然这个要看你的人际关系了。

admin5.com/upimg/allimg/120726/-1-120H6112532K5.jpg" alt="" width="579" height="88" border="0" />
虽然快照不是隔天,也是很不错的,今日收录也还行,要知道我这个网站快一年没有更新了,前几天弄了几篇文章给新网站带外链,不用原创,发布就收录。我们看看它的友链吧。

admin5.com/upimg/allimg/120726/-1-120H6112555141.jpg" alt="" width="600" height="206" border="0" />

admin5.com/upimg/allimg/120726/-1-120H6112640323.jpg" alt="" width="600" height="206" border="0" />
一个17个友链,没有快照,快照停滞,没有反链的占据了一半以上,我也懒得去管理它,但是并没有影响它的排名、收录、快照。www.cdgexw8.com
3、文章大量采集被k的话,增加原创文章,然后给原创文章做点高质量的外链,原创文章是站长很头大的问题。昨天在时间财富威客网站看到很多网站花钱来买原创,价格在2-5元一篇,文章质量如何不做说明,但是是原创,自己写不出那么多原创就花点小钱吧,100元应该可以得到足够多的网友原创文章了。
 第二、快速恢复被k网站方法二  这个方法的简单流程:增加原创文章+增加高质量外链+提高访问量(这是方法中最重要的点!)提供此方法的站长这样描述:无论是贴吧、论坛等,想尽一切办法增加网站链接点击进入量。
评价:虽然闲云不知道这个方法到底行不行,但是很有理论支持!原创文章和高质量外链不用多说,想法增加网站的流量,然后稳定这个访问量,这应该算作是网站的用户体验“虚拟提高”,百度这次k站的最大“理由”就是提高用户体验。
 第三、快速恢复被k网站方法三  
admin5.com/upimg/allimg/120726/-1-120H6112G9424.jpg" alt="" width="600" height="344" border="0" />
这个方法同样是提高网站的“虚拟”用户体验度,比如:添加百度大拇指、添加百度分享、提高网站文章评论数量等等。如果自己网站没有如此大的流量支撑来提高用户体验(当然这是废话,呵呵,网站降权了被k了,哪里还有这么多流量!)可以花点钱找点“水军”来帮你做,威客平台是个不错的选择。
评价:同样是提高网站的用户体验恢复网站的方法,闲云认为可以将第二第三种方法结合起来,应该能起到更大的作用。分享这些方法的站长基本都说可以在一个星期内恢复,这个时间大家不用太注重,方法对于每一个不同的网站情况也是不同的。

admin5.com/upimg/allimg/120726/-1-120H6112J0352.jpg" alt="" width="600" height="396" border="0" />
给大家奉上夫唯老师的seo五条金律:
1)你是否是最重要的。
2)你是什么。
3)你是否是原创的  4)你是否是最新的
5)你是否是最受欢迎的。www.njhdcs.com
写在最后:本文http://www.shxhdkfp.com站长支持供稿,闲云只是把这些方法做一个总结,大家有不同意见那是一定的,我们一起交流,希望大家的网站能尽快恢复,草根不容易,度娘你能对我们好点吗?!

转:http://hi.baidu.com/%C0%B4%C1%BD%B8%F9%CF%E3%B3%A6/blog/item/a59a610fa26207ed37d12224.html

各文档所在位置
日志文件 /var/log/varnish/varnish.log
可执行程序 /usr/local/varnish/bin
缓冲文件 /var/vcache
配置文件 /usr/local/varnish/vcl.conf
启动参数 /etc/sysconfig/varnish
启动脚本 /etc/rc.d/init.d/varnish
/etc/rc.d/init.d/varnishlog

创建www用户和组,以及Varnish缓存文件存放目录(/var/vcache):
/usr/sbin/groupadd www -g 48
/usr/sbin/useradd -u 48 -g www www
mkdir -p /var/vcache
chmod +w /var/vcache
chown -R www:www /var/vcache

创建日志文件,并授予www用户权限访问
mkdir -p /var/log/varnish
chmod +w /var/log/varnish
chown -R www:www /var/log/varnish

可能需要安装如下包
[CENTOS]yum install ncurses-devel
[UBUNTU]apt-get install libncurses5-dev

编译安装
./configure –prefix=/usr/local/varnish
make
make install

yum -y install wget --noplugins
wget freevps.us/downloads/nginx-centos-6.sh -O - | bash

注意安装完成后 php-fpm 默认跑在 apache 用户上。

安装完成后,如果你需要的 PHP 扩展未安装,可输入如下命令查询:

yum list | grep ^php*

找到了扩展的名字,就可以直接安装了:

# 以 php memcache 扩展为例
yum install -y php-pecl-memcached

此外还遇到的问题是 DOMDocument 找不到,直接 yum 安装 php-xml:

yum install -y php-xml

所有扩展 yum 安装完成后都需要重新启动 / 载入 php-fpm。
贴下内容来看看(非最新版本,请直接下载 .sh 文件):

#!/bin/bash

##################
# disable apache #
##################
service httpd stop 
chkconfig httpd off
service xinetd stop
chkconfig xinetd off
service saslauthd stop
chkconfig saslauthd off
service sendmail stop
chkconfig sendmail off
service postfix stop
chkconfig postfix off

#Optimize yum on OpenVZ
if [ -e "/proc/user_beancounters" ]
then
  sed -i 's/plugins=1/plugins=0/' /etc/yum.conf
fi

#remove all current PHP and MySQL, will reinstall later. Also, remove apache 
yum -y remove httpd php mysql rsyslog sendmail postfix

###################
# Add a few repos #
###################
# install the Atomic repo for php and nginx (may use epel for nginx depending on version)
wget -q -O - http://www.atomicorp.com/installers/atomic | sh

# RPMForge for nginx dependencies
rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm

#EPEL for syslog-ng and nginx (may use atomic for nginx depending on version)
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm

################################
# Install PHP, NGINX and MySQL #
################################
#yum install GeoIP libGeoIP.so.1 --enablerepo=repoforge
yum -y install mysql-server php-fpm php-mysql php-gd nginx nano exim syslog-ng

#################
# install MySQL #
#################
#yum -y install mysql-server
cat > /etc/my.cnf <<END
[mysqld]
default-storage-engine = myisam
key_buffer = 8M
query_cache_size = 8M
query_cache_limit = 4M
max_connections=25
thread_cache=1
skip-innodb 
query_cache_min_res_unit=0
tmp_table_size = 4M
max_heap_table_size = 4M
table_cache=256
concurrent_insert=2 
END
echo  Do not worry if you see a error stopping MySQL or NGINX
/etc/init.d/mysqld stop
/etc/init.d/mysqld start

####################
# Set up NGINX PHP #
####################
cat > /etc/nginx/php <<END
index index.php index.html index.htm;

location ~ \.php$ {

   include fastcgi_params;
    fastcgi_intercept_errors on;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
  try_files \$uri =404;
    fastcgi_pass 127.0.0.1:9000;
    error_page 404 /404page.html; #makes nginx return it's default 404 
#	page instead of a blank page

} 
END

cat > /etc/nginx/nginx.conf <<END
user              nginx nginx;
worker_processes  2;

error_log         logs/error.log;

pid               logs/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    client_max_body_size 64M;
    sendfile        on;
    tcp_nopush      on;

    keepalive_timeout  3;

    gzip  on;
    gzip_comp_level 2;
    gzip_proxied any;
    gzip_types      text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;

    server_tokens off;

    include /etc/nginx/conf.d/*;
} 
END
rm /etc/nginx/conf.d/*
cat > /etc/nginx/conf.d/default.conf <<END
server {
    listen 80 default;
    server_name _;
    root /var/www/html;
    include php;

  } 
END
mkdir /usr/share/nginx/logs/
service nginx restart
chkconfig nginx on
chkconfig mysqld on

cat > /etc/php-fpm.d/www.conf <<END
; Start a new pool named 'www'.
[www]

; The address on which to accept FastCGI requests.
; Valid syntaxes are:
;   'ip.add.re.ss:port'    - to listen on a TCP socket to a specific address on
;                            a specific port;
;   'port'                 - to listen on a TCP socket to all addresses on a
;                            specific port;
;   '/path/to/unix/socket' - to listen on a unix socket.
; Note: This value is mandatory.
listen = 127.0.0.1:9000

; Set listen(2) backlog. A value of '-1' means unlimited.
; Default Value: -1
;listen.backlog = -1

; List of ipv4 addresses of FastCGI clients which are allowed to connect.
; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original
; PHP FCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address
; must be separated by a comma. If this value is left blank, connections will be
; accepted from any ip address.
; Default Value: any
listen.allowed_clients = 127.0.0.1

; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server. Many
; BSD-derived systems allow connections regardless of permissions. 
; Default Values: user and group are set as the running user
;                 mode is set to 0666
;listen.owner = nobody
;listen.group = nobody
;listen.mode = 0666

; 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

; Choose how the process manager will control the number of child processes.
; Possible Values:
;   static  - a fixed number (pm.max_children) of child processes;
;   dynamic - the number of child processes are set dynamically based on the
;             following directives:
;             pm.max_children      - the maximum number of children that can
;                                    be alive at the same time.
;             pm.start_servers     - the number of children created on startup.
;             pm.min_spare_servers - the minimum number of children in 'idle'
;                                    state (waiting to process). If the number
;                                    of 'idle' processes is less than this
;                                    number then some children will be created.
;             pm.max_spare_servers - the maximum number of children in 'idle'
;                                    state (waiting to process). If the number
;                                    of 'idle' processes is greater than this
;                                    number then some children will be killed.
; Note: This value is mandatory.
pm = dynamic

; The number of child processes to be created when pm is set to 'static' and the
; maximum number of child processes to be created when pm is set to 'dynamic'.
; This value sets the limit on the number of simultaneous requests that will be
; served. Equivalent to the ApacheMaxClients directive with mpm_prefork.
; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP
; CGI.
; Note: Used when pm is set to either 'static' or 'dynamic'
; Note: This value is mandatory.
pm.max_children = 5

; The number of child processes created on startup.
; Note: Used only when pm is set to 'dynamic'
; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2
pm.start_servers = 1

; The desired minimum number of idle server processes.
; Note: Used only when pm is set to 'dynamic'
; Note: Mandatory when pm is set to 'dynamic'
pm.min_spare_servers = 1

; The desired maximum number of idle server processes.
; Note: Used only when pm is set to 'dynamic'
; Note: Mandatory when pm is set to 'dynamic'
pm.max_spare_servers = 3

; The number of requests each child process should execute before respawning.
; This can be useful to work around memory leaks in 3rd party libraries. For
; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
; Default Value: 0
pm.max_requests = 500

; The URI to view the FPM status page. If this value is not set, no URI will be
; recognized as a status page. By default, the status page shows the following
; information:
;   accepted conn    - the number of request accepted by the pool;
;   pool             - the name of the pool;
;   process manager  - static or dynamic;
;   idle processes   - the number of idle processes;
;   active processes - the number of active processes;
;   total processes  - the number of idle + active processes.
; The values of 'idle processes', 'active processes' and 'total processes' are
; updated each second. The value of 'accepted conn' is updated in real time.
; Example output:
;   accepted conn:   12073
;   pool:             www
;   process manager:  static
;   idle processes:   35
;   active processes: 65
;   total processes:  100
; By default the status page output is formatted as text/plain. Passing either
; 'html' or 'json' as a query string will return the corresponding output
; syntax. Example:
;   http://www.foo.bar/status
;   http://www.foo.bar/status?json
;   http://www.foo.bar/status?html
; Note: The value must start with a leading slash (/). The value can be
;       anything, but it may not be a good idea to use the .php extension or it
;       may conflict with a real PHP file.
; Default Value: not set 
;pm.status_path = /status

; The ping URI to call the monitoring page of FPM. If this value is not set, no
; URI will be recognized as a ping page. This could be used to test from outside
; that FPM is alive and responding, or to
; - create a graph of FPM availability (rrd or such);
; - remove a server from a group if it is not responding (load balancing);
; - trigger alerts for the operating team (24/7).
; Note: The value must start with a leading slash (/). The value can be
;       anything, but it may not be a good idea to use the .php extension or it
;       may conflict with a real PHP file.
; Default Value: not set
;ping.path = /ping

; This directive may be used to customize the response of a ping request. The
; response is formatted as text/plain with a 200 response code.
; Default Value: pong
;ping.response = pong

; The timeout for serving a single request after which the worker process will
; be killed. This option should be used when the 'max_execution_time' ini option
; does not stop script execution for some reason. A value of '0' means 'off'.
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
; Default Value: 0
;request_terminate_timeout = 0

; The timeout for serving a single request after which a PHP backtrace will be
; dumped to the 'slowlog' file. A value of '0s' means 'off'.
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
; Default Value: 0
;request_slowlog_timeout = 0

; The log file for slow requests
; Default Value: /var/log/php-fpm.log.slow
;slowlog = /var/log/php-fpm.log.slow

; Set open file descriptor rlimit.
; Default Value: system defined value
;rlimit_files = 1024

; Set max core size rlimit.
; Possible Values: 'unlimited' or an integer greater or equal to 0
; Default Value: system defined value
;rlimit_core = 0

; Chroot to this directory at the start. This value must be defined as an
; absolute path. When this value is not set, chroot is not used.
; Note: chrooting is a great security feature and should be used whenever 
;       possible. However, all PHP paths will be relative to the chroot
;       (error_log, sessions.save_path, ...).
; Default Value: not set
;chroot = 

; Chdir to this directory at the start. This value must be an absolute path.
; Default Value: current directory or / when chroot
;chdir = /var/www

; Redirect worker stdout and stderr into main error log. If not set, stdout and
; stderr will be redirected to /dev/null according to FastCGI specs.
; Default Value: no
;catch_workers_output = yes

; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from
; the current environment.
; Default Value: clean env
;env[HOSTNAME] = $HOSTNAME
;env[PATH] = /usr/local/bin:/usr/bin:/bin
;env[TMP] = /tmp
;env[TMPDIR] = /tmp
;env[TEMP] = /tmp

; Additional php.ini defines, specific to this pool of workers. These settings
; overwrite the values previously defined in the php.ini. The directives are the
; same as the PHP SAPI:
;   php_value/php_flag             - you can set classic ini defines which can
;                                    be overwritten from PHP call 'ini_set'. 
;   php_admin_value/php_admin_flag - these directives won't be overwritten by
;                                     PHP call 'ini_set'
; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no.

; Defining 'extension' will load the corresponding shared extension from
; extension_dir. Defining 'disable_functions' or 'disable_classes' will not
; overwrite previously defined php.ini values, but will append the new value
; instead.

; Default Value: nothing is defined by default except the values in php.ini and
;                specified at startup with the -d argument
;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
;php_flag[display_errors] = off
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
;php_admin_value[memory_limit] = 32M
php_admin_value[upload_max_filesize] = 32M
END

mkdir /var/www
mkdir /var/www/html/
useradd apache
service php-fpm start
chkconfig php-fpm on
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
service iptables save

wget freevps.us/downloads/setup-vhost.sh -O /bin/setup-vhost
chmod 755 /bin/setup-vhost
echo "alias nano='nano -w'" >> ~/.bashrc
clear
echo Installation done.
echo to create a vhost, run
echo setup-vhost example.com
echo do not include the www. subdomain.