首页 > 其他分享 >项目级服务器数据迁移流程

项目级服务器数据迁移流程

时间:2023-05-24 15:46:22浏览次数:73  
标签:级服务器 Pasted 流程 odoo iothttp3 dtsite 服务器 迁移 docker

项目级服务器数据迁移流程

创建时间: 2022/09/24

更新时间: 2022/09/24

编辑: 徐俊杰

项目级服务器数据迁移流程

以下操作针对最终迁移目标为移动机房托管的硬件服务器,其它服务器进具备参考价值

```text

183.213.16.9

dtsite

qwer4321asdf

```

一、目录必要拷贝

注意:部分内容可能有遗漏和确认,请自行补充。

1. 拷贝数据库数据

```text

备份

pg_dump -h 127.0.0.1 -p {数据库端口}  -U odoo  |gzip > ./dbdata_{项目名称}.gz

上传到硬件服务器/home/dtsite/aliyun3/dbData/目录下

scp -P 22 ./dbdata_{项目名称}.gz [email protected]:/home/dtsite/aliyun3/dbData/

```

2. 拷贝项目目录

```cmd

tar -czvf project_aliyun4.tar.gz /opt/project

上传到目标服务器

scp -P 22 ./project_aliyun4.tar.gz [email protected]:/opt

```

3. 拷贝iothttp3并上传到目标服务器

```cmd

cd /opt

拷贝iothttp3

cp -r  iothttp3 iothttp3_aliyun4

删除不必要的文件

rm -rf ./iothttp4_aliyun3/venv  ./iothttp3_aliyun4/*.log

./iothttp3_aliyun4/test   ./iothttp3_aliyun4/__pycache__

打包

tar -czvf iothttp3_aliyun4.tar.gz iothttp3_aliyun4

上传到目标服务器

scp -P 22 ./iothttp3_aliyun4.tar.gz [email protected]:/opt

```

4. 拷贝supervisor的配置文件

```

scp -P 22 /etc/supervisor/conf.d/iothttp3.conf [email protected]:/home/dtsite/supervisorConfigBak/iothttp3_aliyun4.conf

```

5. 拷贝docker 镜像文件

docker save命令打包下面的这几个镜像,然后在目标服务器中使用docker load加载

```

47.104.8.212:8000/postgres          11

47.104.8.212:8000/dtsite            v6

47.104.8.212:8000/dtsite/frontend   v4

47.104.8.212:8000/postgres          10

```

二、项目部署

迁移备份的项目数据目录

例如: 迁移国家质量的项目数据到/opt/projects目录中

```cmd

cp -r /home/dtsite/aliyun3/optProjects/Dtcloud_guojiazl  /opt/projects

```

使用serverOM来自动部署项目

以下内容均为以已下面的硬件服务器为例,其它服务器仅提供参考。

1. 添加服务器参数

打开[serverOM](http://183.213.16.9:9005/zyf/python_iot-data-testing),在服务器配置文件server_info.ini中添加新服务器参数,`注意需要root用户`

![[Pasted image 20220921114918.png]]

示例:

```text

[硬件服务器]

ssh连接参数

sshparams = {'host': '183.213.16.xx', 'port': 22, 'user': 'root', 'password': 'xxx'}

服务器odoo的模块目录位置

appaddonspath = /opt/projects/source/dtsite_addons

服务器采集服务位置

iotserverpath="/opt/iothttp3"

项目模板目录位置

projecttemplatepath="/opt/projects/source/projectTemplate"

服务器最大创建项目数

maxProjectNumber=50

```

2. 先在创建数据库这里打断点

创建数据库后,需要先导入数据。否则数据库被odoo自动初始化

![[Pasted image 20220924111820.png]]

3. 执行创建项目脚本

- 修改启动参数,使用debug命令启动

![[Pasted image 20220924112256.png]]

- 第一个提示输入`no`

![[Pasted image 20220924112228.png]]

- 断点触发后,服务器控制台输入以下命令,把数据导入到数据库

查看项目数据库端口(以guojiazl项目为例)

![[Pasted image 20220924112535.png]]

导入数据

```cmd

gunzip -c /home/dtsite/dbData/dbdata_{项目简称}.gz |psql -h 127.0.0.1 -p {新的数据库端口} -U odoo odoo

```

4. 继续执行部署脚本

下面的提示直接输入done,直接完成即可,报错不用管。

![[Pasted image 20220924113037.png]]

7. 添加网关并修改配置参数

- 登录[服务器网关KONGA](http://183.213.16.9:9003/#!/services),参照project_info.ini中的项目参数,把端口添加进去(odoo、大屏、iot采集服务都要配置);

- 然后把下面的参数值修改成与[KONGA]()中配置的地址一致,用于后面的大屏代码更新

![[Pasted image 20220924120826.png]]

参数说明:

```text

odoo_site:odoo外网请求地址

frontend_site:大屏外网请求地址

iot_site:iothttp3外网请求地址

kongagateway_odoo:KONGA中设置的odoo网关路由

kongagateway_frontend:KONGA中设置的大屏网关路由

```

8. 更新大屏地址

测试odoo和大屏

测试odoo

- 登录[服务端浏览器](http://183.213.16.9:9010/),尝试通过**内网**(192.168.32.91)。`注意不要使用外网访问odoo,会访问不进去的。后续对odoo的操作,都使用【服务端浏览器】来操作`

odoo 相关问题解决方案

1. **访问odoo白屏**

**此问题一般是备份的项目目录没有拷贝到/opt/projects目录中导致的**。如果确认拷贝成功还是不行,请执行以下操作。

```text

方法一

修改配置文件

docker exec -it dtsite_{{项目简称}} bash

echo "ODOO_HTTP_SOCKET_TIMEOUT=30" >> /etc/odoo/odoo.conf

退出然后重启

ctrl+D

docker restart dtsite_{{项目简称}}

查看是否启动成功

docker logs -f dtsite_{{项目简称}}

,如果还是不行,使用方法二

数据库中执行以下命令

DELETE FROM ir_attachment WHERE url LIKE '/web/content/%';

重启数据库

docker restart db_{{项目简称}}

```

**2.  odoo无法访问,页面报错**

**此情况一般是由于容器中的必要python模块缺失**,使用`docker logs -f {容器名称}`查看报错内容来进行解决。下面列出了缺失模块的安装方法,其它问题请自行排查

```exec

进入容器

docker exec -it dtsite_{{项目简称}} bash

安装遗漏的python模块

pip3 install ws4py pdfkit python-dateutil

退出然后重启

ctrl+D

docker restart dtsite_{{项目简称}}

查看是否启动成功

docker logs -f dtsite_{{项目简称}}

```

测试大屏

通过本地浏览器尝试访问大屏。注意,如果大屏访问不了。执行serverOM中的更新大屏脚本就行了。

![[Pasted image 20220921174302.png]]

如果还是访问不了,浏览器按F12查看请求地址是否正确。

部署redis

- 提示: 部署时,使用的端口请遵守旧服务器的部署规范

```text

假设相同占用的起始端口为8020,那么各项目服务的端口如下

数据库:  8020

odoo:   8021

大屏:    8022

iot:    8023

redis:  8024

```

- redis直接通过docker部署就行了,速度快

```cmd

docker run --name redis_{{项目简称}} -p {{redis端口}}:6379 -d redis redis-server --requirepass zhsz

```

部署iothttp3

1. 首次配置安装依赖

略。。。

2. 修改服务器上的iothttp3项目配置

进入 iothttp3/conf/{{项目简称}}

```cmd

进入目录

cd /opt/iothttp3/conf/{项目简称}

修改conf.py

vim ./conf.py

修改lanuch

vim ./launch

```

-  config.py中需要修改的参数

![[Pasted image 20220924105345.png]]

- launch中修改启动端口

![[Pasted image 20220924105425.png]]

3. 检查supervisor配置

- iothttp3使用supervisor来监控,启动命令添加到/etc/supervisor/conf.d目录中。如果需要修改,参考旧服务器中配置文件。

- 修改后,重载载配置文件的命令为 `supervisorctl reload`

4. 启动iothttp3

- 打开[服务端浏览器](http://183.213.16.9:9010/)访问 http://183.213.16.9:9010/ ,启动对应的iothttp3

![[Pasted image 20220924105844.png]]

- 查看log日志。

点击 tail -f stdout查看日志确保有报错

![[Pasted image 20220924110433.png]]

配置konga网关

联系硬件厂商修改iot采集服务地址

作者:吴太强

标签:级服务器,Pasted,流程,odoo,iothttp3,dtsite,服务器,迁移,docker
From: https://www.cnblogs.com/DTCLOUD/p/17428495.html

相关文章

  • 流程表单JavaScript代码
    ----订单流程-----------//表单加载初始化时functionpreinit(){}//表单加载完成,isrun代表流程是否流转中1-是,0-否functionLoaded(isrun){$("#om_order_status").attr("disabled","disabled");......
  • 直播和短视频美颜sdk的开发流程、代码分析
    目前,美颜技术是提高视频质量的重要手段之一,特别是短视频和直播两个行业。本文将介绍其开发流程和代码分析。 一、美颜SDK的开发流程1.需求分析首先我们需要明确的一点就是“需求”,例如:美颜效果、美颜程度、性能要求等。同时,我们需要考虑到不同的设备和网络环境,保证SDK的兼容性和稳......
  • shell流程控制
    if判断基本语法#单分支if判断条件;then执行命令fi#双分支if判断条件;then执行命令else执行命令fi#多分支if判断条件;then执行命令elif判断条件;then执行命令else执行命令fi代码示例#单分支[root@headtest]#cattest......
  • 浅聊springmvc的执行流程
    核心组件是DispatcherServlet,所有的流程都是通过这个组件进行转发的,就好像一个转运中心1、用户发送请求至前端控制器DispatcherServlet。2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。3、处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生......
  • DarkHole_1靶机渗透流程
    VulnHub_DarkHole1靶机渗透流程注意:部署时,靶机的网络连接模式必须和kali一致,让靶机跟kali处于同一网段,这用kali才能扫出靶机的主机1.信息收集1.1探测IP使用nmap扫描同一个段下存活的IPnmap192.168.157.0/24发现192.168.157.138开放了80端口,访问后确认为此次渗透的靶机......
  • Scrum框架和流程
    ​Scrum框架:  Scrum的三个角色:•ProductOwner 产品负责人•ScrumMaster•Developers Scrum的三个工件•产品Backlog•SprintBacklog•产品增量 Scrum的五个活动•产品Backlog梳理•Sprint计划会•每日站会•Sprint评审会•Sprint回顾会 Scrum的五个价值......
  • 仿京东淘宝购物商城手机小程序全套页面业务流程源码
    分享一个仿淘宝京东商城的小程序源码,是使用微信开发者工具开发的,亲测可直接运行。该程序包含了详细完整的框架架构结构,从设计上满足了相关应用服务的设计要求,是一款非常值得学习小程序源码。源码地址项目目录效果预览......
  • 【化学发光医疗器械之整机测试流程】
    基础性能测试:熟悉仪器结构,使用调试软件调节好各组件参数进行液路灌注(清洗液,底物充足),检查液路是否通畅,反应杯充足,废杯盒空间充足,废液桶空间充足进行称重测试包括:针称重(包括高中低注液量),清洗液称重(一二三阶),底物称重(AB液),吸液残留称重(一二三阶)称重测试通过技术要求后,进行温度测试......
  • 流程控制、循环语句和随机数
    一、流程控制语句流程判断1if[condition];then command commandfi[条件]&&command流程判断2if[condition];then command1else command2fi[条件]&&command1||command2流程判断3if[condition1];then command1结束elif[condition2];......
  • JavaScript正则获取a标签中的path路径值-流程引擎-计算引擎
    直接上代码://获取附件中的链接地址functionget_file_path_from_encode_value(x){vararrLink=[];x.replace(/<a[^>]*path=['"]([^'"]+)[^>]*/gi,function(match,capture){arr......