XAMPP可用于windows操作系统的生产服务器


XAMPP can be used for production server which has windows OS

我对使用XAMPP作为PHP, Mysql, Apache的捆绑软件感到困惑。

我的具体要求如下

  1. 生产服务器需要Windows操作系统(因为我需要一些第三方工具来集成,需要通过命令行执行,而这些第三方工具只支持Windows操作系统)
  2. 需要在Zend Framework 2.0中做应用

我有疑问的是,

    我们可以在IIS中运行这个应用程序,但是ZF2在IIS中有性能问题吗?
  1. xampp可以在生产服务器上使用吗?
  2. 是否有其他方法可以单独安装PHP, Apache, Mysql,这应该是安全可靠的方法。

任何帮助都是感激的。

如果在windows上选择正确的组件,性能将会提高。例如,如果您使用IIS,那么也可以使用Wincache PHP扩展。

一般来说:保护开发服务器堆栈是可能的。安装堆栈并更改设置,直到您获得一个安全的环境。

我建议使用Nginx作为web服务器,MariaDb作为数据库。出于性能原因,您可能会选择InnoDb。也可以选择添加Naxsi防火墙规则到Nginx来保护服务器。对于高性能,特别是流媒体,您可以尝试这个:http://nginx-win.ecsds.eu/WPN-XM(不好意思,无耻的插件)也值得一看。

请记住,更新生产系统的组件是保证其安全的关键。在Linux上保存生产服务器环境更容易,因为Linux上有合适的包管理工具(例如apt-get)。但是,WPN-XM是windows上唯一一个具有软件注册表的服务器堆栈,它允许这样做。

运行Zend Framework 2需要PHP。你也可以考虑调整Nginx的配置,为短url添加一些重写规则。但是像这样的一个小配置就足够了:https://stackoverflow.com/a/19734670/1163786

回答你评论中的问题2:是的,Nginx和Apache可以一起工作。Nginx将在Apache之前充当反向代理,并且只提供静态文件。所有对静态文件的请求都将非常快,并且由于Nginx是基于事件的,它将消耗更少的内存来处理并发请求。Apache将处理非静态部分/动态部分。

"我只想要Apache, PHP和Mysql,所以Nginx将支持。"这是有可能的。静态请求将由Nginx处理。动态请求将由Apache处理,因此ZF2由Apache/PHP提供服务。

带有"安全"配置的XAMPP可以在生产环境中使用,但不推荐使用。XAMPP只是一个软件堆栈,可以轻松部署一个完全对开发人员友好的环境。

使用IIS可以获得性能,因为它的缓存机制。我会安装MySQL和PHP,而不需要任何像XAMPP这样的软件堆栈,并将IIS添加到Windows服务器。配置好一切,你就可以开始了。

如果你不打算使用IIS或Apache,试着看看nginx。