odoo發布與部署

2021-09-25 02:21:09 字數 4445 閱讀 8688

一,系統為ubuntu 16.04.2 lts 64位。不推薦使用windows部署線上環境,因為其不支援odoo多程序work功能

三,步驟

作業系統配置

開始前先update ,是同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,這樣才能獲取到最新的軟體包

更新一下系統源。upgrade 是公升級已安裝的所有軟體包,公升級之後的版本就是本地索引裡的,因此,在執行 upgrade 之前一定要執行 update

等待更新完繼續

可以開啟openssh server方便遠端連線,有的伺服器已經裝好了

首先建立乙個odoo使用者

python2.7

python和編譯依賴庫

不推薦使用deb方式安裝python依賴包,可能會因為依賴庫版本問題導致一些bug。

python編譯依賴

如果沒有pip使用easy_install安裝

python-pip版本比較老,所以這裡使用easy_install安裝。如果是阿里雲,系統映象自動安裝了pip,可跳過此步驟,否則可能導致no module named urllib3問題。

lxml依賴

ldap依賴

pillow 依賴庫

postgresql 依賴庫

apt-get install libpq-dev -y

virtualenv

安裝postgresql資料庫

ubuntu16.04的postgresql是9.5的, 建議開發和部署使用相同版本。

需要安裝不同版本的postgresql可以參考

安裝完postgresql資料庫後,資料庫會自動建立postgres系統使用者,在資料庫內也會有同名的資料庫使用者,可以更改這個使用者的密碼

建立使用者

postgres=# create user 「odoo10」 with password 『odoo10』 createdb;

postgres=# \q

安裝nodejs

安裝列印程式wkhtmltopdf和中文字型

ubuntu 14~16 (trusty代表1404的版本號)

由於wkhtmltopdf沒有提供1604的deb安裝包,我們可以用1404的替代

依賴報錯

使用apt-get強制安裝解決

中文字型

ubuntu

apt-get install ttf-wqy-microhei ttf-wqy-zenhei -y

驗證可以在命令列中使用wkhtmltopdf來驗證wkhtmltopdf是否正確工作

如果出現cannot connect to x server錯誤,可以參考下面鏈結在linux服務上安裝乙個x環境

ubuntu

安裝odoo

首先使用su命令切換到剛才建立的odoo使用者

root# su odoo

odoo@$ cd /opt/odoo

odoo@$ mkdir odoo10

odoo@$ cd odoo10

使用virtualenv建立虛擬環境

odoo@$ virtualenv venv

source venv/bin/activate

(venv) odoo@$ wget

(venv) odoo@$ tar xf odoo_10.0.20170408.tar.gz

(venv) odoo@$ cd odoo-10.0-20170408

安裝odoo python模組

(venv) pip install -r requirements.txt -i

這裡必須先安裝requirements.txt,因為odoo的原始碼中,setup.py依賴沒有版本號,導致安裝的python依賴和odoo requirements.txt裡版本不一致。

安裝odoo包

(venv) odoo@$ python setup.py install

(venv) odoo@$ cd …

(venv) odoo@$ rm -rf odoo-10.0-20170408

這裡把odoo src包作為python的包安裝到venv的lib裡去,安裝完成後刪除整個目錄。此時多出乙個odoo命令,你可以通過這個命令來啟動odoo專案。

nightly的src包和github的目錄結構略有不同(根目錄無odoo-bin等指令碼),適合部署安裝用,開發仍然推薦使用git的。

odoo專案配置

建立data目錄

(venv) odoo@$ cd /opt/odoo/odoo10

(venv) odoo@$ mkdir data

(venv) odoo@$ nano odoo10.conf

odoo配置內容

[options]

db_host = 127.0.0.1

db_port = 5432

db_user = odoo10

db_password = odoo10

data_dir = /opt/odoo/odoo10/data

這裡沒有配置addons_path引數,因為odoo是以包的形式安裝的,所以目錄為 /opt/odoo/odoo10/venv/lib/python2.7/site-packages/odoo-10.0.post20170408-py2.7.egg/odoo/addons。此版本的odoo把核心模組和業務模組都放在乙個目錄

啟動伺服器測試

(venv) odoo@$ odoo -c odoo10.conf

瀏覽器訪問 http://server_ip:8069

配置開機啟動指令碼

使用systemd模式,如不了解請看faq。

配置內容

[unit]

description=odoo10

requires=postgresql.service

after=postgresql.service

[service]

type=******

permissionsstartonly=true

user=odoo

group=odoo

syslogidentifier=odoo10

execstart=/opt/odoo/odoo10/venv/bin/python /opt/odoo/odoo10/venv/bin/odoo -c /opt/odoo/odoo10/odoo10.conf

[install]

wantedby=default.target

執行這樣配置之後,ubuntu重啟了,odoo服務自動啟動(nginx和postgresql的自啟動服務系統以及幫我們新增)

之後更新odoo10.service,需通過systemctl daemon-reload和systemctl restart odoo10.service重啟odoo程序,另外使用systemctl status odoo10.service 可以了解當前服務的狀態。

檢視程序

檢視服務狀態

瀏覽器訪問 http://server_ip:8069

重啟伺服器驗證

配置nginx反向**

安裝新建odoo10_nginx.conf並新增內容

upstream odoo

upstream odoochat

server

location /longpolling }

重啟nginx服務

注意如過設定了longpolling單獨**upstream,下文中設定workers不能為0(列印支援必須大於1)。

odoo日誌配置

在odoo.conf裡面加上

log_level = warn

logfile = /opt/odoo/odoo10/odoo10.log

重啟odoo服務

odoo配置安全項

啟用web資料庫管理密碼 admin_passwd(不能設定為admin,無效密碼)

admin_passwd = 123456

監聽ip段改為本地(127.0.0.1), 可實現禁止外網直接訪問odoo(預設0.0.0.0)

xmlrpc_inte***ce = 127.0.0.1

監聽埠(預設8069)

xmlrpc_port = 8069

增加workers

workers = 2

import multiprocessing

multiprocessing.cpu_count()

獲得cpu個數+1 為workers個數

更多請看本站 odoo效能調優介紹

新增自己的外掛程式

mkdir /opt/odoo/odoo10/myaddons

addons_path = /opt/odoo/odoo10/myaddons

測試重啟電腦,訪問 http://server_ip

odoo專案的發布與部署

準備centos7系統 安裝odoo 我們直接使用最新的latest系統 安裝使用yum localinstall自動解決rpm依賴 先安裝源,然後通過源的方式安裝 yum install yum install postgresql95 server postgresql95 contrib 初始...

odoo 部署問題彙總

問題 列印格式錯誤,缺少第三方庫 libsass 解決 pip install libsass 問題 列印問題,無法預覽 列印 解決 安裝wkhtmltopdf,並不是簡單的 pip install 步驟 安裝 新增環境變數 以預設安裝路徑為例,安裝路徑 c program files wkhtml...

版本部署與發布

svn根目錄 trunk 主開發目錄。branches 分支開發目錄及測試目錄,版本正式發布並生成tag後刪除。tags 已發布版本 包括補丁 的存檔目錄,不允許修改。release 程式發布目錄,含執行程式 公升級指令碼和標準庫。由配置管理員在版本發布時建立。trunk bin 執行程式存放路徑。...