首页 > 解决方案 > 如何在另一台服务器上的另一个 virtualenv 环境中运行 django 文件?

问题描述

我正在将在 django 中创建的站点移动到另一台服务器。我已将所有文件打包到一个 zip 包中,在第二台服务器上创建了一个新的 virtualenv 环境,并将日期转储到一个 .json 文件中。我已经拥有目标服务器上的所有文件,但不幸的是我不知道下一步该做什么。

如何在新的 virtualenv 环境中运行 django?我应该使用新的 virtualenv 将文件提取到文件夹中吗?如果是这样,我必须先激活 virtualenv 吗?

我还要补充一点,迁移是从两个不同的系统进行的。从 ubuntu 上的窗口。

标签: pythondjangoservervirtualenv

解决方案


  1. 使用命令将您的 env 包保存到文件中pip freeze > requirements.txt。然后在您的新服务器上创建 virtualenv 并使用 command 安装所有软件包pip install -r requirements.txt

不要手动复制你的 virtualenv,包在另一个系统上的工作方式可能不同。

激活您的 virtualenv 并运行python -m django —version以检查 Django 是否安装正确。

  1. 将您的代码存储库复制到您喜欢的任何位置。

  2. 如果不是 SQLite,则创建您的数据库(空数据库)。 cd进入您的项目文件夹。运行python manage.py migrate以创建数据库的表。

  3. 运行python manage.py loaddata dbdump.data以迁移数据库的所有数据。dbdump.data 是在旧系统上创建的文件,带有python manage.py dumpdata. 注意:如果之前的项目包含数据迁移,loaddata 将失败,因为 db 已经包含数据。在这种情况下,您需要先使用原始 sql 手动删除数据库中的所有数据。

  4. 如果您在以前的系统上上传了文件,请将这些文件复制到 MEDIA_ROOT 文件夹(如有必要,请创建它)。检查 settings.py 中的 MEDIA_ROOT

  5. python manage.py collectstatic

现在运行manage.py runserver并检查一切是否正常:curl -v http://127.0.0.1:8000将显示您的项目的响应。


推荐阅读