Written by 正冰 on 2009, October 8, 2:29 PM
工作室运维的区域性网站要做重大改版,向着门户型改变:
discuz 6.1升级7.0,ucenter 1.0升级1.5,uchome 1.5升级2.0,并将增加ecshop商城以及点评系统,论坛、空间、商城、点评四个系统采用uc统一管理,这样的话可以让产品更好地整合在一起。当 然,卸载任何一个系统也不会影响另外系统的正常运行。
废话说完,进入正题
原网站真正意义上起到作用的就是一个bbs,而该bbs的网址类似www.abc.com/bbs
考虑到升级后将bbs作为主体来运维(表现形式类似19楼,跳出论坛的范围,走社区化道路),我建议采用根目录直接放置论坛系统,而其他几个系统放置在域名的二级目录,如下:
home.abc.com shop.abc.com dp.abc.com
一级目录相比较二级目录权重高,一级域名自然也比二级域名权重高。考虑到整体以discuz论坛作为重点,自然主次分明。而且划分出二级域名,也方便以后网站的分离和管理。
因为论坛入口从原先的www.abc.com/bbs变成了www.abc.com,如果直接这样搬迁,那么之前做的seo必然会丢失(google跟baidu找过来都是死链),可能导致seo的禁忌:大片网页删除甚至域名被K了。
那么我只要将之前在bbs目录下的规则以301永久重定向到根目录下就可以了,这样搜索引擎也不会“感冒”。
- #之前的目录跳转到现在的根目录 301 永久重定向 permanent;
- rewrite ^/bbs/archiver/((fid|tid)-[\w\-]+\.html)$ /archiver/index.php?$1 permanent;
- rewrite ^/bbs/forum-([0-9]+)-([0-9]+)\.html$ /forumdisplay.php?fid=$1&page=$2 permanent;
- rewrite ^/bbs/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /viewthread.php?tid=$1&extra=page\%3D$3&page=$2 permanent;
- rewrite ^/bbs/space-(username|uid)-(.+)\.html$ /space.php?$1=$2 permanent;
- rewrite ^/bbs/tag-(.+)\.html$ /tag.php?name=$1 permanent;
- #如果bbs下文件或目录不存在则重定向到index.php
- #if (!-e $request_filename) { rewrite ^/bbs/(.*) /index.html?$1&; }
检测下是否重定向成功了
301重定向后在线检测工具[HTTP头状态检测]:
http://www.seoconsultants.com/tools/headers.asp
如果某个网址是永久重定向301效果,则必然显示:HTTP/1.1 301 Moved Permanently
» 阅读全文
Filed under: 技术归总
1 Comments
0 Trackbacks
9953 Views
Written by 正冰 on 2009, October 8, 5:05 AM
通宵做论坛的升级搬迁工作,安安静静地做着自己的事情。遇到了一个小问题:之前的管理者没告诉我UCenter创始人的密码,咋办?
实验成功的方法如下:
- <?php
- $ucfounderpw = '密码';
- $ucsalt = rand(100000,999999);
- $ucfounderpw = md5(md5($ucfounderpw).$ucsalt);
- echo 'ucfounderpw:'.$ucfounderpw.'<br />'.'ucsalt:'.$ucsalt;
- ?>
-
- 先复制以上内容,保存为reset.php,上传到支持php空间并访问。
- 页面会出现两行数据,类似:
- ucfounderpw:34790c7832f559e4a1787f9fdfa591bb
ucsalt:941698 - 到ucenter打开/data/config.inc.php 找到下面内容并按提示操作:
- define('UC_FOUNDERPW', '显示出来的第一行加密字符串写到这里');
- define('UC_FOUNDERSALT', '显示出来的第二行数字写到这里');
其他方法1(用某个reset.php)、2(采用tools工具箱)
见http://www.discuz.net/thread-908564-1-1.html (经过实验,未成功)
还有一种所谓的方法就是拿之前的ucenter之前的升级文件(ucenter安装包里带了)放到网站里运行一次即可(这个方法未经测试)
修改某个用户的ucenter的密码,比如uid=1的:
UPDATE `uc_members` SET `password` = 'ad2aa682b173259fefc5e151baa6de82' WHERE `uid` =1 LIMIT 1 ;
Filed under: 技术归总
0 Comments
0 Trackbacks
4818 Views
Written by 正冰 on 2009, October 4, 7:18 PM
论坛要进行升级,为了防止出现意外,遂进行本地化升级测试,没有问题后进行实际操作!
今天将Linux上的mysql暂停了几分钟,然后备份整个论坛数据库,用rar打包后下载到本机,然后在局域网中的一台linux服务器(为了环境一致)将该数据库导入(之前已经建立了相同的配置的mysql账户以及对应的库名)。然后却遇到了:
Table '[Table]caches' is read only
参考了下网络上的资料(mysqladmin -u <username> -p flush-tables),结合自己管理linux的经验,将论坛数据库对应的文件夹以及里面的所有文件修改为mysql权限:chown -R mysql.mysql /mysql/data/bbs_data
重新刷新网页:
Can not write to cache files, please check directory ./forumdata/ and ./forumdata/cache/ .
看来数据表只读问题已经解决,那么给予上面两个目录www的写入权限:
chown -R www.www /htdocs/www/bbs/forumdata
chown -R www.www /htdocs/www/bbs/forumdata/cache
再次刷新网页,论坛正常了!
摘录一点数据库导入导出资料:
mysql5导出的有default-charact的设置,mysql4不支持,需要加skip-opt参数,如:
mysqldump -uroot -p --default-character-set=gbk -skip-opt databse > hx.sql
Filed under: 技术归总
0 Comments
0 Trackbacks
5396 Views
Written by 正冰 on 2009, September 23, 4:27 PM
今天接到电话,话说论坛又挂了,心里又提了下。因为当时正在外面,办完事情赶忙回来坐在电脑前解决问题。
问题状况:浏览器无法打开网站中的静态页面,discuz6.1论坛也无法打开。
ssh登陆到论坛所在服务器(vps),先查看服务是否都在运行(#netstat -ntlp)返回22、80、3306端口的服务都在跑。懒人行动直接重启一下(#reboot)。1分钟不到vps启动完毕,再次ssh登入成功启动php-cgi、nginx、mysql服务,但是浏览器却依然不能访问网站。怀疑又是虚拟硬盘空间被吃完了,赶紧查看(#df -m),居然返回100%被用完。之前已经将nginx的日志功能给暂时关闭了,怎么会这样呢?为了确认那个增加快速的文件的位置,依次进行排查:
查看根目录下的目录大小并由小到大排序
# du -h -s ./* | sort
最终确认哪个“快速增长”的文件原来是mysql的日志文件
# du -h -s ./data0/mysql/3306/data/* | sort
1.5G ./mysql/data/log.log
用#rm ./mysql/data/log.log 删除之!自此解决空间被占用问题,但是打开浏览器还是无法访问论坛。查阅资料后,清除forumdata/cache和forumdata/templates下面的文件,再次用浏览器打开网站,等待片刻忽然显示出:
Cache List: settings index ipbanned usergroup_7 style_
Caches successfully created, please refresh.
这个跟重装discuz论坛系统的效果一样,按一下F5刷新,不久之后,熟悉的论坛界面出现了。用管理员用户登录后台更新缓存!
如果清除cache文件无法恢复,可以采取在本地安装跟服务上论坛版本一样的discuz,再将forumdata/cache和forumdata/templates下面的文件覆盖到服务器上,然后用浏览器访问试试。
Filed under: 技术归总
2 Comments
0 Trackbacks
6056 Views
Written by 正冰 on 2009, September 23, 12:04 AM
晚上回来,没有带xp安装盘,而还有一个网站工作需要做。本本系统中没安装IIS5.1,遂下载该分离安装包,安装时候选择解压开的文件夹。
下载地址:http://down.orsoon.com/系统工具/系统其他/0801/iis5.1xp.rar
安装完成后遇到几个问题,做下笔录:
1、启动IIS中网站出现:发生意外错误 0x8ffe2740
答:IIS的默认80端口被其他程序占用了,我就是被qvod(快播)的后台进程QvodTerminal占用了。命令行下输入netstat -an | find ":80"就看到了,而查看防火墙中监听80的进程就可以确认哪个程序占用了80端口,结束掉对应程序进程即可。当然,下载一个TcpView亦可。
2、可恶的“Server Application Unavailable”
答:请见我的另外一篇文章 http://blog.is36.cn/solve_Server_Application_Unavailable_in_iis51_and_iis60/
3、其他:服务管理器中可以找到一个“ASP.net stateService”服务,我将其关闭却未对我的.net程序运行造成任何影响,但是如果客官你在测试过程中不妨启动它。
Filed under: 技术归总
0 Comments
0 Trackbacks
7405 Views
Written by 正冰 on 2009, September 14, 10:41 PM
今天discuz论坛出现问题,如下:
Discuz! info: MySQL Query Error
Time: 2009-9-14 4:30pm
Script: /bbs/index.php
SQL: SELECT t.*, f.name FROM [Table]threads t, [Table]forums f WHERE t.fid<>'0' AND f.fid=t.fid AND f.fid not in (125) AND t.displayorder not in (-1,-2) ORDER BY t.dateline DESC LIMIT 0, 10
Error: Error writing file '/tmp/MYAmg92O' (Errcode: 28)
Errno.: 3
到 http://faq.comsenz.com 搜索此错误的解决方案
按照个人经验,这是第一次遇到的问题,应该跟临时目录tmp有关。
操起g.cn开始搜索,得出理论性结果如下:
- 该问题也会发生在windows服务器上(C:\WINDOWS\TEMP\MY32),亦是跟临时目录有关
- 该问题跟论坛采用“首页四格”插件有关
解决方法如下:
- 采用phpmyadmin对出问题的表进行repair(修复),独立主机亦可用mysql工具修复
- 采用discuz tools进行数据库修复(链接:TOOLS 2009贺岁版)
而实际操作中,我先采用了重启服务器(自有vps服务器,linux系统),系统启动完成后依次启动php-cgi、nginx、mysql,重新打开论坛,一切正常。过了2个小时,论坛又出现那个问题,从问题上看是写入数据出错。检查临时目录权限,一切正常。不经意间想起这个vps只有5G空间,linux系统占用1.5G,该论坛图片甚多,莫非……
键入如下命令:
[root@centos www]# df -m
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/sda1 5040 4784 0 100% /
看来是服务器空间被吃完了!马上删除一些没用的数据,估计是这几天论坛图片又传了好多,导致空间吃紧了!下一步就要去升级该vps了!硬件问题,这也实在不是我能解决的了!
而网上搜索来的答案中也并非没有用,比如修复表的操作,看到得出错是某个表出现问题提示需要修复,如下:
Error: Table '.\discuz\[Table]threads' is marked as crashed and should be repaired
而经过phpmyadmin无法修复的话,可以考虑上传discuz官方的tools进行修复试试看。当然,一切操作记得尽可能做个备份,以防万一!
总结:遇到问题先看清问题的意思,然后对症下药,不依赖搜索引擎,但是以之为参考!
Filed under: 技术归总
0 Comments
0 Trackbacks
11132 Views
Written by 正冰 on 2009, September 9, 3:11 PM
问题:discuz6.1论坛,与ucenter一起共用会员信息,论坛中修改头像出现"头像保存过程中发生网络错误,请重试"错误
首先建议大家参考该帖子解决:http://www.discuz.net/thread-1008637-1-1.html
如果无法解决,应该是权限问题了!头像目录在linux下由apache服务(本处采用的是nginx的web服务器)的www用户自动创建的目录,而一般ftp上去的帐户无法更改其权限(用户所有权权限)造成的,这个需要root将你的网站帐户划分到与www同一个组即可解决问题,但服务商一般不会这么做。而该论坛采用独立的服务器(VPS),可以自行设置文件(夹)所有权,数据从另外一台虚拟主机迁移过来,自行搭建运维环境(Linux+Nginx+php+mysql),其中论坛的几个目录权限已经修改完成,如下目录设置为777权限:
./attachments、./customavatars 、./forumdata、./forumdata/cache、/forumdata/templates 、./forumdata/threadcaches、./templates、./templates/default、./templates/default/*.*
但是ucenter下的相关目录未作权限修改,修改如下:
主机为 *nix 操作系统,设置如下文件夹权限为 777 ,Windows 主机设置 Internet 来宾帐号可读写的权限。
./data、./data/avatar、./data/backup、./data/cache、./data/logs、./data/tmp、./data/view
而会员头像就在./data/avatar目录下,运维迁移后该目录所有权属于root用户,那么自然www(网站操作用户)就没有权限动用该目录下东西了。所以如下命令修改权限
修改目录所有权为www组的www用户:
chown -R www.www /htdocs/www/ucenter/data/avatar/
修改目录下www用户的权限为777
chmod -R 777 /htdocs/www/ucenter/data/avatar/000/00/
chmod -R 777 /htdocs/www/ucenter/data/avatar/000/01
Filed under: 技术归总
0 Comments
0 Trackbacks
6846 Views
Written by 正冰 on 2009, September 8, 3:07 PM
今天用手机访问博客的wap(http://blog.is36.cn/wap/index.php 在线WAP模拟器)居然返回连接mysql错误,经典的mysql挂掉的现象。无奈无法马上启动mysql,之前知道有个免费的ssh软件可以用在塞班系统上,那样,我的6120C就可以用ssh登入服务器后启动mysql服务即可。
现在介绍下这个软件:PuTTY for Symbian OS
官方网站:http://s2putty.sourceforge.net/
因为6120C属于Symbian(塞班)s60第三代系统,下载最新版1.5.1(7月19日更新)
S60 third edition: Nokia E61, N80, E90, N95, and others
(http://nchc.dl.sourceforge.net/project/s2putty/s2putty/1.5.1/putty_s60v3_1.5.1.zip)
下载到电脑中解压后用诺基亚管理软件安装到手机中或者放到手机中后安装
安装完成后到系统中去找到该软件,运行后会提示输入server地址,依次输入管理账号跟密码后就登入进入,剩下的操作就跟windows下的putty软件一样了!
Filed under: 技术归总
0 Comments
0 Trackbacks
8076 Views