Django生产服务器的Linux用户方案

6 投票
1 回答
958 浏览
提问于 2025-04-16 17:33

我现在正在尝试为我的Django主页搭建nginx和uWSGI服务器。一些教程建议我为特定的服务创建专门的UNIX用户,比如为nginx服务创建一个nginx用户,等等。因为我对Linux管理还不太熟悉,我原本想只创建一个用户来运行所有的进程(nginx、uWSGI等),但后来发现我需要一些--system用户来实现这个目标。

我主要想知道的是,你会为nginx和uWSGI服务器设置哪些用户,以及该如何使用这些用户?假设我有一台刚安装了Debian Squeeze的服务器。

我应该以root用户的身份安装所有的软件包、虚拟环境,并设置好所有的目录,然后再创建系统用户来运行脚本吗?

1 个回答

2

我喜欢在系统上有普通用户:

  • 多个管理员会出现在sudo日志中——当你想问某个人为什么做了某个具体的更改时,这种情况就很尴尬。

  • 并不是所有的任务都需要管理员权限,但如果管理员犯了错误,修复起来可能会更麻烦。

  • 管理~/.ssh/authorized_keys文件会更简单,如果每个文件只包含一个特定用户的密钥——如果文件里有四五个不同用户的密钥,管理起来就会比较复杂。这是个小问题 :) 但写cat ~/.ssh/id_rsa.pub | ssh user@remotehost "cat - > ~/.ssh/authorized_keys"是非常简单的——如果必须使用>>,那就有点危险了。:)

不过你说得对,你可以全部用root账户工作,而不需要普通用户账户。

撰写回答