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单点登录平台架构已经上线运行,很多细节的东西是时候备忘一下了,开源 ...
随机推荐
- 动态规划优化算法——wqs二分 and 折线优化
坑先扔着,督促自己以后来补!!!
- idea使用技巧、心得1
0.安装idea之后的准备 (1) 永久快乐使用:在我的博客搜索安装idea关键词既可 (2) 取消更新: (3) idea 官网的关于idea的使用手册:https://www.jetbrains. ...
- [使用多仓库解决] idea maven 下载源码出现:Cannot download sources Sources not found for: xxx
根本原因 依赖托管仓库的库存不足.有的仓库,就是没有团队上传这个依赖.所以多加几个镜像源,总有一个仓库能找到. 解决方案 修改 maven 默认配置文件 "C:\Users\<user ...
- 你如何在 Java 中获取线程堆栈?
kill -3 [java pid] 不会在当前终端输出,它会输出到代码执行的或指定的地方去.比如,kill -3 tomcat pid, 输出堆栈到 log 目录下. Jstack [java pi ...
- 什么是通知(Advice)?
特定 JoinPoint 处的 Aspect 所采取的动作称为 Advice.Spring AOP 使用一 个 Advice 作为拦截器,在 JoinPoint "周围"维护一系列 ...
- RocketMQ实现分布式事务
相关文章:http://www.uml.org.cn/zjjs/201810091.asp(深入理解分布式事务,高并发下分布式事务的解决方案) 三种分布式事务: 1.基于XA协议的两阶段提交 2.消息 ...
- Java 中应该使用什么数据类型来代表价格?
如果不是特别关心内存和性能的话,使用 BigDecimal,否则使用预定义精度的 double 类型.
- 遇到的问题之“解决tomcat中文乱码问题”
方案1:在server.xml中添加了 URIEncoding="UTF-8" 属性 路径:C:\stop\apache-tomcat-8.5.69\conf 修改内容 如若方案1 ...
- printf()函数压栈a++与++a的输出
printf()中a++与++a的输出问题 在C语言中有个很常用的函数printf(),使用时从右向左压栈,也就是说在printf("%d %d %d %d\n",a,a++,++ ...
- 给大家补充一个结构体的例子:下面TwoNumber就是一个形式上的结构体
给大家补充一个结构体的例子:下面TwoNumber就是一个形式上的结构体: class TwoNumber { int num1; int num2; } public class T ...