我会先设置一个常规的 HTTP 服务器,比如 lighttp 或 Apache httpd。
您说您已经有一个命令行程序来执行实际工作 - 作为第一步,我将重用它,并配置 Web 服务器以使用 CGI 调用您的程序 - 参见例如http://httpd.apache.org/docs /2.2/howto/cgi.html用于 Apache
最后,我会选择一些 JavaScript 框架,如 jQuery 或具有 Ajax 功能的 YUI,以向服务器发出请求,以从网页中调用 CGI 脚本。您也可以在没有 ajax 或任何框架的情况下创建基于表单的 Web 应用程序,但这需要您在程序中填充各种逻辑以生成 HTML 页面。通过使用 Ajax,您可以让命令行应用程序保持原样,并使用 javascript 解析它给出的任何响应,然后使用它以对用户有意义的方式动态更改网页。
如果这一切正常,那么我会尝试弄清楚如何打包所有这些组件。也许您只是想创建一个包含所有程序的简单存档,或者您可能希望将网络服务器实际嵌入到您的程序中。或者,您可能希望以相反的方式执行此操作,并将您的程序重写为可以插入 Web 服务器的 ISAPI 模块。或者,如果这还不够集成,您可以编写自己的(部分)HTTP 服务器。这完全取决于你(我可能会花费时间和精力来寻找最精简、最简单的现有开源 http 服务器并改用它)
无论如何,前面的步骤不会丢失工作。最有可能的是,开发网页将成为工作的重要组成部分,所以我可能会首先使用古老的 CGI 技巧创建一个快速而肮脏的工作解决方案,然后开发出令我满意的网页。那时,您只需将所有程序放在一个存档中即可获得可接受的可分发解决方案(当然,您也必须调整网络服务器的配置,例如更改默认端口,这样它就不会干扰现有的网络服务器。)只有之后,我会花时间创建一个更集成的精美解决方案。