在我的本地开发机器上,我想运行一个带有多个网站的 nginx 服务器,每个网站都由不同的用户运行,这些用户既可以用来运行进程,也可以用来模拟访问文件/文件夹的用户。
我的理解是,用户设置位于 /etc/nginx/nginx.conf 文件中,不能嵌套在站点配置的服务器块下。
有什么事情可以做,而无需创建 docker 文件或单独的虚拟机?
答案1
NGINX 没有针对每个服务器的用户运行时。如果您需要,则需要使用不同配置和不同站点运行的单个独立 NGINX 实例。
可以使用现有的 NGINX 来完成(目前正在构建示例设置),但您需要不同的监听端口和配置根,并且不能对每个实例使用相同的配置文件。在特定的 docker 容器或 LXD 容器或 VM 中运行每个站点可能更容易。
即使在使用容器的这种设置中,非 root 用户也无法在端口 80 上运行 NGINX,并且许多 nginx 实例无法绑定到 80 和 443,因此您仍然需要 NGINX 或 Apache 或 haproxy 实例根据主机名切换到特定的后端。