【发布时间】:2016-09-05 03:44:00
【问题描述】:
失败代码:
root = os.path.dirname(__file__)
static_application = tornado.web.Application([
(r"/(.*)", tornado.web.StaticFileHandler,
{"path": root, "default_filename": "Example.html"})
])
if __name__ == "__main__":
print "Starting Server..."
static_application.listen(8080)
tornado.ioloop.IOLoop.instance().start()
iptables 失败:
Chain PREROUTING (policy ACCEPT)
num target prot opt source destination
1 REDIRECT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 redir ports 8080
失败的html:
<!DOCTYPE HTML>
<html>
<head>
<link href='StyleFile0.css' rel='stylesheet' type='text/css' />
<link href='StyleFile1.css' rel='stylesheet' type='text/css' />
<script src='ScriptFile0.js' type='text/javascript'> </script>
<script src='ScriptFile1.js' type='text/javascript'> </script>
Cron 失败:
0 * * * * cd /home/maindude/CodeHome && timeout -k 59m 59m python Process_TornadoService.py
.js .css 浏览器控制台“GET”失败:
所以我想出了如何托管一个基本的龙卷风网络服务。
我创建了一个亚马逊服务器并将其扔到那里,一切都很好。
然后我想让服务停止并每隔一小时重新启动一次。
如果我在 80 端口上托管 -> 我需要 sudo 权限才能启动服务,因此 cron 失败
如果我在端口 8080 上托管服务 -> 我必须使用 iptables
如果我使用 iptables -> 我在 html 中的脚本依赖项似乎神秘地不可用。
python、tornado、html、cron、iptables 的正确组合是什么,可以解决这个问题并让 tornado 服务每小时死掉并重新启动?
编辑:
上面的一切都可以很好地实现这一点。
【问题讨论】:
-
我怀疑是否有可能在不中断的情况下做到这一点。为什么不使用
uwsgi进行部署?更适合生产/登台环境的东西? -
我一定是疯了,因为今天早上一切似乎都正常,而我没有改变任何东西
-
我现在正在重新启动服务器以检查 - 如果它有效,我将回答我自己的问题
标签: python cron tornado iptables