HoH*_*oHo 1 iis django wsgi cherrypy django-haystack
我正在使用 Django 开发一个工具,供我的组织内部使用。它用于搜索和标记文档(使用 Haystack 和 Solr),并将用于不同的项目。我的团队目前有一个工作原型,我们希望“在野外”部署它。
我们的安全环境很严格。项目文档位于网络驱动器上的子文件夹中,并且根据用户的 Windows 凭据限制对这些文件夹的访问(我们还有一个使用相同凭据的 MS SQL 服务器)。一个用户只能访问自己参与的项目。由于我们是微软的专卖店,如果我们想在公司内网部署我们的应用程序,我们需要使用一个IIS服务器来处理这些权限。团队中没有人具备使用 IIS、Active Directory 所需的知识,而且我们的 IT 部门已经人满为患。简而言之,我们不是网络开发人员,我们无法立即接触到任何有经验的人。
我的 hacky 解决方案是完全放弃 IIS,让每个最终用户在本地运行一个轻量级服务器(即 CherryPy),同时每个用户都保留对公共项目特定数据库的访问权限(例如,位于网络驱动器上的 SQLite DB 或 MS 上的 DB SQL 服务器)。为了使用该工具,他们只需启动一个多合一的批处理脚本并将浏览器指向127.0.0.1:8000. 我知道这有多丑陋,但我觉得它利用了已经到位的安全措施(请注意,在给定的项目中永远不要期望超过 10 个同时用户)。这是一个糟糕的主意吗,如果是这样,什么是更好的解决方案?
我处理过类似的情况(主要开发面向正常部署情况,但有些用户需要在独立工作站上使用该应用程序)。我没有在独立工作站上部署 Web 和数据库服务器,而是使用 Django 内部开发服务器和 SQLite DB 运行该应用程序。我没有使用 CherryPy,但希望这对你有用。
我当前的解决方案为不熟悉命令行的用户(他们也难以记住要放入浏览器的 URL)提供了一个很好的可执行文件,但也相对容易开发:
manage.py为:
frozen由 PyInstaller 提供并且没有参数(即:用户通过双击它来执行它),如果是,则execute_from_command_line(..)使用参数运行以启动 Django 开发服务器。execute_from_command_line(..),弹出一个执行 a time.sleep(2)(让开发服务器完全启动)的线程,然后webbrowser.open_new("http://127.0.0.1:8000").settings.py以检测是否冻结并更改周围的内容,例如数据库服务器的路径、启用开发服务器等。一些额外的注意事项。
settings.py文件多次构建相同的应用程序。打这个钉子的各种方法......| 归档时间: |
|
| 查看次数: |
842 次 |
| 最近记录: |