【发布时间】:2017-03-02 11:51:16
【问题描述】:
我试图弄清楚如何在 IIS 服务器上部署散景滑块图。 我最近完成了一个 Flask 应用程序,所以我想我会尝试通过 Flask 嵌入的路线:
https://github.com/bokeh/bokeh/tree/master/examples/howto/server_embed
当我在本地启动脚本时,这很简单。但我似乎无法通过 IIS 正确设置它。我相信复杂性源于这样一个事实,即我用来在 IIS 上部署的 wfastcgi.py 模块如果没有某种类似于 hack 的工作就无法轻松实现多线程。
所以,我的第二次尝试是将烧瓶应用程序包装在龙卷风中,如下所示 选项 B (没有太大的成功,但仍然认为这是我最好的领导)
Run Flask as threaded on IIS 7
我的第三次尝试是尝试在特定端口上独立运行 Bokeh 服务器。我想我可以使用 wfastcgi.py 在端口 8888 上通过standalone_embed.py 运行服务器,同时使用端口 5000 进行服务器回调。但是,Server 函数:
from bokeh.server.server import Server
仍然在主机本地启动它
server = Server({'/': bokeh_app}, io_loop=io_loop, port=5000)
server.start()
所以如果我在主机上转到http://localhost:5000/,这实际上有效, 但如果我从远程机器转到http://%my_host_ip%:5000/,则会失败。
我什至尝试手动设置主机,但收到“无效主机”错误:
server = Server({'/': bokeh_app}, io_loop=io_loop, host='%my_host_ip_address_here%:5000')
server.start()
错误:
读取 WSGI 处理程序时发生错误:Traceback(最近一次调用最后一次):文件“C:\Python34\lib\site-packages\bokeh\server\server.py”,第 45 行,在 _create_hosts_whitelist int(parts[1 ]) ValueError: invalid literal for int() with base 10: '' 在处理上述异常期间,发生另一个异常: Traceback(最近一次调用最后一次):文件“C:\WebsitesFlask\bokehTest\wfastcgi.py”,行711,在主环境中,handler = read_wsgi_handler(response.physical_path) 文件“C:\WebsitesFlask\bokehTest\wfastcgi.py”,第 568 行,在 read_wsgi_handler 返回环境中,get_wsgi_handler(handler_name) 文件“C:\WebsitesFlask\bokehTest\wfastcgi .py”,第 537 行,在 get_wsgi_handler handler = import(module_name, fromlist=[name_list[0][0]]) 文件“.\app.py”,第 41 行,在 server = Server 中({'/': bokeh_app}, io_loop=io_loop, host='%my_host_ip_address_here%:5000') 文件“C:\Python34\lib\site-packages\bokeh\server\server.py”,第 123 行,在 init tornado_kwargs['hosts'] = _create_hosts _whitelist(kwargs.get('host'), self._port) 文件“C:\Python34\lib\site-packages\bokeh\server\server.py”,第 47 行,在 _create_hosts_whitelist raise ValueError("Invalid port in host value: %s" % host) ValueError: Invalid port in host value: : StdOut: StdErr:
【问题讨论】:
标签: python iis deployment server bokeh