海洋 CMS 测试环境如何迁移到正式服务器
海洋CMS 从测试环境迁移到正式服务器,本质只有三件事:搬数据库、搬文件、改配置。真正容易翻车的是域名、路径和目录权限这三处,按下面 6 步走,一般 30 分钟内能完成。
迁移前需要备份哪些东西?
结论:必须完整备份三样——数据库、网站根目录全部文件、配置文件 data/common.inc.php。
数据库用命令行导出最稳:
mysqldump -u 用户名 -p 数据库名 > sea_test.sql
文件直接打包,注意连隐藏文件和上传目录一起带走:
tar -czf seacms_files.tar.gz /www/wwwroot/test_seacms
另外记录三项环境信息:测试服务器的 PHP 版本、MySQL 版本、伪静态规则内容。正式服务器 PHP 版本与测试环境保持同一大版本(比如都是 PHP 7.x)能省掉大量"函数已弃用"的报错。数据库超过 100MB 时建议 gzip 压缩后再传输,别用 phpMyAdmin 导大库,超时中断是常态。
数据库怎么导出和导入?
结论:在正式服务器创建同名数据库后导入 SQL 文件,字符集统一用 utf8mb4,导入前先清空正式库里的旧表。
mysql -u 用户名 -p -e "CREATE DATABASE seacms DEFAULT CHARACTER SET utf8mb4"
mysql -u 用户名 -p seacms < sea_test.sql
导入完成后先别急着改配置,用 SHOW TABLES; 确认表数量与测试库一致。如果正式服务器上原本装过一套海洋CMS,务必先删掉旧表或换个新库名,否则会和新数据混在一起,排查起来非常麻烦。
data/common.inc.php 要改哪几项?
结论:这是海洋CMS 唯一的数据连接配置入口,需要改四项:数据库主机、数据库名、用户名、密码。
站点域名不在这个文件里,而是存在数据库的配置表中,迁移后到后台「系统 → 系统参数设置」里把网站地址改成正式域名。改完配置先访问首页:如果出现"数据库连接失败",说明这四项有一项没对上;如果首页正常但栏目页 404,那是伪静态问题,不是数据库问题。
域名变了,站内绝对地址怎么批量替换?
结论:先在后台改站点地址,再用 SQL 的 REPLACE 函数批量替换数据库里残留的旧域名。
先定位:在 phpMyAdmin 里对旧域名做全库搜索,看哪些表、哪些字段存了 http://test.xxx.com。然后按字段逐个替换:
UPDATE 表名 SET 字段名 = REPLACE(字段名, 'http://test.xxx.com', 'https://www.xxx.com');
执行前先备份该表。注意 http 和 https 要分别替换,漏掉一种就会出现"混用协议"的警告。如果文章正文里引用了测试域名的图片,同样要替换,否则正式站会有一批死图。
目录权限和伪静态怎么设置?
结论:Linux 下把网站目录所有者设为 Web 运行用户,并保证 data/ 和 uploads/ 可写,否则后台改不了配置、传不了图。
chown -R www:www /www/wwwroot/seacms
find /www/wwwroot/seacms -type d -exec chmod 755 {} \;
find /www/wwwroot/seacms -type f -exec chmod 644 {} \;
data/(存配置和缓存)和上传目录(通常为 uploads/,按日期分文件夹)需要写权限。伪静态方面:Apache 用根目录的 .htaccess,Nginx 必须把重写规则写进站点配置,规则内容可在后台伪静态相关设置里查看。Nginx 下不配置这一项,栏目页和内容页会直接 404。
迁移完成后怎么验证?
结论:按「首页 → 栏目页 → 内容页 → 后台 → 搜索 → 上传」六步依次点一遍,哪一步不对就回去查对应环节。
最后还有四个收尾动作:一、删除 data/cache 下的缓存文件,或用后台的更新缓存功能重新生成;二、确认后台管理员账号密码是你想要的;三、关闭调试和报错显示;四、测试站如果对公网开放,迁移完立刻下线或加访问限制,避免两份内容被搜索引擎同时收录。
整个过程的关键顺序是:先导库、再传文件、后改配置,最后清缓存验证。顺序颠倒(比如先传文件再导库)容易造成配置指向旧库,多花一倍时间排查。
原文链接:https://www.gj0.com/thread-500.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。