如何运送散景服务器应用程序?

问题描述 投票:0回答:2

bokeh serve --show运行的应用程序部署到其他人的首选方法是什么?

我只找到了一个2014年的topic,有人使用Vagrant来达到这个目的。还有更好的选择吗?

更新

我需要“离线”模式,以便其他人可以在他/她的计算机上启动它,而不是网络访问。

python deployment vagrant bokeh
2个回答
1
投票

所以它取决于你正在建造的结构 - 是否与烧瓶之类的结合,或者你只是希望实际的情节可见。

首先,the docs are great,但总的来说:

1)只有散景图,仅此而已:

a)像在this question.一样在Heroku上部署

b)在某些Web服务器上通过反向代理进行部署。链接文档中提供了更详细的示例,但这是nginx配置的基本示例,假设您运行的是bokeh serve myapp.py --port 5100

server {
    listen 80 default_server;
        server_name _;
        access_log  /tmp/bokeh.access.log;
        error_log   /tmp/bokeh.error.log debug;

    location / {
        proxy_pass http://127.0.0.1:5100;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host:$server_port;
        proxy_buffering off;
    }

}

如果你需要ssl(可能),也有这样的例子。

2)与Flask / Django / Whatever集成:

在这种情况下你不能使用Heroku作为散景(龙卷风)服务器和烧瓶/等服务器都需要单独运行而Heroku只是不支持这个,所以除非你想配置2个独立的应用程序,每个应用程序运行一个出了图片。

这让你有很好的反向代理乐趣。这里的区别在于您必须运行两个进程(例如,使用supervisor),然后设置配置文件以将这些请求发送到需要的位置。如果是这种情况,the mailing list是您获取详细信息的最佳选择,因为它将取决于您的需求。


0
投票

用pyinstaller(http://jishichao.com/2017/01/10/package-a-python-program-to-a-single-executable-file/)打包它似乎是正确的方法。

使用pyinstaller打包散景时有一些细微差别。机票#1898(https://github.com/pyinstaller/pyinstaller/issues/1898)列出了其中一个并提供了一些如何克服它的线索。它在某种程度上有所帮助,但我还没有成功使用这种方法制作一个功能齐全的exe文件。

© www.soinside.com 2019 - 2024. All rights reserved.