Exception: bus.Bus unavailable Odoo 8 multiprocessing with nginx as a proxy server
Asked Answered
C

2

6

i'm working on Odoo 8 in a multiprocessing Mode with nginx as a proxy server, i read a lot of issues about this error but i still can't fix my problem,i think that i couldn't run the odoo in a gevent mode, i already configured the nginx with the longpooling location as many posts said, my config is as below:-

nginx config:-

upstream odoo8 {

server 127.0.0.1:8069 weight=1 fail_timeout=0;

}

upstream odoo8-im {

server 127.0.0.1:8072 weight=1 fail_timeout=0;

}

server {

listen 80;

server_name 138.201.xx.xx;

access_log /var/log/nginx/odoo.access.log;

error_log /var/log/nginx/odoo.error.log;

location /longpolling {

proxy_pass http://odoo8-im;

proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;

proxy_redirect off;

# set headers

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Proto https;

proxy_connect_timeout 600;

proxy_send_timeout 600;

proxy_read_timeout 600;

send_timeout 600;

}

location / {

proxy_pass http://odoo8;

proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;

proxy_buffer_size 128k;

proxy_buffers 16 64k;

proxy_redirect off;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

# proxy_set_header X-Forwarded-Proto https;

proxy_connect_timeout 600;

proxy_send_timeout 600;

proxy_read_timeout 600;

send_timeout 600;

}

location ~* /web/static/ {

proxy_buffering on;
proxy_pass 127.0.0.1:8069;

}

}

odoo.config:-

; This is the password that allows database operations:

; admin_passwd = admin

db_host = False

db_port = False

db_user = odoo

db_password = odoo

addons_path = /opt/odoo/addons,/opt/odoo/addons/sale-workflow-8.0,/opt/odoo/addons/product-attribute-8.0,/opt/odoo/addons/e-commerce-8.0,/opt/odoo/addons/connector-magento-8.0,/opt/odoo/addons/connector-ecommerce-8.0,/opt/odoo/addons/connector-8.0

logfile = /var/log/odoo/odoo-server.log

workers = 12

limit_time_real = 600

limit_time_cpu = 300

as a note i'm running the odoo server as a service and the config is as below:-

#!/bin/sh

### BEGIN INIT INFO

# Provides: odoo-server

# Required-Start: $remote_fs $syslog

# Required-Stop: $remote_fs $syslog

# Should-Start: $network

# Should-Stop: $network

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: Complete Business Application software

# Description: Odoo is a complete suite of business tools.

### END INIT INFO

PATH=/usr/local/bin:/bin:/sbin:/usr/bin

DAEMON=/opt/odoo/openerp-server

NAME=odoo-server

DESC=odoo-server

ODOO_CONNECTOR_CHANNELS=root:4,root.magento:2

# Specify the user name (Default: odoo).

USER=odoo

# Specify an alternate config file (Default: /etc/odoo-server.conf).

CONFIGFILE="/etc/odoo-server.conf"

# pidfile

PIDFILE=/var/run/$NAME.pid

# Additional options that are passed to the Daemon.

DAEMON_OPTS="-c $CONFIGFILE"

[ -x $DAEMON ] || exit 0

[ -f $CONFIGFILE ] || exit 0

checkpid() {

[ -f $PIDFILE ] || return 1

pid=`cat $PIDFILE`

[ -d /proc/$pid ] && return 0

return 1

}

case "${1}" in
start)

echo -n "Starting ${DESC}: "

start-stop-daemon --start --quiet --pidfile ${PIDFILE} \

--chuid ${USER} --background --make-pidfile \

--exec ${DAEMON} -- ${DAEMON_OPTS}

echo "${NAME}."

;;

stop)

echo -n "Stopping ${DESC}: "

start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \

--oknodo

echo "${NAME}."

;;

restart|force-reload)

echo -n "Restarting ${DESC}: "

start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \

--oknodo

sleep 1

 start-stop-daemon --start --quiet --pidfile ${PIDFILE} \

--chuid ${USER} --background --make-pidfile \

--exec ${DAEMON} -- ${DAEMON_OPTS}

echo "${NAME}."

;;

*)

N=/etc/init.d/${NAME}

echo "Usage: ${NAME} {start|stop|restart|force-reload}" >&2

exit 1

;;

esac

exit 0

sorry if my question was duplicate but i really can't solve it :(

Corm answered 31/5, 2016 at 9:54 Comment(3)
Check if this post help youCrosscurrent
thank you @Crosscurrent my config now is exactly like what the link mentioned except the ssl settings because i don't setup the ssl certificate yet but i still have this error in my logs:- 2016/06/05 08:55:52 [error] 9703#0: *5 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.1.127, server: 192.168.1.127, request: "POST /longpolling/poll HTTP/1.1", upstream: "http://127.0.0.1:8072/longpolling/poll", host: "192.168.1.127", referrer: "http://192.168.1.127/web"Corm
Up to date docs: odoo.com/documentation/12.0/setup/deploy.html#httpsKasandrakasevich
F
0

Your Odoo config is missing:

proxy_mode = True
Fabe answered 3/6, 2016 at 13:49 Comment(2)
thank you @Fabe i added it to my config but still have the below error:- 2016/06/05 08:55:52 [error] 9703#0: *5 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.1.127, server: 192.168.1.127, request: "POST /longpolling/poll HTTP/1.1", upstream: "http://127.0.0.1:8072/longpolling/poll", host: "192.168.1.127", referrer: "http://192.168.1.127/web"Corm
On what OS are you? With 12 workers (config) and 2 crons (default) your odoo process has to have 15 threads, including one gevent thread. If you don't see the gevent thread something went wrong on installation of odoo. I had the same issue on debian systems and solved it with manual installation like this and maybe you need to install psycogreen python lib, too.Fabe
T
0

In your nginx.conf

location /longpolling {

     proxy_pass http://odoo8-im:8072;

     }
Tenon answered 11/1, 2017 at 12:37 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.