【问题标题】:How to make Python Web Server public? [closed]如何使 Python Web 服务器公开? [关闭]
【发布时间】:2020-12-09 03:29:23
【问题描述】:

我的想法是从 python 程序中同步相等的脚本 我在不同的计算机上并行运行,通过创建一个 基于首先启动的脚本的全局时间戳。

所以为了更好的解释,它应该像这样工作:

脚本在 PC 1 上运行并创建时间戳。 此后脚本必须执行的所有操作都只会执行一次 达到时间戳+5分钟的时间。

对于 PC 2 或以上的脚本,基本相同,但没有 创建一个新的时间戳,因为开始时间不会是 就这样了。

现在我已经构建了一个创建时间戳的 Python 网络服务器,我正在 还能够检索我的脚本的时间。但我必须确保我 无需在我自己的网络中就可以访问网络服务器,并且 使用“localhost:...”作为地址。所以现在我想知道如何制作网络服务器 以最简单的方式公开。另一种选择是 已经公开的站点,可以根据我的配置创建自定义时间戳,因此我只为站点上的第一个访问者创建一个时间戳。

您是否偶然知道这些网站,或者可以告诉我如何公开我的 HTML 网络服务器?

谢谢

【问题讨论】:

标签: python timestamp ip webserver public


【解决方案1】:

您可以查看一些托管选项。通过一些配置工作,您可能可以让您的软件在 HerokuPythonAnywhere 上运行,这将使其在例如https://mytimestampserver.herokuapp.comhttps://mytimestampserver.pythonanywhere.com。两种服务都提供相对慷慨的免费套餐。

【讨论】:

    【解决方案2】:

    您可以在与运行脚本的电脑相同的网络上创建代理服务器,并从其他电脑连接到它

    【讨论】:

      【解决方案3】:

      您可以在一定程度上免费使用像 elastickbeanstalk 这样的亚马逊服务,并将您的服务器公开

      【讨论】:

        【解决方案4】:

        假设您有一个简单的 Flask,它正在 PC1 上的端口 5555 上进行侦听:

        from flask import Flask
        app = Flask(__name__)
        
        @app.route("/")
        def hello():
            return "Hello World!"
        
        if __name__ == "__main__":
            app.run(host='0.0.0.0', port=5555)
        

        可以从您的计算机访问该页面,地址为 localhost:5555。
        如果 PC1 在 LAN 中,则可以从同一子网<PC1-ip-address>:5555 访问同一页面。

        如果 PC1 有一个公共 IP 地址,则可以通过<PC1-public-ip-address>:5555 从 Internet 访问该站点。

        如果 PC1 位于路由器后面,除非您的 Internet 服务提供商没有阻止或过滤它,否则您应该能够创建从 router-public-IP-address:<some-port>PC1-ip-address>:5555 的转发规则,并通过互联网访问该站点 @ 987654327@.

        此外,您可以购买域名并将域名地址解析为您在路由器上拥有和使用的公共 IP。

        如果您无法在 Internet 服务提供商处保留公共 IP 地址,那么您可以使用动态 DNS,并在您的路由器检测到其公共 IP 地址已更改时自动更新它。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-08-03
          • 2017-07-24
          • 1970-01-01
          • 2020-06-28
          相关资源
          最近更新 更多