Nginx - 如何使用不同的子域名运行多个Odoo实例

时间:2017-04-09 07:02:24

标签: nginx reverse-proxy odoo-10

我想在不同的链接上运行两个Odoo v10实例。 第一个实例将包含多个数据库,用于我们在此链接上运行的测试目的mydoamin.com

第二个实例将为我们的客户持有演示数据库,以便在此链接上为他们演示Odoo.mydomain.com

两个实例应该在同一台服务器上运行。 我做了很多研究以弄清楚如何实现这种方法,但我没有找到任何指南可以帮助我通过使用Nginx反向代理来做到这一点。

这是我的Nginx配置文件:

upstream backend-odoo {
    server 127.0.0.1:8069;
}
upstream backend-odoo-im { 
    server 127.0.0.1:8072; 
}
server {
    listen 80;
    add_header Strict-Transport-Security max-age=2592000;
    rewrite ^/.*$ https://example.com$request_uri? permanent;
}
server {
    listen 443 default;
    # ssl settings
    ssl on;
    ssl_certificate
    /etc/nginx/ssl/cert.pem;
    ssl_certificate_key /etc/nginx/ssl/key.pem;
    keepalive_timeout 60;

    #increase the upload file size limit
    client_max_body_size 300M;

    # proxy header and settings
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_redirect off;

    # odoo log files
    access_log /var/log/nginx/odoo-access.log;
    error_log /var/log/nginx/odoo-error.log;
    # increase proxy buffer size
    proxy_buffers 16 64k;
    proxy_buffer_size 128k;
    # force timeouts if the backend dies
    proxy_next_upstream error timeout invalid_header http_500
    http_502 http_503;
    # enable data compression
    gzip on;
    gzip_min_length 1100;
    gzip_buffers 4 32k;
    gzip_types text/plain application/x-javascript text/xml text/css;
    gzip_vary on;

    location / {
        proxy_pass http://backend-odoo;
    }
    location ~* /web/static/ {
    # cache static data
    proxy_cache_valid 200 60m;
    proxy_buffering on;
    expires 864000;
    proxy_pass http://backend-odoo;
    }
    location /longpolling { 
        proxy_pass http://backend-odoo-im;
    }
}

PS。我尝试在odoo配置文件中设置db filter = ^%d$,但我什么都没得到。

1 个答案:

答案 0 :(得分:0)

尝试dbfilter = %h$更适合我。 您必须重命名与URL匹配的数据库。 yourdomain.com将yourdomain_com作为数据库名称。