lanmp之二 (奇葩问题)
ps:该篇是接 lanmp —— 动静分离
lanmp —— 奇葩问题
话说,在 搭建 bbs.abc.com (discuz论坛)的 时候。。。。
1、说明:web机器上以前已经有一个 discuz 旧论坛
要做数据迁移(改域名/拷贝数据/迁移网站),这里采取的方法是改配置文件(也可以重装discuz)
2、具体操作
(1)cd /data/bbs/config ——》 /data/bbs是从以前的discuz根目录拷贝过来的
(2)修改两个文件
config_ucenter.php ——》 用户中心相关
修改内容:
DBHOST, DBUSER, DBPW, DBNAME,UC_DBTABLEPRE,UC_API
config_global.php ——》 全局配置文件
修改内容:
dbhost,dbuser,dbpw,dbname
3、问题
(1)描述:
DBNAME是在web机器上的数据库,在db机器上是没有的
需要用rsync拷贝到远程db机器上
而我的DBNAME是从web机器上旧的discuz库拷贝过来的
(2)现象
(a)现象1:浏览器访问bbs.abc.com出错
这个ljy其实就是下图的 luo(本人亲测 - -)
(b)现象2:web机器上的mysql报错
(3)原因
(a)分析
因为luo的表权限有问题!!!!
我之前是直接把discuz目录的所有东西复制到/data/mysql/ljy目录下的
进行的操作如下:
cp -r ljy ljy.bak
mv ljy.bak luo
(b)注意:
以上操作的话,luo的属主属组并不是 mysql ,而是 root
(c)原因:mv 命令能保留文件所有属性和权限,尤其是selinux属性,cp则不能
(4)解决方法
(a)重新导入discuz.sql ——》 不用担心mysql用户权限问题
mysql -uroot luo < /data/discuz.sql
discuz.sql 是以前备份的discuz库
(b)cp后修改权限:chown -R mysql:mysql luo/
另外
还有一个小问题 ——》 上面那个问题查了我很久 = =
诸如
1、目录未找到或者无法访问: ./data/template
2、Can not write to cache files, please check directory ./data/ and ./
解决方法(上面的1,2现象都通用)
chown -R daemon /data/bbs/data/
chown -R daemon /data/bbs/uc_server/data
chown -R daemon /data/bbs/uc_client/data
原因:bbs中的个别目录需要apache的用户去写,apache是以daemon用户来运行的!