如何组织用户运行项目的不同部分?有最好的做法吗?
例如,我使用nginx,redis,gunicorn,supervisor来运行我的django应用程序。
为每个部分(redis用户运行redis等)或只有一个运行所有部分的用户(" project_name")更好吗?
答案 0 :(得分:0)
这在某种程度上取决于您的操作系统。用户设置没有最佳实践 - django规则,只有您操作系统的最佳实践操作。我使用基于Debian的Linux进行Django部署。对于您提到的每个服务,我只使用操作系统默认使用的用户(www-data用于nginx,postgres用于数据库,redis用于redis)。我必须“选择”的唯一用户是运行应用服务器的用户(在我的情况下,我使用uWSGI)。为方便起见,我使用了www-data。您可以创建appserver用户并将其放在www-data组中,以解决前端和应用服务器之间的任何权限冲突。