![由不同的用户在不同的端口上运行多个 nginx 服务器](https://linux22.com/image/642388/%E7%94%B1%E4%B8%8D%E5%90%8C%E7%9A%84%E7%94%A8%E6%88%B7%E5%9C%A8%E4%B8%8D%E5%90%8C%E7%9A%84%E7%AB%AF%E5%8F%A3%E4%B8%8A%E8%BF%90%E8%A1%8C%E5%A4%9A%E4%B8%AA%20nginx%20%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
让我描述一下我需要解决的问题:
有一个沙盒服务器(Debian),每个开发人员都有自己的用户帐户。我需要提供一种简单快捷的方法来在不同端口上运行/停止任意数量的 nginx 实例,用于不同的项目。这些将仅由 QA 用于测试目的。
例如:sandbox.example.com:4001
Alice 运行一个指向文件夹的 服务器/home/alice/web/staging_2014_09_24
Bob 运行三台服务器:
sandbox.example.com:5123 -> /home/bob/www/dev_2014_09_24_login_fix sandbox.example.com:5124 -> /home/bob/www/staging_2014_09_20 sandbox.example.com:5126 -> /home/bob/www/testing_release_features
每个文件夹都包含来自 Git 的一些 PHP 代码分支。
问题:
1. 有没有简单、常用的方法来实现这一点?我现在想到的解决方案是编写一个脚本,该脚本将为 nginx 创建参数化配置,然后使用它运行一个新的服务器实例。它可以像这样执行:./serverManager start www/staging_2014_09_20 5124
或者./serverManager stop 5124
2. 我是否还需要为每个服务器生成新的 php-fpm 进程,或者我可以使用一个通用实例?