生产环境网站论坛迁移的详细操作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生产环境网站论坛迁移的详细操作相关的知识,希望对你有一定的参考价值。
首先在服务器上查找之前安装好的Discuz安装目录
拷贝到Web安装目录下,重命名
cd /usr/local/src/
cp -r upload /home/WebSer/
mv upload bbs.lh2.com
设置Discuz论坛安装目录的用户用户组权限
chmod -R 755 bbs.lh2.com/
chown -R www.www bbs.lh2.com/
直接拷贝一份之前的论坛配置文件,修改一下域名
cp bbs_lh.conf bbs_lh2.conf
vim bbs_lh2.conf
server {
listen 80;
server_name server ip;
access_log /home/lnmp/nginx/logs/lh.log combined;
root /home/WebSer/bbs.lh2.com;
index forum.php index.html index.htm index.php;
创建一个之前论坛的老数据库名bbs_lh_old
然后导出之前的数据库,导入到bbs_lh_old里面去
改一下数据库配置文件,切换到这个库,保证线上论坛业务不受影响
mysql [bbs_lh_old]> create database bbs_lh_old;
这里继续使用之前的论坛数据库用户名和密码,设置bbs_lh_old权限
MySQL [bbs_lh_old]> grant all on bbs_lh_old.* to [email protected] identified by ‘oldpassword‘;
导出之前论坛的数据库
mysqldump -uroot -p bbs_lh > bbs.lh.sql
导入到bbs_lh_old里面去
mysql -uroot -p bbs_lh_old < bbs.lh.sql
改一下数据库配置文件,切换到bbs_lh_old这个库,保证线上论坛业务不受影响
cd /home/WebSer/bbs.lh.com/
vim uc_server/data/config.inc.php
<?php
define(‘UC_DBHOST‘, ‘localhost‘);
define(‘UC_DBUSER‘, ‘oldusername‘);
define(‘UC_DBPW‘, ‘oldpassword‘);
define(‘UC_DBNAME‘, ‘bbs_lh_old‘);
vim config/config_global.php
$_config = array();
// ---------------------------- CONFIG DB ----------------------------- //
$_config[‘db‘][‘1‘][‘dbhost‘] = ‘localhost‘;
$_config[‘db‘][‘1‘][‘dbuser‘] = ‘oldusername‘;
$_config[‘db‘][‘1‘][‘dbpw‘] = ‘oldpassword‘;
$_config[‘db‘][‘1‘][‘dbname‘] = ‘bbs_lh_old‘;
vim config/config_ucenter.php
<?php
define(‘UC_CONNECT‘, ‘mysql‘);
define(‘UC_DBHOST‘, ‘localhost‘);
define(‘UC_DBUSER‘, ‘oldusername‘);
define(‘UC_DBPW‘, ‘oldpassword‘);
define(‘UC_DBNAME‘, ‘bbs_lh_old‘);
现在重启一下Nginx、PHP、MySQL服务,测试一下看看论坛访问是否正常
service nginx restart
service mysqld restart
service php-fpm restart
通过浏览器访问论坛测试正常后,下面可以把之前论坛的数据库删除了
新建一个数据库,数据库名和之前的一样,设置新数据库用户权限和密码
MySQL [(none)]> drop database bbs_lh;
MySQL [(none)]> create database bbs_lh;
MySQL [(none)]> grant all on bbs_lh.* to [email protected] identified by ‘oldpassword‘;
现在就可以去浏览器输入新论坛bbs_lh2.conf对应的域名,安装Discuz论坛了
在Discuz论坛图形安装界面填写一些信息
数据库服务器:localhost
数据库名:bbs_lh
数据库用户名:oldusername
数据库密码:oldpassword
新论坛bbs.lh2.com 访问方式:IP
旧论坛bbs.lh.com访问方式:域名
根据论坛管理员的需求,导入之前论坛数据库的有关数据和用户信息到新数据库中去
然后通知论坛管理员,现在要切换新论坛和旧论坛的域名,建议他暂时关闭网站之后自己配置论坛
vim /home/lnmp/nginx/conf/vhost/bbs_lh_old.conf
server {
listen 80;
server_name IP;
cd /home/WebSer/bbs.lh_old.com
vim config/config_ucenter.php
define(‘UC_API‘, ‘http://IP/uc_server‘);
vim /home/lnmp/nginx/conf/vhost/bbs_lh.conf
server {
listen 80;
server_name domain name;
cd /home/WebSer/bbs.lh.com
vim config/config_ucenter.php
define(‘UC_API‘, ‘http://domain name/uc_server‘);
然后通知官网开发人员Z,让他修改有关配置
不要忘了找出key发给Z - $bbs/uc_server/data/config.inc.php 里的key
因为线上环境域名解析,早已经找CDN工程师做好了,现在新论坛的域名没有变,就不用改域名解析了
需要做的是,修改一下备份脚本的内容,之前备份的旧论坛数据,现在改成备份现在的新论坛数据即可
cd /home/BACKUP/
vim backup.sh
#!/bin/bash
echo -e "\033[31;15m---------------------------\033[0m"
echo -e "\033[31;1m开始运行博客数据库备份脚本:\033[0m"
echo -e "\033[31;15m---------------------------\033[0m"
DB_USER=root
DB_PWD=‘db mysql password‘
DB_NAME=("bbs_ld" "bbs_lh" "bbs_lh_old" "bbs_zb" "blog_lh")
BACKUP_PATH=/home/BACKUP/db
BACKUP_DATE=`date +%Y%m%d-%H%M%S`
CODE_SRCPATH=/home/WebSer/
CODE_DESTPATH=/home/BACKUP/code
CODE_NAME=("bbs.ld.com" "bbs.lh.com" "bbs.lh_old.com" "bbs.zb.com" "blog.lh.com")
#创建备份目录
if [ ! -e $BACKUP_PATH ] || [ ! -e $CODE_DESTPATH ];then
echo -e "\033[33m创建备份目录/home/BACKUP......\033[0m"
/bin/mkdir -p $BACKUP_PATH $CODE_DESTPATH > /dev/null 2>&1
echo -e "\033[33m备份目录/home/BACKUP创建完成!\n\033[0m"
fi
#备份博客数据库并删除
for BACKUP_DB in ${DB_NAME[@]};do
echo "开始备份数据库-$BACKUP_DB......"
/home/lnmp/mysql/bin/mysqldump -u$DB_USER -p$DB_PWD $BACKUP_DB > $BACKUP_PATH/$BACKUP_DB-$BACKUP_DATE.sql
#echo $BACKUP_PATH/$BACKUP_DB-$BACKUP_DATE.sql
echo -e "\033[33m$BACKUP_DB库备份完成!\033[0m"
echo "--------------------"
done
#/bin/find $BACKUP_PATH -type f -name "*.sql" -mtime +5 |xargs rm -rf
echo -e "\033[31;15m---------------------------\033[0m"
echo -e "\033[31;1m开始运行博客源码备份脚本:\033[0m"
echo -e "\033[31;15m---------------------------\033[0m"
#备份博客源码并删除
cd $CODE_SRCPATH
for BACKUP_CODE in ${CODE_NAME[@]};do
echo "开始备份源码-$BACKUP_CODE......"
#/bin/tar zcf $BACKUP_CODE-$BACKUP_DATE.tar.gz $BACKUP_CODE/
#/bin/mv $BACKUP_CODE-$BACKUP_DATE.tar.gz $CODE_DESTPATH
/bin/cp -R $BACKUP_CODE $CODE_DESTPATH/$BACKUP_CODE-$BACKUP_DATE.bak
echo -e "\033[33m$BACKUP_CODE源码备份完成!\033[0m"
echo "--------------------"
done
#/bin/find $CODE_DESTPATH -type d -name "*.bak" -mtime +5 |xargs rm -rf
以上是关于生产环境网站论坛迁移的详细操作的主要内容,如果未能解决你的问题,请参考以下文章