一,系統為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 multiprocessingmultiprocessing.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 執行程式存放路徑。...