分类目录归档:网站建设

处理wordpress站点遇到错误的方法

wordpress及运行环境比如php版本的不断更新,但是很多主题却没有更新,如果新版本的wordpress使用旧主题时,有时候会出现兼容性的问题,会导致首页报错,网站无法正常运行。

类似于以下的信息:

您的站点遇到了致命错误。

了解更多在WordPress中调试的信息。

如果是更换主题导致的,其实解决起来也非常简单,只需要在数据库中wpoptions下,将template和stylesheet修改成正常主题即可。

解决浏览器缓存导致不能显示最新页面问题的办法

由于浏览器缓存机制的原因,使得浏览器在访问过页面后,对该页面产生缓存,当再次访问该页面,一般浏览器会直接从缓存读取,而不显示页面的最新内容,对于这种问题,我们可以在浏览器的选项中设置,如设置IE的IE选项,常规——浏览历史记录——设置————Internet临时文件,检查存储的页面的较新版本,默认是“自动“,将”自动”改为“每次访问网页时”,即可解决该问题。

这四个选项的作用和意义如下:

每次访问网页时”选项表示浏览器每次访问一个页面时,不管浏览器是否缓存过此页面,都要向服务器发出访问请求。这种设置的优点是实时性很强,肯定能够访问到网页的最新内容,但是如果网页内容很少更新,这种设置的访问效率就比较低了。

每次启动Internet Explorer时”选项表示在浏览器的每次启动运行期间,在第一次访问一个页面时,不管浏览器是否缓存过此页面,都要向服务器发出访问请求,但是在浏览器的本次启动运行期间对该页面的后续访问,浏览器将不再向服务器发出访问请求,而是直接使用缓存中的内容。这种设置具有较高的访问效率,同时也兼顾了较好的实时性,它可以保证每次启动浏览器后看到的都是最新的网页内容。

自动”选项与“每次启动Internet Explorer时检查”选项的功能相似,只是对图像的访问有所不同,如果随着时间的推移,浏览器发现网页上的图像更新并不频繁,这样,即使浏览器在对某个已缓存的图像执行本次启动运行以来的第一次访问时,它也不一定会向服务器发出访问请求,而是干脆直接使用缓存中的内容。“自动”选项是浏览器的默认设置,所以,几乎所有人的浏览器都是按照这种方式工作的,这个选项的作用和意义应该成为读者熟悉的重点。

从不”选项表示浏览器不管在什么情况下访问一个页面时,只要能够在本地找到此页面的缓存信息,浏览器就不会向服务器发出访问请求,而是直接使用缓存的内容。这种设置的优点是访问效率很高,但是如果服务器端的网页内容更新后,浏览器看到的内容很可能是过期的内容。

附:浏览器缓存机制介绍,详见http://www.eumz.com/2015-09/1227.html

浏览器缓存机制介绍

浏览器缓存机制,其实主要就是HTTP协议定义的缓存机制(如: Expires; Cache-control等)。但是也有非HTTP协议定义的缓存机制,如使用HTML Meta 标签,Web开发者可以在HTML页面的<head>节点中加入<meta>标签,代码为:<META HTTP-EQUIV=”Pragma” CONTENT=”no-cache”>,该代码的作用是告诉浏览器当前页面不被缓存,每次访问都需要去服务器拉取。使用上很简单,但只有部分浏览器可以支持,而且所有缓存代理服务器都不支持,因为代理不解析HTML内容本身。

Expires是Web服务器响应消息头字段,在响应http请求时告诉浏览器在过期时间前浏览器可以直接从浏览器缓存取数据,而无需再次请求。不过Expires 是HTTP 1.0的东西,现在默认浏览器均默认使用HTTP 1.1,所以它的作用基本忽略。

Cache-Control与Expires的作用一致,都是指明当前资源的有效期,控制浏览器是否直接从浏览器缓存取数据还是重新发请求到服务器取数据。只不过Cache-Control的选择更多,设置更细致,如果同时设置的话,其优先级高于Expires。

http协议头Cache-Control
值可以是public、private、no-cache、no- store、no-transform、must-revalidate、proxy-revalidate、max-age
各个消息中的指令含义如下:
Public指示响应可被任何缓存区缓存。
Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效。
no-cache指示请求或响应消息不能缓存
no-store用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。
max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应。
min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应。
max-stale指示客户机可以接收超出超时期间的响应消息。如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。

Last-Modified/If-Modified-Since
Last-Modified/If-Modified-Since要配合Cache-Control使用。
Last-Modified:标示这个响应资源的最后修改时间。web服务器在响应请求时,告诉浏览器资源的最后修改时间。
If-Modified-Since:当资源过期时(使用Cache-Control标识的max-age),发现资源具有Last-Modified声明,则再次向web服务器请求时带上头 If-Modified-Since,表示请求时间。web服务器收到请求后发现有头If-Modified-Since 则与被请求资源的最后修改时间进行比对。若最后修改时间较新,说明资源又被改动过,则响应整片资源内容(写在响应消息包体内),HTTP 200;若最后修改时间较旧,说明资源无新修改,则响应HTTP 304 (无需包体,节省浏览),告知浏览器继续使用所保存的cache。

Etag/If-None-Match
Etag/If-None-Match也要配合Cache-Control使用。
Etag:web服务器响应请求时,告诉浏览器当前资源在服务器的唯一标识(生成规则由服务器觉得)。Apache中,ETag的值,默认是对文件的索引节(INode),大小(Size)和最后修改时间(MTime)进行Hash后得到的。
If-None-Match:当资源过期时(使用Cache-Control标识的max-age),发现资源具有Etage声明,则再次向web服务器请求时带上头If-None-Match (Etag的值)。web服务器收到请求后发现有头If-None-Match 则与被请求资源的相应校验串进行比对,决定返回200或304。

HTTP1.1中Etag的出现主要是为了解决几个Last-Modified比较难解决的问题:

Last-Modified标注的最后修改只能精确到秒级,如果某些文件在1秒钟以内,被修改多次的话,它将不能准确标注文件的修改时间;
如果某些文件会被定期生成,当有时内容并没有任何变化,但Last-Modified却改变了,导致文件没法使用缓存;
有可能存在服务器没有准确获取文件修改时间,或者与代理服务器时间不一致等情形。

Etag是服务器自动生成或者由开发者生成的对应资源在服务器端的唯一标识符,能够更加准确的控制缓存。Last-Modified与ETag是可以一起使用的,服务器会优先验证ETag,一致的情况下,才会继续比对Last-Modified,最后才决定是否返回304。

浏览器缓存行为还有用户的行为有关,见下图:

用户操作 Expires/Cache-Control Last-Modified/Etag
地址栏回车 有效 有效
页面链接跳转 有效 有效
新开窗口 有效 有效
前进、后退 有效 有效
F5刷新 无效 有效
Ctrl+F5刷新 无效 无效

所以,当浏览器第一次请求时:

浏览器第一次请求

当浏览器第二次请求时:浏览器第二次请求

 

附:解决浏览器缓存导致不能显示最新页面问题的办法,详见http://www.eumz.com/2015-09/1231.html

美国主机IX不再免费赠送多个独立域名了吗?

IXwebhosting在全球有很多用户,他们提供的几种主机方案,专家套餐、无限专业套餐、商务套餐都会赠送数个独立IP,对于IP地址(IPV4地址)较为稀缺的今天,这显得非常厚道!

但是今天打开IX网站,发现之前免费赠送的数个独立IP,目前只有一个是免费的,其余的都需要付费才可以使用,但是在IX中文网站,仍然没有这个改变,也许美国主机商IX真的不会再免费赠送多个独立域名了。

如何查询域名的A、MX、TXT、CNAME、DNS记录

1、查询域名的A记录

nslookup (空格) -qt=A (空格) 域名

例:查询命令nslookup -qt=a www.xxx.com

查询的结果:x.x.x.x就是A记录所指向的,

同样用这种方法可以在域名解析的时候查看域名是不是解析生效(一般情况下域名更改解析后都会在2个小时内生效)。

2、如果查询域名的MX记录:

nslookup (空格) -qt=mx (空格) 域名

3、同理可以查出txt,cname记录的值:

nslookup (空格) -qt=txt (空格) 域名

nslookup (空格) -qt=cname(空格) 域名

4、查询域名的DNS

nslookup (空格) -qt=ns (空格) 域名

这里qt的值不是DNS,是ns.

通过这样方便的命令,随时可以查看到你域名的动态。

域名解析设置中A,MX,CNAME,NS,TXT,AAAA,FRAME记录URL转发TTL值的解释

A记录
WEB服务器的IP指向   A (Address) 记录是用来指定主机名(或域名)对应的IP地址记录。   说明:用户可以将该域名下的网站服务器指向到自己的web server上。同时也可以设置自己域名的二级域名。   就是说:通过A记录,大家可以设置自己的不同域名转到不同的IP上去。

MX记录
Mail Exchange:邮件路由记录   说明:用户可以将该域名下的邮件服务器指向到自己的mail server上,然后即可自行操作控制所有的邮箱设置。您只需在线填写您服务器的主机名或主机IP地址,即可将您域名下的邮件全部转到您自己设定相应的邮件服务器上。 就是将你的域名中邮件服务器分开,将它设置到其它的IP去。   比如xxx.com,如果你设置A记录是指向1.1.1.1,而MX记录你设置是指向2.2.2.2,那么你的DNS服务器接收到别人的邮件路由请求时就将会将它的请求解释到2.2.2.2上去。而别人访问你的网页的时候仍然是访问1.1.1.1。

CNAME记录
CNAME (Canonical Name)记录,(alias from one domain name to another)通常称别名指向   可以将注册的不同域名统统转到一个主域名上去。与A记录不同的是,CNAME别名记录设置的可以是一个域名的描述而不一定是IP地址。

NS记录
NS(NameServer)记录是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。一般你注册的域名都会有默认的DNS解析服务器。

TXT记录
TXT 记录,一般指为某个主机名或域名设置的说明,如:   admin IN TXT “管理员, 电话:xxxxxxxx〃   mail IN TXT “邮局信息 所属公司”   xxx IN TXT “contact: xxx@google.com”   也就是您可以设置 TXT ,以便使别人联系到您。   TXT记录的一个重要的作用就是设置SPF记录,以防止你的邮件服务器发送的邮件被当作垃圾邮件。   SPF是为了防范垃圾邮件而提出来的一种DNS记录类型,它是一种TXT类型的记录,它用于登记某个域名拥有的用来外发邮件的所有IP地址。   按照SPF的格式在DNS记录中增加一条TXT类型的记录,将提高该域名的信誉度,同时可以防止垃圾邮件伪造该域的发件人发送垃圾邮件。SPF是跟DNS相关的一项技术,它的内容写在DNS的txt类型的记录里面。mx记录的作用是给寄信者指明某个域名的邮件服务器有哪些。SPF的作用跟mx相反,它向收信者表明,哪些邮件服务器是经过某个域名认可会发送邮件的。由定义可以看出,SPF的作用主要是反垃圾邮件,主要针对那些发信人伪造域名的垃圾邮件。

AAAA记录
AAAA记录是一个指向IPv6地址的记录。   可以使用nslookup -qt=aaaa xxx.com来查看AAAA记录。

Frame记录
隐藏转发
访问您的域名时,将会自动跳转到您所指定的另一个网络地址(URL),此时在浏览器地址栏显示的是你原域名地址。

URL转发
URL (Uniform Resource Locator )转发:网址转发   功能:如果您没有一台独立的服务器(也就是没有一个独立的IP地址)或者您还有一个域名B,您想访问A域名时访问到B域名的内容,这时您就可以通过URL转发来实现。   url转发可以转发到某一个目录下,甚至某一个文件上。而cname是不可以,这就是url转发和cname的主要区别所在。

TTL值
TTL值全称是“生存时间(Time To Live)”,简单的说它表示DNS记录在DNS服务器上缓存时间。很多IDC的DNS服务器默认即时生效,客户的增加修改一般不超过15分钟可以使用。

wordpress与discuz的搬家工作

一、对于常见版本的wordpress版本,要完成搬家工作,需进行以下两部分操作:
1、修改wordpress目录下的wp-config.php文件,更改里面的数据库名称、数据库用户名、用户密码、数据库主机地址。(仅更换主机)
2、修改数据库wpoptions表中的siteurl,改为新域名或者新IP地址,操作完成。(也更换主机)

二、对于discuz7.2版本的搬家操作(只讨论更换主机):
1、修改discuz目录下的config.inc.php,更改里面的数据库名称、数据库用户名、用户密码、数据库主机地址,注意这里有两处要改
2、修改uc_server/data下的config.inc.php,更改里面的数据库名称、数据库用户名、用户密码、数据库主机地址,操作完成。

WordPress降低CPU占用率的5个方法

降低WordPress程序CPU占用率的5个方法如下:

第一、防止盗链设置。检查一下我们的WP博客程序是不是上传分享了不少的图片或者可下载文件。如果有,我们需要进行远程调用调整,尽量不要放在本地空间中,这样可以减低我们网站的流量和CPU占用量。如果我们希望放在本地空间稳定操作,我们可以采用防盗链设置,可能别人引用了我们的文件或者图片导致的。一般我们可以通过HTACCESS设置或者CPANEL等空间面板设置;

第二、减少插件。虽然WORDPRESS程序非常好,我们也很喜欢。主要是其有非常强大的插件支持,可以实现很多绚丽的效果。但好效果肯定会给我们的空间占用大量的工作量,导致CPU超标。我们需要对其进行调整。没有必要的插件不要使用,能不使用插件就不要使用插件。我们可以搜索看看,有很多插件都被做成无插件版本,可以在代码中调整设置。

第三、设置评论。群发评论软件会导致我们的CPU超标和数据过大。我看到我的博客被群发评论一天达到几百上千,一直没有去整理删除,总评论数达到几 十万,这样使得我的数据库容易暴库,提高了检索的工作任务。当然会引起CPU超标,我们需要对评论进行设置验证。采用比较繁琐的验证码等方法。

第四、尽量不要设置定时发布。我们很多朋友做淘宝客采用的WP程序,喜欢定时发布文章,这样在几天或者几个月就不需要更新,会自动预设的文章自动发布。我检测到,自动发布功能是很方便,但非常占用内容,我们需要调整。

第五、流量过大就更换主机。流量如果真实很大,我们需要更换好的主机或者服务器。因为这样真实的流量肯定 会给我们带来收益,为了更好的发展,我们需要一个大房子。不要到时候空间被暂停导致我们网站受损失。