`

OpenERP 部署环境使用说明

    博客分类:
  • ERP
 
阅读更多
                               OpenERP 上线文档
                               Jack.Wang(Email:blueyang.wang@gmail.com)
                               (2011-12-26)
1. 系统基本配置:
   1.1 操作系统: CentOS 5.6
   1.2 磁盘划分:
                /          -----------> 100G
                /usr/local -----------> 200G
                /home      -----------> 50G
                /opt       -----------> 100G
                swap       -----------> 10G
   1.3 数据库:  postgresql-9.1.2(OpenERP6.0需要postgresql-8.2版本或者以上)
   1.4 Python:  Python 2.6(OpenERP6.0需要Python2.5版本或者以上)

2. 创建用户openerp(用于启动OpenERP的用户)

3. 安装,配置数据库(postgresql):
   ------------------------------------------------------------------------------
   3.1 安装:
       # yum install postgresql postgresql-server
       # yum install postgresql-devel (这是需要的,不然安装psycopg2是安装不了的)
   3.2 配置:
       3.2.1 设置服务开机自动启动:
              # chkconfig postgresql on
       3.2.2 启动服务:
              # /etc/init.d/postgresql start
   3.3 添加openerp用户:
       3.3.1 # su - postgres
       3.3.2 -bash-3.2$ createuser --no-superuser --createdb --no-createrole \
                                   --login --pwprompt --encrypted
   ------------------------------------------------------------------------------
   由于CentOS 5.6默认的postgresql为8.1.23版本,是不符合要求的,所以需要自己手动编译
   ------------------------------------------------------------------------------
   下载postgresql-9.1.2
   系统需求确认:
        make 3.80版本或者以上(满足make 3.81)
        C compiler
        tar gzip bzip2
        readline readline-devel
        zlib zlib-devel
        full Perl installation, including the "libperl" library and the header files
   安装:
        解压缩postgresql-9.1.2.tar.bz2($POSTPATH)
        # useradd postgres
        # cd $POSTPATH
        # ./configure
        # make
        # make install
        # chown -R postgres:postgres /usr/local/pgsql
        # su - postgres
        $ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data   # 初始化数据库
        $ vim /usr/local/pgsql/data/postgresql.conf(根据需要)
          去掉 listen_addresses 前面的注释并设置参数为 *
          去掉 port 前面的注释       
        $ vim /usr/local/pgsql/data/pg_hba.conf(根据需要)
        $ /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
          或者
          (/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start) # 启动服务器
        $ /usr/local/pgsql/bin/createuser --no-superuser --createdb --no-createrole --login --pwprompt --encrypted (添加用户)
        # ln -s /usr/local/pgsql/bin/psql /usr/bin/psql(创建软链接)
        $ psql (登录)
        ------------------------------------------------------------------------------------------------
        设置自动启动脚本
        # cp /home/openerp/postgresql-9.1.2/contrib/start-scripts/linux /etc/init.d/postgres
        # chomd +x /etc/init.d/postgres
        # service postgres start (启动)
        # chkconfig postgres on(开机自动启动数据库)

4. 安装Python 2.6
   -------------------------------------------------------------------------------------
   CentOS 5.6默认的Python版本为2.4的,所以需要自己手动安装Python
   -------------------------------------------------------------------------------------
   4.1 下载源码:Python-2.6.tar.bz2
   4.2 安装需要的库
       # yum install sqlite-devel openssl-devel bzip2-devel gdbm-devel readline-devel \
                     ncurses-devel libxml2-devel libxslt-devel
   4.3 解压缩,安装
       $ tar jxvf Python-2.6.tar.bz2
       $ cd Python-2.6
       $ ./configure --prefix=/opt/apps/python2.6
       $ make
       $ make install
       $ sudo ln -s /opt/apps/python2.6/bin/python /usr/bin/python2.6   #创建链接
   4.4 安装easy_install
       4.4.1 下载ez_setup.py
       4.4.2 安装:
             $ python2.6 ez_setup.py
             $ sudo ln -s /opt/apps/python2.6/bin/easy_install /usr/bin/easy_install2.6

5. 将/opt目录改为openerp拥有(openerp用户使用)
   # chown openerp:openerp /opt/
   # su - openerp
   $ mkdir /opt/apps  (用于存放OpenERP应用)

6. 安装OpenERP需要的Python库
   $ easy_install2.6 lxml
   $ easy_install2.6 psycopg2
   $ easy_install2.6 pyaml
   $ easy_install2.6 reportlab
   $ easy_install2.6 mako
   $ easy_install2.6 pil
   --------------------------------------------------------------------------------------
   $ easy_install2.6 cherrypy
   $ easy_install2.6 formencode
   $ easy_install2.6 simplejson
   $ easy_install2.6 babel
   $ easy_install2.6 pytz
   --------------------------------------------------------------------------------------
   $ easy_install2.6 python-dateutil

7. 启动OpenERP:
   $ python2.6 /opt/apps/OpenERP/openerp-server/bin/openerp-server.py --db_user=openerp \
                                                               --db_password=openerp
   $ python2.6 /opt/apps/OpenERP/openerp-web/openerp-web.py
   ---------------------------------------------------------------------------------------
   安装OpenERP(Server端):
        $ cd /opt/apps/OpenERP/openerp-server/
        $ sudo python2.6 setup.py install
        # ln -s /opt/apps/python2.6/bin/openerp-server /usr/bin/openerp-server
        $ openerp-server (启动)
   (Web端):
        $ cd /opt/apps/OpenERP/openerp-web/
        $ sudo python setup.py install
        # ln -s /opt/apps/python2.6/bin/openerp-web /usr/bin/openerp-web
        $ openerp-web
   具体用法:
        $ openerp-server &
        $ openerp-web &
        上述命令如果是用ssh启动的话,会出现问题(ssh断开连接的时候,相应的开启的服务也会关闭),解决方案:
        #nohup program &(可以保证关闭ssh后,ssh开启的服务依旧运行),即:
        $ nohup openerp-server &
        $ nohup openerp-web &
       
8. 防火墙设置(开通8080访问的端口)
   8.1 安装iptables
       # yum install iptables
   8.2 初始化iptables
       # iptables -F
   8.3 定制过滤规则
       # vim /etc/sysconfig/iptables
       ************************************************************
       *filter
       :INPUT ACCEPT [0:0]        # 定义了内建的INPUT链
       :FORWARD ACCEPT [0:0]      # 定义了内建的FORWARD链
       :OUTPUT ACCEPT [0:0]       # 定义了内建的ACCEPT链
       :RH-Firewall-1-INPUT - [0:0]  # 创建一个被称为RH-Firewall-1-INPUT的新链
       -A INPUT -j RH-Firewall-1-INPUT   # 这条规则将添加到INPUT链上,所有发往INPUT链上的数据包将跳转到RH-Firewall-1链上
       -A FORWARD -j RH-Firewall-1-INPUT
       -A RH-Firewall-1-INPUT -i lo -j ACCEPT   # 这条规则将被添加到RH-Firewall-1-input链,他可以匹配所有的数据包,其中
                                                # 流入接口(-i)是一个环路接口(lo), 匹配这条规则的数据包将全部通过(ACCEPT),
                                                # 不会再使用别的规则来和它们进行比较
       -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j DROP  # 拒绝所有的icmp包-p后是协议如:icmp, tcp, udp。端口是
                                                               # 在-p后面--sport源端口,--dport目的端口。-j指定数据包
                                                               # 发送的
       # 接受下面的防火墙设置
       # -m state --state ESTABLISHED,RELATED这个条件表示所有处于 ESTABLISHED或者 RELATED状态的包,策略都是接受的。
       # -m state --state NEW 这个条件是当connection的状态为初始连接(NEW)时候的策略
       -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
       -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
       -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
       # 拒绝所有的
       -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
       COMMIT
   8.4 让规则生效
       # /etc/init.d/iptables restart
   8.5 测试通过
       # ping 172.17.16.56 (ping不通)

-----------------------------------------------------------------------------------------------
遇到的问题:
1. ImportError: No module named _thread
   解决方案:
        是dateutil版本的问题,降低版本为1.5
        $ easy_install2.6 python-dateutil==1.5
  
0
1
分享到:
评论
1 楼 wl59138528 2013-03-19  
由于Python臭名昭著的GIL问题,OpenERP 6.1以前的版本,只能单进程运行。在单进程模式下,OpenERP永远只能利用单核CPU。也就是说,即使你的服务器硬件非常牛,例如有多核多颗CPU,但OpenERP却不会利用。较高负荷的情况下,网页响应速度很慢,但用top看CPU利用率,却非常低(急煞人又气煞人)!
不过,从OpenERP 6.1开始,事情有了改变。这得从“绿色独角兽“说起。在互联网开发领域,Python语言由于其简洁、快速、强大的编程能力,很多Web程序都用Python编写。为了应对互联网的海量访问,这些Web程序必须能够充分利用多核和多CPU!“绿色独角兽”Gunicorn就是用来解决这个问题的!凡是遵循WSGI标准的Web应用,在gunicorn的帮助下,可以自动fork出多进程,从而充分利用CPU。OpenERP 6.1开始,完全遵循WSGI标准,重写了Web端代码,能够支持多进程,从而大幅提高系统性能。
据我们测试,在2核、2G内存的Linux Cloud Server上,20用户(客服和物流人员)在线操作,OpenERP一小时处理的淘宝订单数量超过3000单。如果集群多台服务器,OpenERP订单处理能力可以无限扩展。

据悉,上海海龙生物技术公司,他们基于OpenERP 7.0开发了公司的电子商务ERP系统。该系统自动从淘宝上导入订单,客服人员使用系统确认订单,物流部门通过系统拣货、验货和发货。采购和仓管部门也通过该系统下单采购及库存管理。高峰时候,海龙公司来自天猫店的日订单数量将近20,000单。他们将系统部署在一台4核双CPU的Linux服务器上,得益于OpenERP的多进程并发处理能力,系统运行非常稳定、高效。
海龙信息部李主任说:事实证明,当初我们大胆选择OpenERP架构我们的电子商务处理系统是非常正确的!以前,他们用的是一家商业ERP软件,去年在MS的反盗版行动中被盯上了,要求每年缴纳不菲的Windows Server和SQL Server的License费用。加之商业软件定制能力差,难以满足他们日益发展的新需求,因而李主任决定试试开源ERP软件。事实证明,这个选择是非常英明的,无论是功能还是性能上,OpenERP软件都非常好的满足了公司的业务要求!现在,海龙公司的电商ERP系统全部构建在开源软件之上:操作系统是开源的Linux系统,数据库是开源的PostgreSQL,ERP是开源的OpenERP系统。

注:关于OpenERP多进程的配置技术,参考帖子:http://shine-it.net/index.php/topic,5791.msg14374.html#msg14374

相关推荐

    openerp部署训练文档

    Openerp部署训练文档 知识点一:安装OpenERP 1.1 OpenERP的安装方式 1.2 从源码安装OpenERP 1.3 基于Debian的Linux系统典型的基础架构检查过程 1.4 包安装 1.5 数据库创建 知识点二:构建OpenERP模块 2.1 OpenERP...

    openERP 7.0使用手册 第三章 OpenERP快速入门

    OpenERP 7.0 使用手册第三章 OpenERP 快速入门 OpenERP 是一种开源的企业资源计划(ERP)软件,它可以帮助企业管理其业务操作,包括销售、采购、库存、财务等。下面是 OpenERP 7.0 使用手册第三章 OpenERP 快速入门...

    odoo 原openerp 最新 开发者文档 说明书

    odoo 原openerp 最新 开发者文档 说明书,还比较新,8.0 9.0 10.0

    openerp+nginx配置方法

    openerp+nginx配置方法, 非常详细的资料,可以参考使用。

    openerp开发环境

    开发OpenERP需要一个支持Python的运行环境,通常推荐使用Ubuntu或Debian作为开发主机,因为它们与OpenERP的兼容性较好。确保操作系统版本为64位,并安装最新版本的Python 2.7(OpenERP 7及更早版本支持)或Python 3...

    openERP 7.0使用手册 第十一章 消息和邮件

    openERP 7.0使用手册 第十一章 消息和邮件

    openERP 7.0使用手册 第五章 采购基本操作

    《OpenERP 7.0使用手册 第五章 采购基本操作》 OpenERP 7.0的采购管理是企业资源规划系统中一个重要的组成部分,它涵盖了从采购需求产生到完成付款的全过程。本章主要讨论了采购的基本操作,包括采购订单的创建、...

    使用虚拟机VM运行Linux版OpenERP

    OpenERP、Linux版、虚拟机VM、如何使用虚拟机VM运行Linux版OpenERP

    OpenERP开发基础教程

    OpenERP应用和开发基础,主要讲述OPENERP的系统架构以及基本知识,还有开发的一些基本语法等,非常适合入门者使用。

    OpenERP在Ubuntu上安装说明

    4. 配置OpenERP服务器:编辑OpenERP的配置文件/etc/openerp-server.conf,修改两个配置项,包括取消强制使用特定数据库以及设置连接PostgreSQL数据库的密码:db_name==db_useropenerpdb_password=openerppassword。...

    openerp教程

    openerp教程

    openERP 7.0使用手册 第七章 生产基本操作

    《OpenERP 7.0使用手册 - 生产基本操作》 在OpenERP 7.0中,生产管理涉及多种操作,主要包括面向不同生产计划方式的支持、物料清单(Bill of Materials, BoM)的管理和车间作业的管理。这些功能帮助企业有效地进行...

    openerp 7.0

    openerp 7.0 all in one版本,可能比较旧,适合小型企业部署使用

    OpenERP.rar_openERP

    数据库管理是OpenERP的一个重要部分,它使用PostgreSQL作为默认数据库,这为系统提供了强大的数据管理和事务处理能力。开发者需要了解SQL,以便有效利用数据库功能。 此外,OpenERP还支持多种集成,例如与其他应用...

    openerp.zip_openERP

    3. 配置数据库:使用PostgreSQL或其他兼容的SQL数据库创建一个新的数据库用于OpenERP。 4. 安装开发者工具:安装用于调试和开发的额外工具,如IDE(PyCharm、Visual Studio Code等),以及openerp-server的开发版本...

    openerp应用和开发

    OpenERP应用和开发基础,随着openerp的发展,越来越多的中小企业开始应用此erp系统,免费开源是最大的特点

    OpenERP 文档

    - 在测试环境中,需要一个 OpenERP 实例来运行测试。 - 这个实例可以包含预设的数据和配置。 - **DOM Scratchpad**: - DOM Scratchpad 是一个工具,用于调试和测试 DOM 相关的问题。 - 可以用来查看 DOM 结构、...

    OpenERP Installing Ubuntu9.04

    OpenERP Installing Ubuntu9.04

    OpenERP应用和开发基础文档及相关资源

    OpenERP应用和开发基础 OpenERP应用和开发基础(第一章).pdf OpenERP应用和开发基础(第二章).pdf OpenERP应用和开发基础(第三章).pdf OpenERP应用和开发基础(第四章).pdf OpenERP应用和开发基础(第五章).pdf OpenERP...

    OPENERP基础设置

    OPENERP基础设置

Global site tag (gtag.js) - Google Analytics