Django Webfaction 如何打开其他端口?
我的服务器是Webfaction,运行着django。现在我需要在我的应用里添加即时消息功能。所以我需要让服务器监听另一个端口,比如9090,以接受socket连接。但是看起来Webfaction只对开发者开放80端口,那我该怎么在Webfaction上打开其他端口,以实现简单的即时消息功能呢?[补充] 我不想使用XMPP(openfire)或者像QuickBlox这样的东西,我只是想实现自己的即时消息功能...
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还有一个更适合这类问题的问答社区页面,链接是 https://community.webfaction.com/。
在Webfaction控制面板中,点击 Domains/Websites -> Applications -> Add new application
。在 App category
下拉菜单中选择 Custom
,然后在 App type
中选择 Custom app (listening on port)
。接下来,你会看到以下文字(我强调的部分):
这个安装程序会分配一个普通端口,让你可以在上面运行自定义软件。
它会为你创建一个 ~/webapps// 目录,方便你使用;不过,自定义应用程序不一定要放在这里。
安装完成后,配置你的自定义软件,让它监听“端口”字段中指定的端口号。如果这个应用程序在网站记录中配置了,前端服务器会把到达指定网址的请求转发到分配的端口。
注意:自定义应用程序是用来处理HTTP流量的。如果你需要直接访问这个端口,请提交一个支持请求,申请访问权限。
关于自定义应用程序的文档可以在这里找到: http://docs.webfaction.com/software/custom.html 网站记录的文档可以在这里找到: http://docs.webfaction.com/user-guide/websites.html
所以,你需要决定你的即时通讯应用是通过HTTP来通信,还是直接访问端口,然后根据这个决定来行动。为了简单起见,我建议你使用HTTP,但最终选择权在你。记得先阅读一下 自定义应用程序的文档。这将是一个真正的自定义应用,所以你需要编写逻辑来检查服务器是否还在运行,如果需要定期重启,设置 cron
任务,随着负载增加来增加运行的服务器实例数量等等。
祝你好运!