我的服务器是运行 django 的 Webfaction。当前我需要将即时消息添加到我的应用程序中。所以我需要让服务器监听另一个端口号,比如 9090 来接受套接字连接。但是好像webfaction只对开发者开放了80端口,那么如何在webfaction上开放其他端口号来实现简单的即时通讯。[附加] 我不想使用 XMPP(openfire) 或 QuickBlox 之类的东西,我只想实现自己的即时消息...
2 回答
在 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,但选择权取决于您。不过,请务必先通读自定义应用程序文档。这将是一个真正的定制应用程序,因此您需要编写逻辑来检查服务器是否仍在运行,如果需要定期重新启动它,应用cron
作业,随着负载的增加增加运行的服务器实例的数量等。
祝你好运!
它在文档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
BTW,Webfaction 有一个 QA 社区页面更适合这类问题https://community.webfaction.com/