FreeBSD下使用qjail部署odoo

近年来 docker 很火热,这种容器技术让代码的部署变得很简单。其实,在 FreeBSD 下,也有一种容器技术比 docker 还要简单,容易使用。

FreeBSD 11中新增加了一个jail管理工具,叫QJAIL。这个工具更加简化了jail的管理。下面就不多说了,直接上代码。

安装 qjail 容器环境

安装 qjail 容器

pkg install qjail

建立新容器

qjail create -4 192.16.1.12 odoo

查看容器列表

qjail list

启动容器

qjail start odoo

进入容器

qjail console odoo

配置网络访问权限

qjail config -k odoo

注意:小k代表启动row_socket,大K代表禁用row_socket,而且要在jail停止的情况下可以配置

安装 Postgresql

安装 Postgresql 服务

pkg install postgresql10-server

准备 odoo 数据目录

mkdir /var/pgsql
mkdir /var/pgsql/data
chown -R postgres /var/pgsql
chmod -R 777 /var/pgsql/data

配置 rc 开机服务

ee /etc/rc.conf
增加
postgresql_enable="YES"
postgresql_data="/var/pgsql/data"
postgresql_class="postgres"
postgresql_initdb_flags="--encoding=UTF8 --locale=en_US.UTF-8"

启动 Postgresql 服务

service postgresql restart

启用 sysvipc_allowed 共享内存

qjail config -y odoo

初始化 postgresql 服务

cd /var/pgsql/data
su postgres
initdb -D /var/pgsql/data

查看版本

postgres --version
mkdir /var/pgsql/log
pg_ctl -D /var/pgsql/data -l /var/pgsql/log/logfile start

登入数据库

su posgres
psql postgres
# 创建数据库
CREATE user odoo  WITH PASSWORD '123' CREATEDB;
# 退出数据库
Ctrl+d

安装 Python 语言环境

安装 python36 语言环境

pkg install python36

安装 bash 语言环境

pkg install bash

安装 Odoo 应用环境

进入 Bash 环境

 bash

下载 Odoo 代码

cd /applicaion/install
wget https://download.odoocdn.com/12.0/nightly/src/odoo_13.0.latest.tar.gz
tar -zxvf odoo_13.0.latest.tar.gz

安装 Odoo 依赖包

pip-3.6 install -r requirements.txt

备注:有些依赖包安装不上,可以用系统 pkg 安装直接安装编译好的版本。

安装 Odoo 包

python setup.py install

运行 Odoo 应用

# 建立 odoo 用户
adduser --system --group odoo
# 目录设置
chown odoo:odoo /applicaion/odoo/
chmod -R 777 /applicaion/odoo/
# 运行
python3.6 /applicaion/odoo/odoo-bin --db-filter=odoo

supervisor 服务管理

安装 supervisor  服务

pkg install py27-supervisor

配置 supervisor  服务

ee /usr/local/etc/supervisord.conf
启用
port=127.0.0.1:9001
[include]
追加
[include]后面加入
files = supervisor/conf.d/*.conf

建立程序目录

mkdir -p /usr/local/etc/supervisor/conf.d
mkdir -p /var/log/supervisord/odoo

配置文件

ee /usr/local/etc/supervisor/conf.d/odoo.conf

[program:odoo]
command=python3.6 odoo-bin --addons-path=addons --db-filter=odoo
directory=/applicaion/odoo/
autorestart=true
stderr_logfile=/var/log/supervisord/odoo/odoo-err.log
stdout_logfile=/var/log/supervisord/odoo/odoo-out.log
environment=HOME="/applicaion/odoo",USER="odoo"
user=odoo
stopsignal=INT
autorestart=true
startsecs=1


系统服务配置

ee /etc/rc.conf
追加
supervisord_enable="YES"

重启服务

service supervisord restart
备注:若是无法启动,执行此命令:unlink /var/run/supervisor/supervisor.sock

使用 supervisorctl 管理交互界面

http://192.16.1.12:9001

你可能感兴趣的:(FreeBSD下使用qjail部署odoo)