2015-10-26 2 views
2

Я не могу получить участок bokeh для работы на развернутом сервере из-за проблем между доменами. Я задал этот вопрос в нескольких формах и на самом деле ничего не получаю.не может получить сервер bokeh для запуска на сервере

Я всегда получаю ошибку

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}) 

Этот скрипт возвращается к ajax вызов в моей JavaScript. Этот сценарий затем присоединяется к соответствующему <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 Internal Server Error, которая обычно сигнализирует о неразлучном исключении на сервере, обрабатывающем запрос. Это _looks_ как проблема CORS, потому что 500 привел к отсутствию заголовка Access-Control-Allow-Origin. –

ответ

1

Привет просто обновить эту дискуссию, так как нового сервера боке в 0.11 есть гораздо более обширная документация о развертывании:

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

В том числе сведения о выполнении за обратными прокси, используя нагрузки-балансиры и менеджера процессов и автоматизации с помощью таких инструментов, как Salt. Никогда сервер не является более надежным, масштабируемым и простым в использовании. Вы можете посмотреть галерею живых примеров сервера бока, которые были «производство» постоянно развернутой с января 2016 года здесь:

http://demo.bokehplots.com/

В качестве эталона, полное автоматического развертывание доступно для изучения на GitHub:

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

Кроме того, довольно сложный пример встраивания приложения Bokeh сервера сеансовой демонстрируется в примере «Счастье» здесь:

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

Но, наконец, я должен сказать, что релиз upcoiming 0.12 будет иметь возможность установить собственный шаблон дзиндзя для бока приложений, а это означает, что такие вещи, как одной страницы приложение, которые строят сильно вокруг бока документов могут быть поданы непосредственно из Bokeh сервер, без необходимости встраивания в другой веб-сервер (если это необходимо).

Смежные вопросы