如何在Django中使用chroot
可以在 chroot 环境中运行 Django 吗?特别是,要怎么做才能把(比如说)/var/www 设置成一个 chroot 的目录,然后让 Django 在这个 chroot 目录中运行呢?
谢谢你,任何建议我都很感激。
2 个回答
3
有很多原因让人们更喜欢用 mod_wsgi 来部署Python网络应用。其中一个原因是它很稳定,另一个是它有很多配置选项……其中一个选项就是可以对mod_wsgi守护进程进行chroot(从3.00版本开始支持)。
目前在 WSGIDaemonProcess指令 的文档中还没有关于chroot选项的说明,但在 3.0版本的变更 文档中有足够的信息。
你还可以在 这个链接 中阅读关于这个功能的讨论。
2
你需要在那个目录里添加一个Python解释器,当然还得把Django也加上。
环境搭建好之后,你需要创建一个包装脚本,做一些像 os.chroot('/var/www/')
这样的事情,然后就完成了 :)
如果你想为Python创建一个沙盒环境或者说chroot环境,可以试试以下选项:http://wiki.python.org/moin/Asking%20for%20Help/How%20can%20I%20run%20an%20untrusted%20Python%20script%20safely%20%28i.e.%20Sandbox%29?highlight=%28chroot%29。PyPy这个选项似乎越来越受欢迎,因为谷歌开始在他们的App引擎中使用它。