我应该如何将 Web 应用程序部署到 Debian?

How should I deploy a web application to Debian?

理想情况下,我想构建一个包以部署到 Debian。理想情况下,安装过程会检查系统是否安装了所需的依赖项,以及配置 Cronjobs、设置用户等。

我试过谷歌搜索,我知道 .deb 是我可以分发的格式 - 但这是我得到的,因为我现在对我需要加快速度的工具感到困惑和。另一种选择是 git 在服务器上克隆并手动配置环境……但出于显而易见的原因,这不是可取的。

我如何开始构建 Debian 软件包?这是部署 Web 应用程序的正确方向吗?如果有人能在工具方面为我指明正确的方向,也许还有一个教程,我将不胜感激 :) 另外,如果你建议只采用 git 的简单路线,如果你解释一下,我也很乐意接受这个建议为什么。如果有什么不同,我正在部署一个 nodejs 和一个 python 网络应用程序

您肯定可以将所有内容打包为 Linux 应用程序;例如,为您的 python 网络应用程序使用 pyinstaller

除此之外,这取决于您的使用情况。

我会重点关注你问题的第二部分,

How can I get started with building a Debian package and is that the right direction for deploying web applications?

因为这似乎是您在考虑已经在您的问题中的 .dev 的其他替代方案时所追求的。

我想在我的 linux 服务器上部署 1-2 个网站

在这种情况下,我会说手动 git 克隆并配置所有内容。当您知道服务器上不会有更多 运行ning 并且非常轻松时,这完全没问题。 为什么要花时间打包,因为在您刚刚将它安装到您的服务器上之后就再也没有人需要它了?

我想将我的网络应用分发给 Debian 上的其他人

这里 .deb 完全有意义。例如 Plex media server 和其他应用程序都是这样发送的。 如果 official Debian wiki is too abstract, there are also other more hands on guides to get you started quickly. You could also get other .deb Packages and extract them to see what they are made up from. You mentioned one of your websites is using python, so I just suspect it might be flask or Django. If it's Django, there is an example repository 你可能想看看。

我想运行我的服务器上的很多东西/分发给其他开发者和平台/或很快扩展

在这种情况下,我会将 webapps 制作成 docker containers。它们易于构建、共享和部署。最重要的是,您可以轻松捆绑所有依赖项和脚本,以确保一切设置正确。他们也很容易 运行 并停下来。因此,如果您的服务器 运行 资源不足而您想要 运行 其他东西,您可以使用一个简单的“on/off”开关。我非常喜欢这个解决方案,因为当您将越来越多的应用程序部署到您的服务器时,它还允许您轻松地控制什么是 运行ning 在什么 ip 上。但是,正如您所指出的,它 运行 有一些开销,并不是弱硬件上的最佳解决方案。 此外,如果您确定 运行 长期在服务器上运行并且不需要灵活性,我可能也会跳过 Docker。