在同一 VPS 上隔离不同网站的正确方法

在同一 VPS 上隔离不同网站的正确方法

我有一台运行多个网站(主要是 WordPress)的服务器,我想将它们彼此分开,这样我就可以让一个人访问一个网站,而不能访问其他网站,而且每个网站上运行的任何代码都无法访问其他网站。我觉得答案好像是在单独的用户帐户中,但我不确定要搜索什么才能找到教程。

我当前的设置是 - Ubuntu 上的 LEMP Stack。所有站点都在其自己的目录中,其中/var/www/sites/所有内容均归 www-data 所有。它们都共享一个 mysql 实例,但每个站点都有不同的 mysql 用户。我的服务器只有一个具有 sudo 权限的非 root 用户用户。

答案1

首先,请查看我的网站文件/文件夹在 Linux 网络服务器上应该具有什么权限?- 我不确定当使用 nginx 而不是 Apache 时可能需要做哪些具体的调整,但我认为该帖子和答案将为您提供良好的基础理解。

答案2

我需要的解决方案是:

  • 将不同的网站文件放在不同的用户帐户下,即home/USER/website而不是全部放在下var/www/。这些文件应该归该用户所有,而不是 www-data 或类似文件。
  • 配置 Nginx 主机以指向每个站点的新位置。
  • 配置 PHP 以特定用户身份运行该用户帐户下的站点 -更多信息

假设您已配置正确的权限,这样可以使每个用户的文件保持分开,并且还允许 php 进行 rwx,因为 php 进程以文件所属的同一用户身份运行。

答案3

我认为您可以listen在 nginx 中使用来监听不同的端口,以便您可以通过不同的端口访问您的网站。

相关内容