代码拉取

首先登录gitlab代码地址库https://git.xxxx.com/users/sign_in
账号/密码:需要使用公司分配的账号和密码----git账号

分别拉取对应代码仓库的代码

登录服务器在要部署的路径下
Master分支拉去
git clone -b master http://git.xxxx.com/roke-platform/xxx-14.git
git clone -b master-webclient https://git.xxxxx.com/xxx-platform/xxx-odoo14.git

dev分支拉去
git clone -b dev http://git.xxxxx.com/xxx-platform/xxx-14.git
git clone -b dev-webclient https://git.xxxxx.com/xxx-platform/xxx-odoo14.git

  1. 拉去代码注意事项;

  2. 安装python 环境:apt-get install python3.8* 安装python apt-get remove python3.8* 卸载3.8

  3. 提前挂载好盘符,这样可以存放更多数据

  4. 服务器必须存在git服务

  5. 拉去的代码放到新建文件夹中 mkdir dirname

  6. 在新增文件夹下新建 conf文件, vim odoo.conf

  7. 配置odoo.conf的配置文件
    [options] admin_passwd = Roke.123 addons_path = /data/cs_oodo_roke/roke-odoo14/odoo-14.0/addons,/data/cs_oodo_roke/roke-odoo14/odoo-14.0/odoo/addons,/data/cs_oodo_roke/roke-odoo14/tool_addons,/data/cs_oodo_roke/roke-odoo14/pub_addons,/data/cs_oodo_roke/roke-erp-14 #系统部署位置 db_host = 127.0.0.1 #数据访问地址 db_port = 5432 #数据库端口 db_user = roke_dome #数据账号 db_password = Roke.123 #数据库密码 timezone = Asia/Shanghai http_port = 8110 #web访问端口 longpolling_port = 18110 #长连接端口 limit_memory_hard = 12884901888 #占用内存 limit_memory_soft = 10737418240 #软件占用内容 limit_time_cpu = 2000 #占用cpu时间 limit_time_real = 2000 @占用读取内存时间 data_dir = /data/erpdata #数据存放位置 dbfilter = ris2.roke.com #数据库名称 server_wide_modules = base,web #服务模块 logfile = /data/logs/erplogs/csdemo.log #日志存放位置 logrotate = True log_handler = :external workers = 2 proxy_mode=True syslog = False

  8. 配置git不输入账号密码配置获取代码
    首先进入到 cd 配置文件地址
    再次创建文件:vim ~/.gitconfig
    添加内容:
    [credential] helper = store 然后新建一个文件,进行拉去一次git代码,以后就不需要账号和密码了 拉去后形成一个新的文档:.git-credentials 自动生成文档里面存放账号和密码

  9. postgressql配置数据库

  10. 第一种方式:在线安装
    Liunx命令:apt-get install postgresql12 -y
    注意:在线安装后,直接可以进行文件配置

  11. 第二种:离线安装
    首先下载pgsql文件,下载地址:https://www.postgresql.org/ftp/source/
    a) 安装配置postgresql,如下文档进行编辑安装
    https://www.cnblogs.com/zcxxcvbn/p/17187869.html

  12. 配置数据库文档
    数据库默认安装地址:/usr/local/pgsql/bin
    a) 操作部署-改变数据库文件所属者
    新增pgsql用户,进入到/usr/loacl/pgsql创建data,并赋予权限
    adduser postgres 设置密码然后回车
    cd /usr/local/pgsql
    mkdir data chown -R postgres:postgres pgsql/ ./usr/local/pgsql pgsql文件夹授权给postgres用户 su postgres 切换成数据库权限用户

  13. 初始化数据库

  • 初始化数据命令:
  • usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
  • 解析命令:-D /usr/local/pgsql/data 是指初始化数据位置
  1. 设置数据日志
  • 配置数据信息:/usr/local/pgsql/bin/postgres -D
  • 切换用户:su root
  • 配置数据库日志文件:/usr/local/pgsql/data >logfile 2>&1 &
  1. 启动数据库
  • cd /usr/loacl/pgsql/bin 进入到数据bin文件夹
  • su postgres #切换数据库用户
  • ./pg_ctl start -D /data/date/ #启动数据
  • pg_ctl -D /data/date/ start 启动服务
  • ./pg_ctl -D /data/date/ stop 停止数据库服务
  1. 操作数据库
    a) 进入页面命令操作页面:
    进入位置:cd /usr/local/pgsql/bin 首先切换成数据库用户 su postgres 运行数据:./psql 更改postgres用户密码:ALTER USER postgres PASSWORD 'Roke.123'; 新建普通用户 roke_dome: CREATE USER roke_dome WITH PASSWORD 'my_password'; 本地用户登录:psql -U roke_dome -h 127.0.0.1 -p 5432 history |grep ln 查询使用命令 配置软连接是必须配置到文档,不是文件夹 ln -sf /usr/local/pgsql/bin/pg_dump /usr/bin/pg_dump 备份数据时 环境配置
    b) 用户授权:
    i. 依据文件:https://zhuanlan.zhihu.com/p/651584528?utm_id=0
    https://blog.csdn.net/songyundong1993/article/details/131771107
    登录权限
  • CREATE ROLE user1 LOGIN;
  •  CREATE ROLE role1;
  •  通过\du命令可以查看到user1具有登录权限,role1不具有登录权限
  •  创建超级用户权限
  •  CREATE ROLE super1 SUPERUSER;
  •  创建数据库权限
  •  CREATE ROLE dbmanager1 CREATEDB;
  •  创建角色权限
  •  CREATE ROLE rolemanager1 CREATEROLE;
  •  发起流复制权限
  •  CREATE ROLE replicator1 REPLICATION LOGIN;
    1. 为数据库创建软连接---遇到无法直接运行时
  •  ln -s /usr/local/pgsql/bin/pg_ctl /usr/bin/pg_ctl
  •  ./psql
  1. 配置远程—出现一下情况远程无法链接

出现这样情况,是因为没有添加远程链接方式
配置文件地址:pg_hba.conf 位置:/data/date/pg_hba.conf

配置postgresql.conf 位置/data/date/postgresql.conf

出现无法本地登录情况—需要授权登录

 CREATE ROLE user1 LOGIN;
3. 搭建nginx服务
https://blog.csdn.net/m0_52985087/article/details/132063280默认地址找到,配置文件/etc/nginx/nginx.conf文件,按照此样例配置相应的参数,修改proxy_pass 参数,代表转发的web端的ip和端口,配置相对应的服务部署的。
注意:启动服务后有问题,需要进入到oodo里配置日志中进行查看运行问题

  1. 安装nginx

出现如图所示错误,而且使用ss -nat命令查看服务时也没有出现nginx的80端口
我的解决办法是把原先的nginx卸载掉
 sudo apt-get remove nginx nginx-common
 sudo apt-get purge nginx nginx-common
 sudo apt-get autoremove
 sudo apt-get remove nginx-full nginx-common
然后再重新安装nginx
 sudo apt-get install nginx
2. 配置nginx
配置信息地址:https://blog.csdn.net/weixin_65680938/article/details/129829986
安装完成,查看端口号:netstat -lntp nginx端口80
使用命令:nginx -t 检测配置文件是否错误
使用命令:nginx -s reload 重启服务
查看动态日志:tail -f /data/logs/erplogs/cs-5052.log 动态日志查看 -f 500 前面500条
systemctl status nginx.service
systemctl start nginx.service
systemctl stop nginx.service

配置文件位置:
 usr/sbin/nginx:主程序
 /etc/nginx:存放配置文件
 /usr/share/nginx:存放静态文件
 /var/log/nginx:存放日志
3. 以IP 方法配置映射接口
配置文件server 模块,必须放到http模块中,服务器必须在安全组内开通5000端口
server {
listen 5000; #监听端口
location / {
proxy_pass http://127.0.0.1:8110; #映射使用端口
#proxy_set_header Host $host;
#proxy_set_header X-Real-IP $remote_addr;
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_set_header REMOTE-HOST $remote_addr;
#add_header X-Cache $upstream_cache_status;
#add_header Cache-Control no-cache;
}
client_max_body_size 3072m;
proxy_connect_timeout 2000s;
proxy_send_timeout 2000s;
proxy_read_timeout 2000s;

	}
  1. 以域名方式配置映射
cs-master
    server {
    server_name  cs-master.xbg.rokeris.com;
    location / {
            add_header 'Access-Control-Allow-Headers' 'x-session-id';

            proxy_pass        http://127.0.0.1:8110/;
            proxy_set_header  Host             $host;
            proxy_set_header  X-Real-IP        $remote_addr;
            proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
            proxy_set_header  X-Forwarded-Proto $scheme;
            }

   # location /longpolling/ {
   #         proxy_pass        http://127.0.0.1:18211/longpolling/;
   #         proxy_set_header  Host             $host;
   #         proxy_set_header  X-Real-IP        $remote_addr;
   #         proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
   #         proxy_set_header  X-Forwarded-Proto $scheme;
   #         }

            listen 80; # managed by Certbot
            client_max_body_size   3072m;
            proxy_connect_timeout  2000s;
            proxy_send_timeout     2000s;
            proxy_read_timeout     2000s;


    }
  1. 配置service 启动
    可以按照以下样例进行修改 创建地址:/etc/systemd/system
    Description service 服务名称
    ExecStart python环境 对应部署的路径和conf文件路径
    启动服务:service odoo-dome14 start odoo-dome14 服务名称
    配置服务 模块如下:
    [Unit]
    Description=Odoo14 odoo-dome14 # 启动的服务名称必须一致

Requires=postgresql

After=postgresql.service

[Service]
Type=simple
User=root
Group=root
ExecStart=/usr/bin/python3.6 /data/alone-erpserver/cs-kycj/roke-odoo14/odoo-14.0/odoo-bin -c /data/alone-erpserver/cs-kycj/odoo.conf -u roke_mes_base -u表示运行前进行升级roke_mes_base模块

[Install]
WantedBy=multi-user.target

配置后启动服务为:
sudo systemctl enable odoo-14.service 关闭服务
service odoo-14.service status 状态查看
service odoo-14.service start 启动服务
service odoo-dome14 restart 重启服务

  1. 服务运行---需要所有服务配置完成后进行运行
    a) 运行服务遇到问题-因为数据用户权限过大无法链接服务
    i. 需新增用户给与授权

运行遇到缺陷模块进行安装 - PyPDF2
python3 -m pip install PyPDF2 python3安装软件包
存在错误查看日志
tail -f /data/logs/erplogs/csdemo.log 服务运行日志
less /data/logs/erplogs/csdemo.log
查询文件位置:
Find -name “csdemo.log” 最好在根目录下
通过访问端口8110 访问i
创建数据库,需要与odoo.conf文件中数据库名称一致“dbfilter = ris2.roke.com #数据库名称
访问成功后进行修改图标:系统设置-组织管理,上传文件即可

修改版本号
update ir_config_parameter set value = 'V 4.6' where key = 'system.version' 修改版本号修改图标:
首先安装报表组件
使用?debug=1 ,添加到url 进行安装模块—报表组件
http://116.204.21.98:8110/web?debug=1

然后使用?debug=1 ,添加到url 进行安装模块—销售模块

  1. 如何更新
    必须进入到git获取下来文档夹中,才能使用git pull 进行升级获取不同的信息
    例如:进入 /data/cs_test_dev/roke-erp-14 使用git pull 拉去代码

  2. 添加文档模块部署

  3. 开发提供需要安装模块文档

  4. 在服务器上创建一个文件夹,然后把文档转移到服务器上
    a) 首先看一下文档格式,不是tar\zip就先先把文档修改格式后传到服务器上
    b) 解压完文档进入进入需要配置环境内修改odoo.conf文件,添加文档放在位置:

c) 然后进行重启服务,重启之后进入到系统中
d) 在系统中进入到“应用管理”-“刷新本地模块列表”,然后进入到“主应用”,查询添加的应用名称“mkx”,展示出来说明本地部署没有问题