【问题标题】:Use Django (or Ruby on Rails) on server without root access?在没有 root 访问权限的服务器上使用 Django(或 Ruby on Rails)?
【发布时间】:2011-01-05 21:48:10
【问题描述】:

是否可以在您没有 root 访问权限的服务器上开发基于 Web 的多客户端 CRUD 应用程序(使用 Django、Ruby on Rails 等)?

我们在学校的机器(我有一个普通帐户)运行一个网络服务器,我可以发布普通的 HTML 页面和 CGI​​ 脚本。在我的主目录中安装带有数据库支持的 Django 并运行一个简单的示例有多容易/困难/不可能?作为一个开始的例子,我想象用户可以创建一个帐户,登录并留言。

我们没有 mysql 等,所以如果可能的话,我必须将它安装在我的主目录中。

任何提示或帮助将不胜感激。

【问题讨论】:

    标签: ruby-on-rails database django web-applications


    【解决方案1】:

    可以在没有 root 访问权限的情况下安装和运行 Django,尽管这远非简单。

    我怀疑你是否能够运行 MySQL。但是,sqlite 可以正常工作,因为它只需要访问一个文件,该文件可以轻松地存在于您的主目录中。假设您运行的是 Python 2.5+,则包含 sqlite 库。

    既然你可以运行 CGI 脚本,你应该可以通过 FastCGI 运行 Django。详情请见the FastCGI deployment documentation

    就 Django 本身而言,它只需要在你的 PYTHONPATH 中,这可以在从 Apache 连接的 FCGI 脚本中设置。

    【讨论】:

    • 我想说,如果你不能运行 FastCGI,那你就完蛋了。在正常 CGI 模式下运行 Python(即没有 mod_python 或 FastCGI)时,性能会受到重大影响,代码块越大,影响越大。翻译:像正常 CGI 一样运行 Django 会浪费很多时间。
    • 呃哦,看来我不能运行 FastCGI。在这种情况下,我可能只使用 Google Apps Engine。
    【解决方案2】:

    您可以在没有 root 访问权限的情况下安装 Rails 或 Sinatra 等 Ruby 软件,正如 Daniel 所说,如果没有可用的 MySQL 数据库,您可以使用 SQLite 数据库。

    不过,我认为最好的建议是与您的管理员交谈,或使用外部托管服务。听起来您所说的系统是为基本上静态的网站设计的。如果您使用 Web 框架和数据库,那么至少您将使用超出您公平份额的资源,并且可能会通过引入未经授权的软件来违反您的使用条款。

    Heroku 为小型 Rails 网站提供免费托管,我相信有些人将其作为一种简单的入门方式。

    【讨论】:

      【解决方案3】:

      因为这是一个学校环境,你真的需要一个完整的服务器吗?我的意思是,你能不能在开发服务器 (./manage runserver) 上解决问题并为自己省去一大堆配置问题?我不知道你的场景是什么,所以如果你只是在登录时需要一些东西,我想它会很好。

      就数据库而言,SQLite 应该绰绰有余,但它确实有各种依赖项,可能很难满足(尽管像 Django 一样,并非不可能)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-05-15
        • 1970-01-01
        • 1970-01-01
        • 2019-10-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多