运行龙卷风&在不同的端口上托管应用

时间:2015-01-10 17:06:49

标签: python hosting tornado

我有一个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 %}

1 个答案:

答案 0 :(得分:1)

我可以提出两个选择:

  1. 如果您的网站是静态的,您可以放弃apache服务器,将您的网站移至龙卷风,并通过/路径获取龙卷风以服务您的网站。然后在端口80上运行龙卷风。这可能是最简单的。添加以下内容作为您的最后一个龙卷风处理程序:

    (r'/(.*)', tornado.web.StaticFileHandler, {'path': static_path}),

    static_path应该是您的apache服务网站根目录的路径。

  2. 如果您需要apache服务器,则可以将apache配置为龙卷风服务器的反向代理。从Need help setting up: Apache Reverse Proxy开始,您似乎需要将其添加到apache.conf

    ProxyPass /webchat http://localhost:8800/webchat ProxyPassReverse /webchat http://localhost:8800/webchat

    您还需要加载指定的Apache模块。

  3. 您也可以尝试使用Tornado的WSGI功能,然后使用mod_wsgi配置Apache。