Deployment 为动态部署打包网站的建议

Deployment 为动态部署打包网站的建议,deployment,lamp,archive,Deployment,Lamp,Archive,我正在开发一个网站,我想打包并下载并安装一个归档文件,就像wikimedia引擎一样 我需要考虑哪些事情?显然,我必须让我的index.php文件检查用户权限、数据库访问权限,然后创建表等等 我可能忘记了什么,或者忽略了什么?我认为人们在这些部署类型中有时会忽略的常见问题包括: 1。消除对特定主机名的依赖。 代码中不应提及任何特定的主机名。例如,如果在开发应用程序时使用url“dev.example.com”,并且在应用程序中对其进行了硬编码,则在部署过程中会产生问题 2。正确且有用的错误处理

我正在开发一个网站,我想打包并下载并安装一个归档文件,就像wikimedia引擎一样

我需要考虑哪些事情?显然,我必须让我的index.php文件检查用户权限、数据库访问权限,然后创建表等等


我可能忘记了什么,或者忽略了什么?

我认为人们在这些部署类型中有时会忽略的常见问题包括:

1。消除对特定主机名的依赖。

代码中不应提及任何特定的主机名。例如,如果在开发应用程序时使用url“dev.example.com”,并且在应用程序中对其进行了硬编码,则在部署过程中会产生问题

2。正确且有用的错误处理

不幸的是,大多数用户的环境配置与您的环境不完全相同

例如,MySQL数据库可能与您的系统上的端口、路径等不同。因此,如果应用程序没有连接到数据库,它应该尝试帮助诊断原因,然后打印一条有用的错误消息。“找不到MySQL,请使用端口XXXX并确保它在路径/var/db/MySQL上运行。编辑xyzyz.xml配置文件以指定您的端口和路径”

这只是众多例子中的一个。我建议您尝试在一台新机器(如虚拟机)上进行部署,然后逐个检查部署问题,看看是否可以简化它们

与潜在用户一起进行走廊可用性测试也可能会有所帮助,因为它会让你看到你可能错过的东西

3。Web服务器配置

您的应用程序中是否嵌入了web服务器?Jetty、Resin和Restlets for Java等容器可以嵌入到应用程序中。我相信这会降低配置开销,因为您可以从应用程序内部控制配置开销,这比强制用户配置IIS或Apache(或您正在使用的任何web服务器)要容易得多

我不知道是否可以嵌入Apache,但这可能需要研究:

4。有用、易于理解的文档

通常,我觉得许多开发人员忽视了软件开发的这一方面。这并不令人兴奋,但对于您的产品的采用来说,这绝对是至关重要的


我推荐YouTube视频,或者只是一般的视觉效果。我的公司开始使用YouTube来演示如何开始使用不同的产品,人们似乎真的很喜欢它。一张图片能说出千言万语,它们能迅速传达一条信息,否则就需要用段落来描述。

我知道,有时人们会创建一个文件,其中包含错误编号和错误文本,而不是对错误信息进行编码。这是我应该做的吗?为什么要这样做?@Mikhail-我能想到的唯一好处是,如果你将所有错误信息记录在一个常见问题解答中,那么使用代码查找解释就更容易了;老实说,我会尽量把所有的信息都放在错误消息中。让每个人的生活更轻松。