Odoo 服务器搭建备忘
前提
OS:Ubuntu 20.04LTS
Odoo:14旗舰版
数据库:Postgres13.0
*数据库和Odoo安装在一台服务器
系统设置
- 为了Log日志时间好看,进行系统时区设置
# 查看可用时区
timedatectl list-timezones
# 设置本地时区
sudo timedatectl set-timezone Asia/Singapore
# 查看效果
timedatectl
# 重启服务
sudo reboot
- 安装数据库Postgres
- 参考官网教程
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get -y install postgresql-13
# 默认会使用系统时区
- 查看安装结果
# 查看服务启动情况
service postgresql status
# 查看监听端口
ss -nlt | grep 5432
- 添加数据库的Odoo用户
# 创建用户:odoo
sudo -u postgres createuser -s -i -d -r -l -w odoo
# 设置密码:odoo
sudo -u postgres psql -c "ALTER ROLE odoo WITH PASSWORD 'odoo';"
# 测试是否可以链接
psql -h 127.0.0.1 -U odoo -d postgres
# 进入后查看odoo用户权限(必须有创建数据库权限initdb)
\du
- 配置数据库
sudo vi /etc/postgresql/13/main/postgresql.conf
# 日志保存天数设置
log_rotation_age = 7d
# 时区确认
log_timezone = 'Asia/Singapore'
timezone = 'Asia/Singapore'
- 安装Nginx
- 参考官网教程
deb https://nginx.org/packages/ubuntu/ focal nginx
deb-src https://nginx.org/packages/ubuntu/ focal nginx
sudo apt update
sudo apt install nginx
# 查看服务
sudo systemctl status nginx
- 安装Odoo
- 安装PDF账票出力包,下载地址
sudo apt-get install -y --no-install-recommends ./wkhtmltox.deb
sudo rm -rf /var/lib/apt/lists/* wkhtmltox.deb
- 安装pip和其他pip包
sudo apt-get install -y --no-install-recommends \
ca-certificates \
curl \
dirmngr \
fonts-roboto \
gnupg \
libssl-dev \
node-less \
npm \
python3-num2words \
python3-pdfminer \
python3-pip \
python3-phonenumbers \
python3-pyldap \
python3-qrcode \
python3-renderpm \
python3-setuptools \
python3-slugify \
python3-vobject \
python3-watchdog \
python3-xlrd \
python3-xlwt \
xz-utils
sudo pip install --upgrade pip
# 不更新二维码生成或者图片上传会失败
sudo pip install reportlab --upgrade
# 前台渲染用
sudo npm install -g less
- 下载旗舰版安装包,如果有PartnerCode就带在链接后面:https://www.odoo.com/page/download?code=xxxxxx
- 下载包放入服务器,参考官网教程安装
# 进入root权限
sudo su
# 尝试安装,如果失败进行apt包安装
dpkg -i odoo_e22222.deb
# 上面失败后,执行这步会安装相关包
apt-get install -f
# 再次安装
dpkg -i odoo_e22222.deb
- 配置Odoo
sudo vi /etc/odoo/odoo.conf
# 设置自己开发插件位置
addons_path = /mnt/addons
# 设置前端后台操作密码
admin_passwd = xxxxx
# 设置Session等静态文件保存路径
data_dir = /var/lib/odoo
# 设置数据库链接
db_host = localhost
db_maxconn = 64
db_name = False
db_password = odoo
db_port = 5432
db_template = template1
db_user = odoo
# 超时时间设置
limit_time_cpu = 360
limit_time_real = 720
limit_time_real_cron = -1
# 是否显示DB列表(生产环境建议关闭)
list_db = True
# log配置
log_db = False
log_db_level = warning
log_handler = :INFO
log_level = debug_rpc
logrotate = True
# 多worker会使用
longpolling_port = 8072
# 后台自动处理同时执行个数
max_cron_threads = 3
# 是否有代理
proxy_mode = False
# 启动服务时候初期化模块
server_wide_modules = base,web,web_kanban_gauge
# 测试配置
test_commit = False
test_enable = False
test_file = False
test_report_directory = False
translate_modules = ['all']
unaccent = False
# 不加载测试数据
without_demo = False
# 多线程使用。计算方式:服务器cpu 内核数*2- 自动处理个数
workers = 4
# API链接设置,参考另一篇
xmlrpc = True
xmlrpc_interface =
xmlrpc_port = 8069
- Log保存期限设置
# 系统日志配置
sudo vi /etc/logrotate.d/rsyslog
# Nginx日志配置
sudo vi /etc/logrotate.d/nginx
# Odoo日志配置
sudo vi /etc/logrotate.d/odoo
# Postgres日志配置
sudo vi /etc/logrotate.d/postgresql-common
- 设置内容如下
# 修改保存期
rotate 14
# 修改保存格式
dateext
dateformat _%Y-%m-%d
- Nginx设置
- 参考Odoo例子配置,主要转发到8069和8072端口
#odoo server
upstream odoo {
server 127.0.0.1:8069;
}
upstream odoochat {
server 127.0.0.1:8072;
}
# http -> https
server {
listen 80;
server_name odoo.mycompany.com;
rewrite ^(.*) https://$host$1 permanent;
}
server {
listen 443 ssl;
server_name odoo.mycompany.com;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
# Add Headers for odoo proxy mode
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
# SSL parameters
ssl_certificate /etc/ssl/nginx/server.crt;
ssl_certificate_key /etc/ssl/nginx/server.key;
ssl_session_timeout 30m;
ssl_protocols TLSv1.2;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
# log
access_log /var/log/nginx/odoo.access.log;
error_log /var/log/nginx/odoo.error.log;
# Redirect longpoll requests to odoo longpolling port
location /longpolling {
proxy_pass http://odoochat;
}
# Redirect requests to odoo backend server
location / {
proxy_redirect off;
proxy_pass http://odoo;
}
# common gzip
gzip_types text/css text/scss text/plain text/xml application/xml application/json application/javascript;
gzip on;
}
Odoo 服务器搭建备忘的更多相关文章
- 云效(阿里云)流水线 + nginx + uWsgi + flask + python3 基础环境搭建 --备忘
一.开发环境搭建 1.安装python3 yum -y groupinstall "Development tools" yum -y install zlib-devel bzi ...
- 嵌入式Linux环境搭建备忘
嵌入式Linux开发平台搭建步骤: 1.安装宿主机Linux系统 如果选用最新的Linux发行版,应改主意其他软件是否能很好的兼容. 2.安装交叉编译器 交叉编译器的版本很多,一般到芯片厂家官网下载官 ...
- LAMP 环境搭建备忘 -- Linux的安装(一)
LAMP指的是 Linux + Apatch + MySQL / MariaDB + PHP/Perl/Python 一套搭建网站服务器的开源软件组合.工作原理图如下: 下面开始环境搭建 1 Linu ...
- django项目环境搭建备忘
由于使用python3,所以尽量为每个项目配置虚拟环境来管理各个项目的=. 新建一个项目文件夹,进入该路径 python3 -m venv ll_env 然后激活虚拟环境 source ll_env/ ...
- Centos7 Redis3.0 集群搭建备忘
(要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下) 127.0.0.1:7000 127.0.0. ...
- LAMP环境搭建备忘 -- MariaDB 安装(三)
因为 MySQL 的一些原因,在 Linux 平台上的开源数据库渐渐被 MariaDB 取代. MariaDB 安装命令如下图 安装成功后,接下来就启动这个数据库服务 我们还需要对数据库做一些初始化的 ...
- LAMP环境搭建备忘 -- Apache、pHp 安装 (二)
上一篇 Linux 已经安装好了,我们选择了 CentOS 7 的最小化安装,即没有图形界面,并且我们在安装时设置了网络连接即能够连上外部网络,还设置了 root 密码.下面我们要在此基础上继续安装 ...
- UE4 ios环境搭建备忘
1.windows.mac安装证书 2.安装xcode .app -- 路径可以拖入 sudo gem install xcodeproj 3.错误处理 Setting up Mono Running ...
- SSO之CAS备忘
http://blog.chinaunix.net/uid-28380443-id-4740103.html 自己负责的公司基于CAS单点登录平台架构已经上线运行,很多细节的东西是时候备忘一下了,开源 ...
随机推荐
- JNDI With RMI
JNDI With RMI JNDI with RMI JNDI即Java Naming and Directory Interface(JAVA命名和目录接口),jndi类似于一个索引中心,允许客户 ...
- loj#6072 苹果树(折半搜索,矩阵树定理,容斥)
loj#6072 苹果树(折半搜索,矩阵树定理,容斥) loj 题解时间 $ n \le 40 $ . 无比精确的数字. 很明显只要一个方案不超过 $ limits $ ,之后的计算就跟选哪个没关系了 ...
- 洛谷P1091 [NOIP2004 提高组] 合唱队形
本题是一个简单的 LIS(最长上升子序列)问题 只是要求俩次最长上子序列而已 很容易的 首先由于是最长上升子序列 所以朴素法的动态规划表达式为 f[i] = max( f[i] , f[ ...
- Java 实现汇总排序
排序在系统中经常能用到,一般可以在数据库做排序,也可以在服务端做排序.在数据库一般使用 order by 排序.而服务端也是使用快排.本期使用汇总排序. 问题 统计销售数据,每个销售员都有对应的部门和 ...
- Java 中的 final 关键字有哪些用法?
修饰类:表示该类不能被继承: 修饰方法:表示方法不能被重写: 修饰变量:表示变量只能一次赋值以后值不能被修改(常量).
- 说出 5 条 IO 的最佳实践?
IO 对 Java 应用的性能非常重要.理想情况下,你不应该在你应用的关键路径上 避免 IO 操作.下面是一些你应该遵循的 Java IO 最佳实践: a)使用有缓冲区的 IO 类,而不要单独读取字节 ...
- 学习heartbeat-01简介
1.Heartbeat介绍 Heartbeat 是一个基于Linux开源的,被广泛使用的高可用集群系统,自1999年开始到现在,发布了众多版本,是目前开源Linux-HA项目最成功的一个例子,在行业内 ...
- Netty学习摘记 —— 心跳机制 / 基于分隔符和长度的协议
本文参考 本篇文章是对<Netty In Action>一书第十一章"预置的ChannelHandler和编解码器"的学习摘记,主要内容为通过 SSL/TLS 保护 N ...
- SQL数据库之IFNULL函数和NULLIF函数
学习IFNULL()函数 非空判断 解析 IFNULL(expression1, expression2) 如果expression1为null, 在函数返回expression2,否则将返回expr ...
- Numpy对数组按索引查询
Numpy对数组按索引查询 三种索引方法: 基础索引 神奇索引 布尔索引 基础索引 一维数组 和Python的List一样 二维数组 注意:切片的修改会修改原来的数组 原因:Numpy经常要处理大数组 ...