2015-10-26 108 views
2

由於跨域問題,我無法獲得bokeh陰謀以在部署的服務器上工作。我以幾種形式提出了這個問題,並沒有真正獲得任何地方。無法讓散景服務器在服務器上運行

無論我運行一個applet或試圖嵌入一個圖,我總是得到錯誤

XMLHttpRequest cannot load http://127.0.0.1:5006/bokeh/objinfo/0257493b-cce5-450d-8036-2bc57233b1dc/bd1791f4-4d28-4faa-8c9d-a6fe5a1721c1. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://my_ip_address' is therefore not allowed access. The response had HTTP status code 500. 

在這裏,我想從一個Flask視圖

@perf.route('/_fetch_heatmap', methods=['POST']) 
@login_required 
def fetch_sd_heatmap(): 

    document = Document() 
    session = Session(root_url='http://127.0.0.1:5006', configdir=current_app.config['BASE_DIRECTORY']) 
    session.use_doc('sd_viz') 
    session.load_document(document) 
    ... 
    plots = VBox(hm_duration, hm_frequency) 

    document.add(plots) 
    push(session, document) 

    script = autoload_server(plots, session) 

return jsonify({'script': script}) 

這個腳本返回到我的javascript內的ajax通話中獲取一個劇情腳本。然後將此腳本附加到相應的<div>

這對我的開發機器運行良好。

下面是生產

我nginx的配置
server { 


    listen my_ip default_server; 
    charset  utf-8; 
    client_max_body_size 30M; 

    location ~ ^/(app_config.py|.git) { 
     deny all; 
     return 404; 
    } 

    location/{ 
     index index.html index.htm; 
     root /home/myuser/app_directory; 
     try_files $uri @app; 
    } 

    location /static { 
    alias /home/myuser/app_directory/webapp/static; 
    } 


    location @app { 
     include uwsgi_params; 
     uwsgi_pass unix:/home/myuser/app_directory/uwsgi.sock; 
     uwsgi_connect_timeout 18000; 
... 
} 

有沒有人成功地與在生產環境中運行bokeh服務器嵌入式bokeh地塊的燒瓶中的應用?

+0

「響應中有HTTP狀態碼500」表明你沒有正確設置你的服務器 –

+0

@BenjaminHodgson你可以擴展嗎? –

+0

那麼,它會返回一個500內部服務器錯誤,這通常表示處理請求的服務器中的未捕獲異常。它看起來像一個CORS問題,因爲500導致Access-Control-Allow-Origin頭部丟失。 –

回答

1

嗨只是爲了更新這個討論,作爲新的背景虛化服務器的0.11有關於部署更廣泛的文件:

http://bokeh.pydata.org/en/0.11.1/docs/user_guide/server.html

包括有關運行的反向代理的背後,使用負載均衡和信息進程管理器和使用Salt等工具進行自動化。從不服務器更健壯,可擴展且易於使用。你可以看到活的背景虛化的服務器實例畫廊已「生產」自2016年1月在這裏不斷部署:

http://demo.bokehplots.com/

作爲參照,全自動化的部署是供學習GitHub上:

https://github.com/bokeh/demo.bokehplots.com

此外,嵌入特定會話中的背景虛化服務器應用程序的一個相當複雜的例子演示了「幸福」的例子在這裏:

https://github.com/bokeh/bokeh-demos/tree/master/happiness

但最後我要說的是,upcoiming 0.12發佈將要設置的背景虛化應用定製神社模板的能力,這意味着像單頁應用程序的事情,建立重度左右背景虛化的文檔可以直接從散景送達服務器,而不需要嵌入另一個網絡服務器(如果需要的話)。