【问题标题】:Run 2 wormholes on the same Raspberry Pi with Dataplicity使用 Dataplicity 在同一个 Raspberry Pi 上运行 2 个虫洞
【发布时间】:2017-12-18 10:44:18
【问题描述】:

所以我有一个在 Nginx 上运行的简单网页,并且有对 Python Flask 应用程序的 Rest API 调用。 我想让它们通过Dataplicity 上的 2 个虫洞。一个用于网页,另一个用于后端应用程序。 目前我只能做任何一个。有没有办法让它工作? 谢谢!

【问题讨论】:

    标签: python nginx flask


    【解决方案1】:

    对,把 nginx 放在前面,把应用停在不同的位置。

    假设您的应用正在侦听端口 8080,而另一个应用正在侦听端口 8081。 那么你的 nginx 配置可能如下所示:

    server {
        listen       ...;
        ...
        location /app1/ {
            proxy_pass http://127.0.0.1:8080;
        }
        location /app2/ {
            proxy_pass http://127.0.0.1:8081;
        }
        ...
    }
    

    这意味着您的应用可以通过以下方式在本地访问:

    • http localhost/app1/
    • http localhost/app2/

    这将在 Dataplicity 虫洞上显示为:

    • https 123123123.dataplicity.io/app1/
    • https 123123123.dataplicity.io/app2/

    希望有帮助:)

    M.

    【讨论】:

    • 感谢您的提示!我刚刚打开了我的 nginx.conf 并没有看到任何 server {} 条目。我应该添加它吗?
    • 我这里还有一个问题。我支持的是一个 Flask 应用程序,我需要运行它并使用某个端口。如果我尝试使用相同的端口启动 nginx,它将无法启动:Jul 13 16:40:53 DietPi nginx[3637]: nginx: [emerg] bind() to 0.0.0.0:5000 failed (98: Address already in使用)
    • 如果您将 Flask 移动到另一个端口(我知道您说过您需要在特定端口上运行它,但请耐心等待),然后在根空间中添加另一个 nginx 位置,该位置将转发到您的Flask 应用程序,这可能会起作用.....并且您的 Flask 应用程序将出现在与以前相同的位置(只是中间有 nginx)。
    猜你喜欢
    • 1970-01-01
    • 2016-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-13
    • 2018-11-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多