Apache和Nginx。一条链捆绑(第2部分)

上周,在本文的第一部分中,我们描述了Timeweb中Apache和Nginx捆绑包的构建方式。我们非常感谢读者的提问和积极的讨论!今天,我们将告诉您如何在一台服务器上实现多个PHP版本的可用性,以及为什么我们保证客户数据的安全性。





虚拟主机(Shared-hosting)是指一台服务器,多个客户帐户。一个客户的帐户通常包含多个站点。网站可以在现成的CMS(例如Bitrix)和自定义CMS上运行。因此,所有系统的技术要求都不同,因此,有必要在一台服务器中管理多个PHP版本。



我们使用Nginx作为主要的Web服务器:它接受来自外部的所有连接并提供静态内容。我们将其余请求进一步代理到Apache Web服务器。这就是魔术开始的地方:对于每个PHP版本,将启动一个单独的Apache实例,并在特定端口上进行侦听。此端口已在客户端站点的虚拟主机中注册。



您可以在本文第一部分中阅读有关共享方案工作的更多信息





共享模式



必须注意,我们将PHP软件包置于不同的版本下,因为通常所有发行版都只有一个PHP版本。



安全第一!



共享托管的主要任务之一是确保客户数据的安全性。一台服务器上的不同帐户彼此独立。怎么运行的?



站点文件存储在用户本身的主目录中,并且必需的路径在Web服务器的虚拟主机中指定。在此过程中,重要的是Web服务器Nginx和Apache可以访问特定客户端的最终文件,因为Web服务器仅从一个用户启动。



Nginx使用由Timeweb团队开发的安全补丁:该补丁将用户更改为Web服务器配置文件中指定的用户。



其他托管服务提供商可以例如通过使用扩展文件系统权限(ACL)进行操作来解决此问题。



Apache使用mpm-itk多重处理模块它允许每个VirtualHost以其自己的用户ID和组ID运行。



因此,由于上述操作,我们为每个客户端提供了一个安全的隔离环境。同时,我们还解决了共享主机扩展的问题。



您可以在本文的第一部分中了解如何实现Apache和Nginx绑定另外,这里还描述了通过专用方案的替代配置。



如果您对我们的专家有任何疑问,请在评论中写。在以下文章中,我们将尝试回答所有问题或更详细地描述问题的解决方案。



All Articles