설정 노동자 이후 Odoo 잘못된 솔루션

참조 :

http://blog.sina.com.cn/s/blog_7cb52fa80102vrri.html

 

노동자를 구성한 후 odoo 다음과 같은 오류가있을 것이다

역 추적 (가장 최근 통화 최종) :

  _handle_exception에서 파일 "/opt/odoo/openerp/http.py", 라인 (530),

    반환 슈퍼 (JsonRequest, 자기) ._ handle_exception (예외)

  파견의 파일 "/opt/odoo/openerp/http.py", 라인 567,

    결과 = self._call_function (** self.params)

  _call_function에서 파일 "/opt/odoo/openerp/http.py", 라인 (303)

    반환 checked_call (self.db, * 인수, ** kwargs로)

  래퍼에서 파일 "/opt/odoo/openerp/service/model.py", 라인 (113)

    리턴 F (DBNAME, 인수 *, ** kwargs로)

  checked_call에서 파일 "/opt/odoo/openerp/http.py", 라인 (300)

    반환 self.endpoint (*는 ** kw)

  __call__에서 파일 "/opt/odoo/openerp/http.py", 라인 796,

    self.method를 반환 (* 인수, ** kw)

  response_wrap에서 파일 "/opt/odoo/openerp/http.py", 라인 396,

    응답 = F (인수 *, ** kw)

  여론 조사에서 파일 "/opt/odoo/addons/bus/bus.py", 라인 188,

    인상 예외 ( "bus.Bus 사용할 수 없습니다")

 

이유 :

노동자> 0 포트 8069에 스레드를 많이있을 것입니다.

당신은 8069 (최대-크론 - 스레드) 스레드 몇 크론이있을 것이다.

포트 8072 (longpolling 포트)에 스레드를 Gevent.

여기에 8072의 문제는 웹 요청은 8069에 의해 longpolling. HTTP 오류 그래서.

 

해결 방법 :

리버스 프록시 접근 방식을 설정하여 해결하기 위해

역방향 프록시 설정 참조 : https://www.myfreax.com/add-nginx-reverse-proxy-for-odoo/

1, 역방향 프록시로 nginx를 설치, 당신은의 nginx의 conf 파일을 구성 할 필요가 파일의 내용 추가 :

업스트림 odoo { 
 서버 127.0.0.1:8069; 
} 

odoo 채팅 {업스트림 
 서버 127.0.0.1:8072를; 
} 

    서버 { 
        80 듣고; 
        서버 _ 로컬 호스트; 

        #charset KOI8-R; 

        #access_log 로그 / host.access.log 주; 

   proxy_read_timeout 720s; 
   proxy_connect_timeout 720s; 
   proxy_send_timeout 720s; 
   proxy_set_header $ 호스트 X는 - - 호스트에게 전달; 
   proxy_set_header X는-전달-를 들어 $ proxy_add_x_forwarded_for; 
   proxy_set_header X는 - 전달 - 프로토 $ 계획을; 
   proxy_set_header X-실시간 IP $ REMOTE_ADDR; 


위치 / {  
        proxy_pass에 http : // odoo;
        오프 proxy_redirect; 
}

위치 / longpolling / { 
        proxy_pass에 http : // odoo 채팅; 
        오프 proxy_redirect; 
} 


 위치 ~ * / 웹 / 정적 / { 
       proxy_cache_valid 200 90m; 
       에 proxy_buffering; 
       864000 만료; 
       proxy_pass에 http : // odoo; 
  }

2, 파일 odoo.conf 수정, 프록시 설정,

= 3 노동자 
proxy_mode이 True = 

당신이 사용하지 않도록 외부 장치 액세스 포트 8069에 필요한 경우 #을, 당신은 다음과 같은 구성에 추가해야 
xmlrpc_interface = 127.0.0.1 
netrpc_interface = 127.0.0.1을

이 시점에서 다시 시작의 nginx와 odoo 서비스 후 문제가 해결 될 것입니다.

추천

출처www.cnblogs.com/kxxx/p/12122888.html