我正在使用此技术栈在 Ubuntu 10.04 上设置生产服务器:
- Nodejs
- Nginx提供静态内容
- 蒙戈
- Redis
- 暴发户将应用程序作为服务运行
- 监控用于监控节点应用程序和 nginx 服务器
该服务器将仅托管 5 个此类型的应用程序。仅此而已。
您将如何设置 Ubuntu 用户?为每个应用程序创建一个用户是个好主意吗?您会以 root 或用户身份安装软件(node、mongo...)吗?
提前致谢
答案1
首先,不要以 root 身份运行任何东西!
现在我已经解决了应用程序支持服务(例如 mongo 和 redis)的问题,它们都应该在自己的用户名下运行(Ubuntu 软件包会为您处理这个问题)
至于特定于应用程序(例如 nodejs),则取决于您想要获得多大的偏执。如果您有多个需要彼此隔离的不同应用程序,那么我建议每个应用程序都有一个用户,正如您提到的那样。如果您正在运行多个 nodejs 实例,它们都是同一应用程序的一部分,那么您可以考虑以相同的应用程序特定用户名运行它们。
最后要明确的一点是,如果您有多个应用程序共享支持服务(如 mongodb),那么您可以为每个应用程序运行不同的 mongodb 实例,也可以运行单个 mongodb,并使用其内部身份验证系统进行访问控制。我建议后者管理开销将大大减少。