如何设置散景应用程序以便可以通过互联网访问它?

How do I setup a bokeh application such that it can be accessed through the internet?

维护者注意:最初提出的这个问题是关于第一代 Bokeh 服务器的,现在已经不存在了。有关 运行 现代 Bokeh 服务器应用程序的信息,请参阅文档中的 Running A Bokeh Server


我想设置一个交互式散景应用程序,任何人都可以通过互联网访问它。

为了理解它是如何工作的,我目前正在尝试获取 stocks example 运行ning,以便我可以访问它,例如,从我的手机 phone。

我已经尝试过以下方法:

到目前为止,我在计算机上得到了整个示例 运行ning,其中散景服务器是 运行ning,这样我就可以通过 localhost:5006/bokeh/stocks/ 和 [=13 访问它=].但是,一旦我尝试从另一台机器访问它,我就会看到 html 内容,但看不到情节。

编辑: 我正在尝试 运行 https://github.com/bokeh/bokeh/tree/master/examples/deploy 中的示例,因为它听起来很有希望,但因为我并不真正理解我在这里所做的事情,所以我希望得到澄清。无论如何,我没有得到这个例子。使用 conda 安装 gunicorn 只是在经历了一些令人头疼的问题之后才开始工作,最后是提供的命令 运行,但是我在端口 5006 或端口 7001 上没有得到任何响应。也许我只是误解了这个例子?

现代散景版本:

您需要指定允许连接哪些 websocket 来源:

https://docs.bokeh.org/en/latest/docs/user_guide/server.html#websocket-origin

例如

bokeh serve --show --allow-websocket-origin=foo.com sliders.py

对于散景版本 0.11

由于散景服务器的变化,现在您需要调用

bokeh serve sliders.py --host <globalip>:5006

不需要别的。

请注意,您还必须更改应用的代码!

有关更新的滑块应用,请参阅 https://github.com/bokeh/bokeh/blob/master/examples/app/sliders.py