第1948天:阿里云主机使用(4) 迁移 discuz 出现的问题,wdcp重启wdapache的bug

中秋 星期四 多云 20~30℃

阿里云主机使用(4) 迁移 discuz 出现的问题

1、访问论坛首页 /forum.php 时报错

Discuz! Database Error

(144) Table ‘./forum/security_failedlog’ is marked as crashed and last (automatic?) repair failed

SELECT count(*) FROM security_failedlog

是防水墙插件的表。

解决方法(附:关闭防水墙的方法):

(1)、登录 phpmyadmin,找到 security_failedlog 表,勾选,在底部下拉里选择“修复表”。

(2)、如果还是报错,那就关闭防水墙吧。

(3)、用下面第 7 条记录的“命令行修复表”的方法(这个方法比较靠谱)。

dz 论坛上很多人说修复表之后,还是每天会出现,今天友吧果然也出现了。这个防水墙有点流氓,装上后就卸不掉,干脆把 source/plugin 下的 security 改名,就没问题了。改名之后还发现一个惊喜,再进入后台“云平台”,可以关闭“防水墙”了。

2、登录后台报错

Can not write to cache files, please check directory ./data/ and ./data/sysdata/ .

解决方法:上面只是提到“./data/ and ./data/sysdata/”两个目录,下面是需要设置为 777 权限的目录或文件。

./config/config_global.php
./config/config_ucenter.php
./config
./data
./data/avatar (将更改循环应用到子文件夹和文件)
./data/plugindata (将更改循环应用到子文件夹和文件)
./data/template (将更改循环应用到子文件夹和文件)
./data/threadcache (将更改循环应用到子文件夹和文件)
./data/log (将更改循环应用到子文件夹和文件)
./data/sysdata (将更改循环应用到子文件夹和文件)
./data/cache (将更改循环应用到子文件夹和文件)
./data/attachment (将更改循环应用到子文件夹和文件)
./uc_client/data/cache (将更改循环应用到子文件夹和文件)
./uc_server/data/
./uc_server/data/cache
./uc_server/data/avatar
./uc_server/data/backup
./uc_server/data/logs
./uc_server/data/tmp
./uc_server/data/view

以上设置不全,在 discuz 后台的“站长”模块下有个“文件权限检查”的功能,可以检查哪些文件或目录需要写权限。

3、(2013-9-20更新)推送帖子,剪裁图片时出错

文件读写权限不足,无法处理图片

解决方法:同上一个问题,也是目录权限的原因,主要是:

./data/attachment (将更改循环应用到子文件夹和文件)

4、(2013-9-21更新)注册会员失败

因为以前打通了 discuz 和 uchome 的会员注册通道,所以这里要让 ucenter 的数据库用户对 uchome 的三个表 uh_member、uh_space、uh_spacefield 有写权限。

5、(2013-9-21更新)上传头像失败、头像保存失败

Can not write to the data/tmp folder!

头像保存过程中发生网络错误, 请重试!, error code:0

解决办法:给 ucenter 下的 data 目录及其所有子文件夹及文件 777 权限

./ucenter/data (将更改循环应用到子文件夹和文件)

6、(2013-9-21更新)访问 uchome 时出错

./uchome/data/data_config.php write error.

解决办法:给 uchome 下的 data 目录及其所有子文件夹及文件 777 权限

./uchome/data (将更改循环应用到子文件夹和文件)

7、(2013-9-22更新)home_feed 损坏

(144) Table ‘./bbs/home_feed’ is marked as crashed and last #automatic?# repair failed

用 dz后台 和 phpmyadmin 都无法修复这个表。

解决方法:命令行修复表。上面第 1 条的 security_failedlog 表损坏也可以用这个方法修复。

- 停止数据库 service mysqld stop
- 删除数据库目录下的.TMD文件
- 运行:myisamchk -r /数据库目录/*.MYI,修复进程会逐个表进行修复
- 修复完成后启动数据库 service mysqld start

(2013-9-24更新)

用上面的方法修复后,home_feed 还是损坏,今天用下面这个方法重建表(我用的是 dz x2.5,注意表前缀要和自己的表前缀一致,我的是 pre_)。

登录 phpmyadmin,进到 forum 库,删除 home_feed 表,然后切换到 SQL 选项卡下,运行以下语句重建 home_feed 表。这个表是动态数据,清空了不影响使用。

参考:http://www.discuz.net/thread-2433004-1-1.html

DROP TABLE IF EXISTS pre_home_feed;
CREATE TABLE pre_home_feed (
feedid int(10) unsigned NOT NULL AUTO_INCREMENT,
appid smallint(6) unsigned NOT NULL DEFAULT ’0′,
icon varchar(30) NOT NULL DEFAULT ”,
uid mediumint(8) unsigned NOT NULL DEFAULT ’0′,
username varchar(15) NOT NULL DEFAULT ”,
dateline int(10) unsigned NOT NULL DEFAULT ’0′,
friend tinyint(1) NOT NULL DEFAULT ’0′,
hash_template varchar(32) NOT NULL DEFAULT ”,
hash_data varchar(32) NOT NULL DEFAULT ”,
title_template text NOT NULL,
title_data text NOT NULL,
body_template text NOT NULL,
body_data text NOT NULL,
body_general text NOT NULL,
image_1 varchar(255) NOT NULL DEFAULT ”,
image_1_link varchar(255) NOT NULL DEFAULT ”,
image_2 varchar(255) NOT NULL DEFAULT ”,
image_2_link varchar(255) NOT NULL DEFAULT ”,
image_3 varchar(255) NOT NULL DEFAULT ”,
image_3_link varchar(255) NOT NULL DEFAULT ”,
image_4 varchar(255) NOT NULL DEFAULT ”,
image_4_link varchar(255) NOT NULL DEFAULT ”,
target_ids text NOT NULL,
id mediumint(8) unsigned NOT NULL DEFAULT ’0′,
idtype varchar(15) NOT NULL DEFAULT ”,
hot mediumint(8) unsigned NOT NULL DEFAULT ’0′,
PRIMARY KEY (feedid),
KEY uid (uid,dateline),
KEY dateline (dateline),
KEY hot (hot),
KEY id (id,idtype)
) TYPE=MyISAM;

8、(2013-9-25更新)后台添加广告后,前台不显示
9、(2013-9-25更新)后台添加 / 修改版块后,前台移动主题时“目标版块”仍然是老数据

这两个问题是同样的解决方法,网上都没找到原因,后来自己摸索出来了:

设置好版块或者广告后,在 wdcp 后台“系统管理 – 服务重启”里面重启一下 web 就可以了。

本来是设置 data 目录为 777 权限(将更改循环应用到子文件夹和文件),之后重启 web 服务和 mysql,然后刷新一下前台页面发现可以了。后来发现,可能不用给 data 目录的所有文件夹和文件设置 777 权限,只需“重启 web 服务”就可以了。

(2013-10-3更新)

今天有用户反馈回帖后积分没有更新,这个问题和上两个问题类似,重启一下web服务就好了。但是这总不是个办法。在 wdcp 里查了下,总算知道原因了,是DZ不支持高版本的eaccelerator,解决方法是降级到低版本的 0.9.5.3

putty 运行命令:

wget http://www.wdlinux.cn/in_scripts/eaccelerator0953

然后再运行:

sh eaccelerator0953

参考:

关于lnamp搭建Discuz! X2.5论坛不更新问题

关于DZ不支持高版本eaccelerator问题的解决办法

10、(2013-9-26更新)apache 支持 shtml

修改 apache 里的 httpd.conf 文件
/www/wdlinux/apache/conf/httpd.conf

查找:

#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml

去掉前面的 # 符号。

查找:

Options Indexes FollowSymLinks

在后面加上 INCLUDES,修改成: >

Options Indexes FollowSymLinks INCLUDES

进入:VHOST 文件夹,找到你的站点配置CONF文件,

查找:

Options FollowSymLinks

修改成:

Options FollowSymLinks INCLUDES IncludesNOEXEC

如果没启用 nginx,到这里就可以了,在“服务重启”里面重启 web 生效。如果启用了 nginx,那么继续往下:

进入 nginx 目录,打开 nginx.conf 文件
/www/wdlinux/nginx/conf/nginx.conf

在 gzip_vary on; 后面插入:

ssi on;
ssi_silent_errors on;
ssi_types text/shtml;

在“服务重启”里面重启 web 生效。

参考:正确的lnamp支持SSI的方法!即支持SHTML和include调用!

11、(2013-9-27更新)百度搜不到网站

今天发现,迁移数据后,百度搜不到网站了,登录百度站长工具查看,收到两条消息提醒:

Baiduspider通过解析到的IP无法正常抓取您的网站
您可以在 抓取异常工具中查看详情
检测时间:2013-09-27 03:00:00

常见问题及推荐办法

可能是您的网站IP地址错误或进行了变更,请使用WHOIS或者host查询自己网站IP地址是否正确且可解析,如果不正确或无法解析,请与域名注册商联系,更新您的IP地址

可能是域名服务商把Baiduspider封禁,请与域名服务商联系,或者使用免费的第三方服务

如果您的网站IP已恢复正常或者网站更换了IP地址

请通知百度对您网站进行

下方有一个“IP更新”的按钮,点击后会提示:

已通知百度进行IP更新,检测结果会在24小时内反馈给您

(2013-10-23更新):自从被 K 后就每天关注百度排名。昨天白天还搜不到,连 site:friends8.com 都搜不到首页,昨晚十点多的时候再试一下,可以搜到了,搜“友吧运动”排在第一,还能连带搜索到其他页面。今天搜“友吧”也能搜到了,排第二。看来是恢复了。

12、(2013-10-17更新)QQ安全认证需要重新申请

今天发现在QQ对话框里输入网站地址,又变成一个问号了,需要到 QQ安全中心 重新提交申诉。


wdcp的一个bug:后台重启apache导致wdcp停止运行

1、后台点击“重启”链接,报错,无法重启,有时还会导致 wdcp 面板登录不了;
2、在 wdcp 里运行命令 service wdapache restart,没想到 wdcp 面板登录不了了。

访问不了 wdcp 控制面板的解决方法,打开 putty,登录服务器后输入命令:

service wdapache start

以后没事不要瞎点 wdcp 后台的“重启wdapache”。

RSS

上一篇:

下一篇:

发表评论

电子邮件地址不会被公开。 必填项已用*标注