多个域到多个实例

时间:2014-11-05 20:18:09

标签: vps odoo

我想托管两个odoo实例或数据库(?),以确保一切都是分开的,在我妻子公司和我的租用VPS上。 我们都有域名。

我需要以下内容: - 浏览www.mywifedomainname.tld导致我妻子的消息 - 浏览www.myowndomainname.tld会导致我的odoo实例

你可以告诉我该怎么做: 1 - 我是否需要反向代理才能使多个域通向多个实例? 2 - 如果反向代理是解决方案,你知道如何在Debian(或其他发行版)上设置它的好教程吗? 3 - 我应该有2个Odoo实例还是只有2个数据库?

感谢您的关注:)

1 个答案:

答案 0 :(得分:1)

是的,我已经在我的服务器上实现了这一点。 为了实现这个目标,我测试了两种方法。这取决于你哪个人能更好地满足你的需求 1方法是odoo + wsgi + appache2 2方法是odoo + nginx + SSL 两种情况都需要代理反向。 所以请继续。 我假设你知道如何安装odoo和postgress 强制性要求:

  1. 您应该拥有可以处理多个postgress和webserver的硬件以用于多个实例。每个odoo实例都会创建它自己的进程。我的服务器(6核CPU,3 GB RAM,我的CPU负载约为5%,RAM占40%,我有6个不同的实例rub = ning在这个服务器上有不同的域名)
  2. 对于每个实例,您应该为odoo和PostgreSQL创建不同的用户
  3. 如果使用第一种方法odoo + wsgi + appach,你不需要配置openerp-server.conf文件和sturtuo脚本,我们将使用openerp-wsgi.py文件作为配置和appache来sturt odoo。

    /YOUR_ODOO1_PATH/openerp-wsgi.py 修改您的数据:


    conf['addons_path'] = 'LINK TO YOUR ODOO1 ADDONS FULL PATH FROM THE ROOT'
    
    admin_passwd = 'ODOO1 MASTR ADMIN PASSWORD'
    
    conf['db_user'] = 'ODOO1_POSTGRESQL_USER_NAME'
    
    conf['db_password'] = 'ODOO1_POSTGRESQL_USER_PASSWORD'
    
    bind = '0.0.0.0:8070'
    
    pidfile = '.gunicorn.pid'
    
    workers = 4
    
    timeout = 240
    
    max_requests = 2000
    
    conf['logfile'] = '/var/log/ODOO1/wsgi-pyton.log'
    

    将在端口8070上运行ODOO1实例

    对于每个实例,您应该使用 DIFFERENT PORT

    现在是时候配置appache服务器了: 我假设你已经安装了apache服务器 但无论如何,要做到这一点

    sudo apt-get install apache2
    

    和mod WSGI

    sudo apt-get install libapache2-mod-wsgi
    
    1. 启用所需的apache模块:

      sudo a2enmod proxy_http标题重写wsgi

    2. 如果系统错过了其中一些,您应首先安装此模块然后启用它们。您将在Apache网站上找到更多内容。

      1. 在apache中为站点odoo1.com的反向代理创建配置文件:

        sudo nano /etc/apache2/sites-available/odoo1.conf

      2. <VirtualHost *:80>
        ServerName odoo1.com
        ErrorLog /var/log/odoo1/openerp-error.log
        CustomLog /var/log/odoo1/openerp-access.log combined
        <Proxy *>
        Order deny,allow
        Allow from all
        </Proxy>
        ProxyRequests Off
        ProxyPass / **odoo1_full_URL**
        ProxyPassReverse / **odoo1_full_URL**
        ProxyVia On
        LogLevel warn
        </VirtualHost>
        

        odoo1_full_URL 替换为 http:// odoo1.com:8070 (对我来说,不允许发布超过2个网址,这样我就写了这个没有空间的方式) 5.创建站点配置文件以运行WSGI脚本

        sudo nano /etc/apache2/site-available/odoo1-wsgi.conf
        

        以下内容

        <VirtualHost *:80>
        ServerName odoo1.com
        WSGIScriptAlias / /YOUR_ODOO1_PATH/openerp-wsgi.py
        WSGIDaemonProcess oe user=ODOO1_USER group=ODOO1_USER processes=2 pythonpath=/YOUR_ODOO1_Path/ display-name=apache-ODOO1USER
        WSGIProcessGroup oe
        ErrorLog /var/log/ODOO1/odoo1-wsgi-error.log
        CustomLog /var/log/ODOO1/odoo1-wsgi-access.log combined
        <Directory /YOUR_ODOO1_PATH>
            Order allow,deny
            Allow from all
        </Directory>
        </VirtualHost>
        
        1. 最终启用odoo1和odoo1-wsgi配置站点并重新启动apache服务器

          sudo a2ensite odoo1-wsgi.conf odoo1.conf sudo service apache2 restart

        2. 所有这一切都是通过输入网址odoo1.com,您将能够在地址栏中看到没有端口号的数据库。

          为任何其他实例做同样的事情并享受。 如果您有疑问,请告诉我。 第二种方法我将在下一篇文章中解释。