【问题标题】:Django webfaction how to open other port number?Django webfaction如何打开其他端口号?
【发布时间】:2014-03-17 22:30:55
【问题描述】:

我的服务器是运行 django 的 Webfaction。当前我需要将即时消息添加到我的应用程序中。所以我需要让服务器监听另一个端口号,例如 9090 来接受套接字连接。但是好像webfaction只对开发者开放了80端口,那么如何在webfaction上开放其他端口号来实现简单的即时通讯。 [附加] 我不想使用 XMPP(openfire) 或 QuickBlox 之类的东西,我只想实现自己的即时消息传递...

【问题讨论】:

    标签: python django sockets webfaction port-number


    【解决方案1】:

    在 Webfaction 控制面板中,单击 Domains/Websites -> Applications -> Add new application。在App category 下拉列表中,选择Custom,在App type 中选择Custom app (listening on port)。然后您应该会看到以下文本(强调我的):

    此安装程序分配一个非特权端口,自定义软件在该端口上 可以听。

    为了您的方便,这将创建 ~/webapps// 目录; 但是,自定义应用程序不需要驻留在那里。

    安装程序完成后,将您的自定义软件配置为 侦听“端口”字段中指定的端口号。如果 应用程序配置在网站记录中,前端服务器 将指定 URL 处的传入请求代理到分配的端口。

    注意:自定义应用程序旨在处理 HTTP 流量。如果 您需要直接访问端口,请打开支持票 请求访问分配的端口。

    自定义应用程序文档位于: http://docs.webfaction.com/software/custom.html网站记录 文档可在以下位置获得: http://docs.webfaction.com/user-guide/websites.html

    因此,您需要决定您的即时消息应用程序是通过 HTTP 还是通过直接访问端口进行通信,并采取相应措施。为简单起见,我假设您想使用 HTTP,但选择权取决于您。不过,请务必先通读custom applications documentation。这将是一个真正的自定义应用程序,因此您需要编写逻辑来检查服务器是否仍在运行,如果需要定期重新启动它,应用cron 作业,随着负载的增加增加运行的服务器实例的数量等。

    祝你好运!

    【讨论】:

    • 非常感谢。但是有一个新问题:我写了一个python脚本作为服务器端监听端口(webfaction给了我),并写了一个python客户端。客户端将消息发送到该端口。首先,我将我的 python 服务器脚本放在 webfaction 服务器上并运行它,我在笔记本电脑上运行我的客户端,但客户端无法连接我的服务器脚本。之后,我也将我的客户端放在 webfaction 服务器上,然后运行我的服务器和客户端脚本,它们运行良好。我不知道为什么。 “防火墙”问题?但是网络派说“在服务器防火墙中为应用程序打开一个端口。”
    • 非常感谢,问题已经解决。第二个问题的解决方案是在 webfaction 上为网站选择辅助 IP 地址。并且在脚本中直接使用ip地址作为主机名。
    【解决方案2】:

    在文档http://docs.webfaction.com/software/custom.html 如果你想要一个特定的端口,你需要开一张票:https://community.webfaction.com/questions/14771/open-custom-application-on-a-specific-port-to-serve-mongodb-httpd-for-simple-rest-interface

    顺便说一句,Webfaction有一个QA社区页面更适合这种问题https://community.webfaction.com/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-28
      • 2014-08-07
      • 1970-01-01
      • 2021-01-07
      • 1970-01-01
      • 1970-01-01
      • 2015-10-25
      • 1970-01-01
      相关资源
      最近更新 更多