如何为 Web 应用程序设置开发系统?

How to setup a development system for a web application?

提问人:Bloehdian 提问时间:11/13/2023 更新时间:11/13/2023 访问量:15

问:

目前,我正在使用一个基于 Perl 的 Web 应用程序,该应用程序非常大(~ 100.000 个 LOC;由一个开发人员创建),并且每天有相当多的请求(几个 100.000)。这是一个私人项目,业主的期望是生产环境(PE)的持续运行。

令人惊讶的是,当我接手这个系统时,没有测试/开发环境。幸运的是,到目前为止,我创建的大多数更改/扩展都非常小,因此,(计划外)停机或与用户工作发生冲突的风险微乎其微。

但现在更大的变化即将到来,我想建立一个 DE 来避免与生产系统开发相关的所有麻烦。

从我的角度来看,最大的挑战是域名和对它们的访问。我的要求是我/我们通过生产系统使用的相同域名访问 DE 的所有域(域名在 Perl 代码中是硬编码的)。DE 应该可以通过 Internet 访问,就像 PE 目前一样(当然应该实现 DE 的密码保护)。

目前,该系统驻留在单个VPS上,Apache作为Web服务器,MariaDB作为数据库。

我的想法是利用反向代理(nginx),它决定将请求转移到两个服务器(一个带有DE,一个带有PE)中的哪一个(可能基于开发客户端(Windows或Mac)的(动态)IP地址)。

选择目标的标准可以在工作开始前立即通过 ssh 从客户端提交到代理。但是我不知道如何在不重新启动 Web 服务器的情况下更新此信息(这是可取的)。

我的想法是否可行,或者是否有(可能更简单的)实现?

开发环境

评论

0赞 sbridewell 11/14/2023
域名是硬编码的 - 我认为这是您应该解决的第一件事,将所有硬编码的 URL、域名、数据库连接字符串等移动到某种配置文件中,并让应用程序从该文件中读取它们。有两个不同的配置文件,一个用于生产,一个用于开发,只需为每个环境部署正确的配置文件。

答: 暂无答案