虚拟主机(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绑定。另外,这里还描述了通过专用方案的替代配置。
如果您对我们的专家有任何疑问,请在评论中写。在以下文章中,我们将尝试回答所有问题或更详细地描述问题的解决方案。