网站虽然是要求尽量保持服务器的稳定,但是有时是不可避免的出现需要迁移服务器的情况。
我们以网站交易时的迁移网站为例和大家介绍一下Soogor CMS的迁移。
迁移要比新建容易的多,但是要比新建重要的多,操作当中我们最重要的就是数据的备案,在进行有关数据操作的情况,一定要注意备份。
在交易过程当中,我们主要是需要迁移网站程序和数据库
网站程序文件迁移:
- 网站程序打包:我们将服务器的程序包打包即可。
例: 网站文件路径为结构为 XXX/soogor/config,我们需要将soogor下的网站程序文件打包即可。打包完成为.tar.gz格式的文件 如果使用宝塔面板,要注意虚拟环境和logs日志不需要进行打包。这两个文件夹通常比较大,打包过去还没啥用。 宝塔虚拟环境的名字一般为md5长字符的一个文件夹。具体如下图
-
网站程序分享下载
将鼠标放到要分享的文件上,该行行尾会多出一些操作链接,我们选择更多--外链分享 在新弹的模板框中我们选择生成外链,有效期和提取码,我们通常是不设置的。 比如我们将生成的链接为:http://43.143.1000.000:000000/down/0qkfRRlfgbdV.gz(服务器地址与商品这里进行了0的代位)
-
网站程序解压
通过上面的链接我们将下载出一个名为“0qkfRRlfgbdV.gz”的文件,如果我们直接进行解压是解压不了的,所以我们需要将后缀修改为“0qkfRRlfgbdV.tar.gz”。这样我们才可以进行解压。
数据库迁移:
数据库的迁移通常有两种方法,一种为宝塔一键迁移,二为备份迁移:
- 宝塔一键迁移数据库:
我们可以直接用宝塔面板的,一键迁移直接将数据库迁移过来。一键迁移不需要迁移网站,因为这里的网站只是一个虚拟的,不是实际的网站路径,具体的后面可以了解到。
- 数据库备份迁移
数据库备份:
我们可以在宝塔的数据库操作中直接进行备份
数据库分享下载:
我们可以像上面分享网站程序文件那样生成数据库的外链,然后我们就可以在别的服务器上直接下载了
数据库解压:
像文件分享那样我们下载分享的链接后会得到一个为“.gz”后缀的文件,但是数据库的备份文件为“.sql.gz”,所以我们需要将得到的文件后缀进行重命名
数据库备份路径:
我们将得到的备份文件备份到服务器的备份文件路径:“/www/backup/database”
新建数据库:
我们新建数据库通常是将名称、用户、密码设置为和原服务器一样的。
值得注意的时,我们的数据库utf8不支持EMOJE表情,UTF8MB4不支持数据库缓存。如果要使用数据库缓存一定要设置为UTF8的
数据库导入:
我们在新建的数据库上选择导入,选择刚刚分享的数据库备份文件即可
*如果在新建数据库时改变了数据库的名称、用户、密码怎么办?
宝塔界面——文件——编辑soogor/config/ConnectionStrings.ini
在上面这个路径的文件中修改保存即可
这样我们的文件准备工作就完成了
环境准备:
soogor CMS 最好还是使用宝塔面板,因为我们开发也是用的这个。宝塔面板需要安装Nginx+python项目管理器
Nginx通常宝塔面板已经安装好了。我们需要安装python项目管理器.
安装好python项目管理器后,我们先安装python
具体版本与原来的相同即可。
程序安装:
在宝塔界面的普通安装是通过python项目管理器来进行安装。
第一步:上传文件
我们将得到的文件上传服务器
同时我们选择后面的权限,给用户组www加个一个写入权限
第二步:开放端口
宝塔界面——安全
选择已经开放的端口,或新开放一个端口,不要与其他已用端口冲突,soogorCMS需要的商品,只是用来内部跳转的。
第三步:安装python项目管理器
宝塔界面——软件商店——应用搜索——“python项目管理器”——安装
第四步:添加python项目
项目名称:没有限制
路径:指向soogor文件夹,如果该文件夹已经被改名,请指向mamge.py 文件所在的目录
Python版本:与我们下载soogor说明中的一致
框架:选择django
启动方式:采用uwsgi
端口:将刚才设置好的端口填写进来
启动文件/文件夹:指向/soogor/config/wsgi.py文件
是否安装模块依赖:勾选
开启启动:勾选
最后选择确定。
如果出现问题请参详本章:常见问题
第五步:映射域名
在python项目管理器中选择映射,直接填写我们要绑定的域名(域名须解析才可访问)。如“www.soogor.com”不需要有http
第六步:配置静态文件目录
宝塔界面——网站——网站名(刚才的域名)——设置——配置文件——将下列代码如图插入
将soogor/static/目录映射为静态
#所有静态文件,如CSS,img等
location /static/ {
alias /www/wwwroot/soogorcms/soogor/static/;
}
location /sg_user/ {
alias /www/wwwroot/soogorcms/soogor/sg_user/;
}
#媒体路径,如上传的文件。
location /media/ {
alias /www/wwwroot/soogorcms/soogor/media/;
}
#下面是robots.txt和/favicon.ico
location /robots.txt {
alias /www/wwwroot/soogorcms/soogor/static/robots.txt;
}
location /favicon.ico {
alias /www/wwwroot/soogorcms/soogor/static/favicon.ico;
}
#注意!注意!注意!上面的soogorcms是路径,soogor是manage.py的所在的文件夹的名字,复制后记得修改
media:这个路径要说明一下,如果Debug开始了,有没有都可以正常访问,但是做为一个正常的项目,我们不会将我们的错误暴露出来,因为这些错误页面有许多我们内部的文件路径,所以当Debug=False时,这个media和static都需要设置一下
第七步:配置数据库
如果我们将原来的数据库直接迁移过来的,这一步可以直接省略,如果我们改变了数据库名称或密码了,需要在文件当中修改一下。
宝塔界面——文件——编辑soogor/config/ConnectionStrings.ini
将刚才设置的数据库信息对应填写保存
这样我们的soogor就完全搭建完了。可以直接在浏览器输入你的域名进行访问了。
然后我们就可以重启下python项目管理器中的网站,访问网站了。
注意问题:
- 改变文件路径,比如原来的路径为/www/wwwroot/soogorcms/soogor/,现在的路径改为D:AAA/BBBB/soogor了。这种情况在迁移时要注意几个地方的路径
- 网站静态文件路径
- /soogor/uwsgi.ini中相关路径
- 端口更改:如果迁移前后的端口不一样,需要手动将/soogor/uwsgi.ini中的端口改一下。否则也是不行的