我正在开发一个我想要打包的网站,并有一个下载和安装存档,就像维基媒体引擎一样。
我需要考虑哪些事情?显然我必须让我的index.php文件检查用户权限,访问数据库,然后创建表等......
我可能会忘记什么,或者可能被忽视的是什么?
答案 0 :(得分:1)
我认为人们在这些类型的部署中有时会忽略的常见问题包括:
<强> 1。消除对特定主机名的依赖性。
代码中不应该提及任何特定的主机名。例如,如果您在开发应用程序时使用了URL“dev.example.com”,并且如果在应用程序中对其进行了硬编码,则会在部署期间产生问题。
<强> 2。正确有用的错误处理
不幸的是,大多数用户的环境配置与您的完全不同。
例如,MySQL数据库可能无法在您系统上的相同端口,路径等上运行。因此,如果应用程序未连接到数据库,它应尝试帮助诊断原因,然后打印有用的错误消息。 “无法找到MySQL,请使用端口XXXX并确保它在路径/ var / db / mysql上运行。编辑XYXYZ.xml配置文件以指定端口和路径”。
这只是许多例子中的一个。我建议您尝试在新机器(例如虚拟机)上进行部署,然后逐个完成部署问题,看看是否可以简化它们。
与潜在用户进行的走廊可用性测试也可能有所帮助,因为它会让您睁开眼睛,看看您可能错过的东西。
第3。 Web服务器配置
Web服务器是否嵌入在您的应用程序中? Jetty,Resin和Restlets for Java等容器可以嵌入到应用程序中。我相信这会降低配置开销,因为您可以从应用程序中控制此操作,这比强制用户配置IIS或Apache(或您正在使用的任何Web服务器)更容易
我不知道Apache是否可以嵌入,但这可能需要考虑:Mongoose Web Server
<强> 4。有用,易于理解的文档
我经常觉得很多开发人员忽视了软件开发的这个方面。这并不令人兴奋,但它对于采用您的产品绝对至关重要。
我推荐YouTube视频,或者仅推荐视觉效果。我的公司开始使用YouTube作为演示如何开始使用不同产品的方式,人们似乎真的很喜欢它。一张图片说了千言万语,他们可以快速传达一条信息,否则会用段落来形容。