【问题标题】:Best Practice to run Django/Vue application on Production在生产环境中运行 Django/Vue 应用程序的最佳实践
【发布时间】:2021-11-23 19:56:00
【问题描述】:

我有一个 Django/Vue 应用程序,在开发时,我运行了两台不同的服务器,一台用于 Django,端口为 8082,另一台用于 Vue,端口为 8080,yarn serve。我想部署此应用程序到 AWS。我使用 npm run build 创建了 dist 文件,并将 Django 配置为访问此 dist 目录中的模板,并在我的 views.py 中路由到构建过程生成的这个静态 html 文件.在生产环境中运行 Django/Vue 应用程序是一种好习惯,还是我应该同时为生产环境运行两个不同的服务器?

【问题讨论】:

    标签: django vue.js production


    【解决方案1】:

    如果您能提供有关您的应用程序的更多详细信息,那就太好了。

    Django 模板需要由 django app 服务,通常你会有额外的 JavaScript、CSS、图像文件使用 djagno 模板,这些文件需要由 web 服务器服务,所以你会在前面有一个 web 服务器django 应用程序。比如this

    vue 部分(仅在开发中它像应用程序一样运行),一旦构建,它只是静态 HTML + JavaScript + CSS,可以在任何 Web 服务器上提供服务,也可以由你的 Web 服务器提供服务django 应用程序。

    如果你想将 django 模板与 vuejs 结合在一起,那么你需要一些东西来将构建的 webpack(vue cli 只是一个 webpack 包装器)加载到模板中,例如django-webpack-loader,这个article 可能会有所帮助。

    【讨论】:

    • 我选择了 django-webpack-loader,但实际上并不太喜欢它。我喜欢与 django 分开开发 vue 应用程序,并且我喜欢为生产构建静态文件并通过 Web 服务器提供服务的想法。但现在,我想在 django 应用程序中为它们提供服务(我只是将演示发布到 AWS)。问题是,我是否必须通过像 nginx 这样的 Web 服务器而不是在真实生产环境中运行 django 应用程序本身的 Web 服务器来提供这些静态文件?
    • 另外,如果您对这个问题有任何想法,很高兴听到:stackoverflow.com/questions/69418153/…
    • Django 开发服务器也可以提供静态文件(不仅本地访问,你可能需要绑定地址到 0.0.0.0),所以它可以用于演示/开发目的。跨度>
    猜你喜欢
    • 2011-09-28
    • 2016-02-11
    • 2022-01-14
    • 2023-01-30
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 2020-07-23
    • 1970-01-01
    相关资源
    最近更新 更多