我有一个Tornado网络聊天,必须绝对在默认端口80上运行,原因有多种,例如身份验证等。但是Tornado Web服务器在端口8800上运行的原因显而易见(如果可以在同一个端口上托管Tornado)端口作为我的网站,我愿意尝试),所以我想要完成的是通过我的控制台运行Tornado Web服务器,同时在我网站的默认端口上托管Tornado网络聊天。
我将网络聊天的index.html移动到我的网站默认文件夹,因此它就像 www.example.com/webchat.html 而不是 www.example.com:8800/webchat 即可。然后我用命令
运行龙卷风python webchat.py
但是当我访问webchat.html时,聊天没有像在8800端口上那样运行,因为 页面没有渲染python。
网络聊天HTML
<div class="container" style="width: auto; height: 100%;">
<span>{% raw content %}</span> <!-- The span is not rendered on page -->
</div><!-- /.container -->
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://getbootstrap.com/dist/js/bootstrap.min.js"></script>
{% if 'chat' in globals() and chat %}
<!-- Application script -->
<script src="{{ static_url('stuff.js') }}" type="text/javascript"></script>
{% end %}
答案 0 :(得分:1)
我可以提出两个选择:
如果您的网站是静态的,您可以放弃apache服务器,将您的网站移至龙卷风,并通过/
路径获取龙卷风以服务您的网站。然后在端口80上运行龙卷风。这可能是最简单的。添加以下内容作为您的最后一个龙卷风处理程序:
(r'/(.*)', tornado.web.StaticFileHandler, {'path': static_path}),
static_path
应该是您的apache服务网站根目录的路径。
如果您需要apache服务器,则可以将apache配置为龙卷风服务器的反向代理。从Need help setting up: Apache Reverse Proxy开始,您似乎需要将其添加到apache.conf
:
ProxyPass /webchat http://localhost:8800/webchat
ProxyPassReverse /webchat http://localhost:8800/webchat
您还需要加载指定的Apache模块。
您也可以尝试使用Tornado的WSGI功能,然后使用mod_wsgi
配置Apache。