分类: 建站那点事

自动定时备份、优化数据库的方法

此文章存在严重问题,请看更新文章:自动优化及备份网站数据的解决方案(解决了一个困扰我8个月的问题)

 

昨天想去看看我的论坛,结果非常的卡。

最后好不容易“卡”进了控制面板,去“数据库”菜单里看看,结果显示”帖子“数据表有10000多碎片,赶紧优化一下,优化完果然速度快多了。

我想,我的主机支持Cron计划任务,我可以写一个优化、备份数据库的脚本让它定时执行啊!

说干就干,经过一番搜索,很快找到了自动优化数据库的方法,但是自动备份似乎遇到了一点麻烦,因为我找到了备份数据库的代码只能备份本地的数据库,而Godaddy文件和数据库是不在一台服务器上的。

最后,终于找到了备份远程数据库的代码。

为了充分体现开源精神,我特地把实现自动优化、备份数据库的脚本源码贴上来。

(注:请将以下代码重命名为扩展名是.sh的文件,并添加到“计划任务”里)

 mysqlcheck -h数据库地址 -o 数据库名 -u用户名 -p密码 #优化数据库
 cd /home/content/44/6531044/backup #转到backup目录(请按情况自己改)
 stamp=$(date+%y%m%d) #将当前时间写入stamp变量
 mysqldump -h数据库地址 -u用户名 -p密码 数据库名>db_backup_$stamp.sql #生成名称为db_backup_备份时间 的SQL备份文件
 bzip2 -z -9 -f db_backup_$stamp.sql #使用bzip2压缩SQL备份文件

注意,以上代码在使用时,请将“数据库地址、密码”这样的文字替换为实际数据,代码中没有空格的地方,如 -h数据库地址 ,在使用时请替换为-h127.0.0.1,而不能为 -h 127.0.0.1

本人惨遭和谐,现已恢复

今天早上,本人将Discuz 7.2升级为DiscuzX 1.5,升级完后,发现网站速度奇慢。

想去Godaddy主机控制面板中看看,却发现连接被重置,无法正常打开。

于是想连接SSH做代理进入控制面板,却发现SSH的连接老是被打断,无法正常连接。

去了“美国主机侦探”论坛,发现几乎所有的的Godaddy都无法访问,速度奇慢,有人说,是因为非常时期导致封锁力度加大,我也认同此观点。

心想:

幸好我有机器猫的任意门备用,立即打开任意门,说了声:“biergaizi.com”,就急忙钻了进去,却发现门外只有一面墙,把头撞了个包。我的Godaddy主机的DNS解析被严重干扰,无法正常连接到DNS服务器。

又使用GTunnel的Skype模式,发现同样存在此问题,天啊,饶了我吧!

最新更新:

刚刚发现Ping的丢包率已经急剧下降,SSH也已可以正常连接,但我不知道下一次抽风会在什么时候。

附:

和谐:

解封:

终于解决了论坛Archiver出现404错误的问题

大家都知道,Discuz的Archiver功能可以让看帖时页面更简洁,对搜索引擎更友好。

但是,站长论坛的Archiver却一直有个问题:

这样的页面会显示404错误
http://bbs.biergaizi.com/archiver/fid-4.html

但是如果把网址改成
http://bbs.biergaizi.com/archiver/?fid-4.html

就可以显示了,真是神奇的问号。

为此,我的Google管理员工具一直提示有死链接,收到N个警告信息。

今天在搜索引擎上不停的搜索,发现这个帖子:
http://www.discuz.net/thread-920400-1-1.html

便按照“下砂”的方法把

RewriteRule ^archiver/([a-z0-9\-]+\.html)$ archiver/index.php?$1

修改为

RewriteRule ^archiver/((fid|tid)-[\w\-]+\.html)$ archiver/index.php?$1


刚才测试一下,果然正常了,估计我的网站权重就要提上去了!

修复了“Wp Super Cache”

很早以前,我就安装了 Wp Super Cache ,目的是为了让我的博客速度变快。

但是,Wp Super Cache 一直报这个错误:
WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed!

因为这个插件不重要,所以一直没管它,

今天,我重装了Wp Super Cache,终于恢复正常了。

以后,大家访问我的博客也许会变快哦!

服务器DOWN掉了15分钟

正在弄我的微博时,突然网站无法访问。 紧接着,我的网站监控服务发来警告,网站无法访问。 完了,彻底完了。 前2天,Godaddy就DOWN了一次,今天是旧病复发啊! 我向客服投了诉,等待恢复正常。 可没想到,不一会就正常了,真是抽风啊。

 

应该不是GFW,因为”美国主机侦探”论坛上,不少人反应Godaddy抽风的现象,而且每次抽风,那个论坛人气就增加不少,呵呵。

升级了Dedecms和WordPress;启用伪静态;优化网站

前几天,大家有没有发现http://biergaizi.com/的网页换了一个很清爽的模板,这是因为,我的主站从Dedecms V5.5升级到了V5.6,这主要是优化了会员功能,不过目前根本没什么会员,那些会员功能也就用处不大了。

而且,目前还出现了一个奇怪的问题,就是文章的说明和标题非常不整齐,像这样:

不知是不是模板有点小问题,还是因为旧文章和新文章的解析模板不相同所致,那就慢慢找原因吧!

今天又把Wordpress搬到了Godaddy的空间上,因为之前站长一直使用免费空间建站,好不容易找到一个稳定的,但是功能限制诸多,比如不支持外部链接。

所以我把博客放上去,一边在网站出现问题时仍能写博文。

但是现在我已经有稳定的空间了,我可不想忍受免费空间功能限制的折磨,因此我现在把博客签到Godaddy上面。

刚调试好,Wordpress就提示我“有新版本,是否升级?”,原来,我一直期待的3.0中文版发布了!立即升级,不到5分钟就升级完了;随后我又升级了Wordpress Super Cache。

终于体验到一件升级带来的便捷了。

我又启用的伪静态,很简单,在“设置”的“固定链接”中选择“自定义”,然后输入“/posts/%post_id%.html”(不含引号),然后你就会发现,所有的文章都会变成 ttp://biergaizi.info/posts/174.html 这样的伪静态地址了!

不过因为是在国外,速度不可能向国内那么理想,于是我使用Speed Page对我的网站进行检测,最后有严重问题,由于水平有限,只能优化这两项了:

1.未启用GZip压缩

2.没有充分利用浏览器缓存

于是,我在.htaccess上加上以下代码:

(1)启用GZip压缩

SetOutputFilter DEFLATE

AddOutputFilterByType DEFLATE text/html text/css image/gif image/jpeg image/png application/x-javascript

(2)利用浏览器缓存


ExpiresActive on
ExpiresByType text/html “access 2 day”
ExpiresByType text/css “access 2 day”
ExpiresByType application/javascript “access 1 month”
ExpiresByType text/plain “access 1 month”
ExpiresByType image/jpeg “access 1 month”
ExpiresByType image/gif “access 1 month”
ExpiresByType image/png “access 1 month”
ExpiresByType application/pdf “access 1 month”
ExpiresByType application/x-shockwave-flash “access 1 month”
ExpiresDefault “access 2 days”

不过我发现,GZip压缩的代码貌似只能放在最后,不然就出现500错误了。

好了,我的网站有了很大的改进!

只不过……到现在我对网站已经做出这么大动作了,现在就等搜索引擎对其狠狠地K和降权了!

站长最近3天做的工作(301重定向,启用伪静态,启用SSH)

最近站长比较忙,做了几件事情。

1.301永久重定向

最近站长更换了域名,但是必须做完301永久重定向才行,第一是方便用户从以前的地址访问,第二是让搜索引擎更新地址,不然旧域名失效后我的站点就完蛋了。

以下是实现方法:

要求:

1.用户输入mycatbbs.cn就会跳到biergaizi.com,
用户输入mycatbbs.cn/site就会跳转到biergaizi.com(主站从/site/搬到了根目录)
用户输入biergaizi.com/site就会跳转到biergaizi.com

2.用户输入bbs.mycatbbs.cn就会跳到bbs.biergaizi.com,
用户输入mycatbbs.cn/bbs,就会跳到bbs.biergaizi.com,
用户输入biergaizi.com/bbs,就会跳到bbs.biergaizi.com;

3.用户输入blog.mycatbbs.cn,就会跳到biergaizi.info,
用户输入mycatbbs.cn/blog,就会跳到biergaizi.info,
用户输入biergaizi.com/blog,就会跳到biergaizi.info;

实现方法:

将两个域名都绑定到空间上。

将mycatbbs.cn这个旧域名添加子域名bbs(即bbs.mycatbbs.cn),并绑定到bbs所在的/bbs目录下。
建立子域名blog(即blog.mycatbbs.cn),并绑定到blog的目录下,

建立一个.htaccess文件,#后面的是便于大家理解的注释,下面的注释对应这上面的一行代码,注释可以保留也可以去掉,不影响运行。

内容如下:

 RewriteEngine On
 #开始重写

 RewriteCond %{HTTP_HOST} mycatbbs.cn$ [NC]
 RewriteRule ^(.*)$ http://biergaizi.com/$1 [R=301,L]
 #(用户访问时)把用户地址栏中的把前面的mycatbbs.cn换成,
 #http://biergaizi.com/,这样的话下面的目录也有效了。
 #转向类型,301永久重定向。

 RewriteEngine On
 #开始重写

 RewriteCond %{HTTP_HOST} blog.mycatbbs.cn$ [NC]
 RewriteRule ^(.*)$ http://biergaizi.info/$1 [R=301,L]
 #(用户访问时)把用户地址栏中的把前面的blog.mycatbbs.cn换成,
 #http://biergaizi.info/,转向类型,301永久重定向。

 RewriteEngine On
 #开始重写

 RewriteCond %{HTTP_HOST} bbs.mycatbbs.cn$ [NC]
 RewriteRule ^(.*)$ http://bbs.biergaizi.com/$1 [R=301,L]
 #(用户访问时)把用户地址栏中的把前面的bbs.mycatbbs.cn换成,
 #http://bbs.biergaizi.com/,转向类型,301永久重定向。
 Redirect permanent /site/ http://biergaizi.com/
 #用户访问/site/目录时自动跳转为http://biergaizi.com/,permanent,
 #301永久重定向

 Redirect permanent /bbs/ http://bbs.biergaizi.com/
 #用户访问/bbs/目录时自动跳转为http://bbs.biergaizi.com/

 Redirect permanent /blog/ http://biergaizi.info/
 #用户访问/blog/目录时自动跳转为http://biergaizi.info/

2.Discuz伪静态

也通过写.htaccess的方法实现,这回上面的注释对应着下一行的代码。

如下:

 # 将 RewriteEngine 模式打开
 RewriteEngine On

 # 修改以下语句中的 /discuz 为你的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 /
 RewriteBase /

 # Rewrite 系统规则请勿修改
 RewriteRule ^archiver/((fid|tid)-[0-9]+\.html)$ archiver/index.php?$1
 RewriteRule ^forum-([0-9]+)-([0-9]+)\.html$ forumdisplay.php?fid=$1&page=$2
 RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ viewthread.php?tid=$1&extra=page\%3D$3&page=$2
 RewriteRule ^space-(username|uid)-(.+)\.html$ space.php?$1=$2
 RewriteRule ^tag-(.+)\.html$ tag.php?name=$1

这样伪静态就可以顺利启用而不会出现404错误了。

3.SSH

SSH不是SSL,SSL是HTTPS协议用的证书,SSH是一种很安全的远程管理软件,连接中的数据使用高强度加密,这样可以代替FTP使用,还可以当代理翻墙,呵呵。

开通方法:

点击控制面板中的SSH,然后第一个框输入国家编码,前面不用写+ 。
美国是0,中国是86,其他国家的自己查询,网上都有。

第二个框是电话号,如果手机直接填,座机要在前面填写区号再点座机号。
我是手机,我填写151****0306。

第三个是好像是分机号(直译:延迟时间)。没有的话,那就留空。

好了,点一下按钮确定吧。

再点击按钮后,会出现一个新页面,而2秒钟之内,你的电话就会响,电话那头的机器人会告诉你Hello然后说一串数字,比如one one two two five six,重复两遍,记好了。

电话那头说Goodbye的时候(晕,还再见呢),就可以挂机了。

把刚才那一串号码输进打开的那个新页面,如果正确,24小时后就会开通了!

使用Godaddy主机采集文章时异常中断的解决方法

想采集点东西,但是采集程序经常异常中断,要么404,要么500,甚至拒绝服务,今天找到的了解决方法。

首先我排除服务器的问题,现在美国那边是晚上,服务器负荷不会很大。

于是我连接上FTP,打开php.ini看看,发现allow_url_fopen = Off,于是把它打开,但是不起作用。

又打开php.ini,把max_input_time = 60 改为 120,没起作用, 采集仍然报错。

又加了max_execution_time = 120;upload_max_filesize = 20M。

那个上传大小虽然跟采集无关,也顺便加上。这回能采集了,但是一到17%就不动了,然后报错,有时候说MYSQL DOWN掉了,有时候说500错误。

怒!什么破SQL服务器呀,这么不稳定!

一气之下把max_execution_time、max_input_time的值都改为了3600,一个小时,不可能不行了吧!

这回我发现我的采集程序到17%报了一下错,但是继续运行了!

最后,采集成功。

看来,SQL服务器没问题,还是max_execution_time、max_input_time的值设的过小,导致采集程序还没运行完就被Kill了,不过,采集完千万要把值改回来,否则,有可能以后陷入死循环就永远出不来了!

注:只对LINUX有效,WIN主机没有Php.ini,就只能在一边无奈了!

折腾够了,购买国外主机;网站恢复,有大变更!

在使用免费空间的两年里,站长使用过了:

用着胆战心惊总认为我的站会被停的5944骗子免费主机;
用着不踏实总认为信产部会杀过来的国内免费主机;
用着别扭虽是20G但总是被和谐的德国主机;
电信能上我网通不能上的某某论坛大力推荐主机;
速度不错但是各种函数都不支持的国外主机;
非常好用但最终被停的000webhost免费主机…………

现在彻底折腾够了,购买的godaddy的收费主机,这可是全球第一的主机公司啊,不用担心被骗。

他们的主机支持支付宝,支付很方便,只用了50$,折合人民币300多,就买了一款10G的主机,而这才是最基本的方案,它们的优惠方案一年也只要500人民币,就可以买一款100G的主机。

主机的功能很强大!

一开始我买的LINUX主机的IP是被和谐的,按照网上的方法请求更换操作系统到WINDOWS,IP果然就变成了可用的。

不过,只有LINUX才可采集,又换回LINUX,不过又变成了被和谐的那个IP,我的访问者总不能永远翻墙浏览吧!最恨那些用国外主机作非法站的人,把这么多人都牵连了!

于是我准备买独立IP,以防止共享IP被和谐。但是也太贵了,一年不亚于主机的钱。

后来根据网上的可靠情报,购买SSL证书(你输密码是总是有的一个“安全访问”,那个连接就是连接到SSL加密的地址)还送独立IP!

而且支付的时候使用cjcssl12b1这个优惠码,可以便宜到一年12.99$,太值了!

又在国内购买了一个80块的域名,这样就算安定下来了。

现在网站做出的改变如下:

1.停用mycatbbs.cn域名,改用biergaizi.com(“比尔盖子”的拼音),
主站 biergaizi.com
论坛 bbs.biergaizi.com
站长博客 blog.biergaizi.com 2011 8月更新 已变为biergaizi.info

还有就是以前的域名不能加www,现在使用www.biergaizi.com也可以正常访问了!

目前域名部分地区仍未生效,如果某些地区无法访问,或者将来出现什么问题,都可以尝试使用173.201.135.19这个IP访问。
(主站直接输入,论坛 173.201.135.19/bbs)

2.因为本站意外被停,数据只能全部回档到今年4月的数据,后来新注册的会员无法访问,一些帖子和恢复将丢失,请谅解,因为这是一次意外。

3.godaddy主机,电信访问慢,网通访问快,请电信用户多等待一会。

版权所有 © 2025 比尔盖子 博客

主题设计 Anders Noren返回顶部 ↑