目前,我正在专用硬件上的 Ubuntu 20.04 中设置我的第一个 apache 网络服务器。将托管 <10000 个唯一用户帐户,最多可容纳 200 个并发用户。我计划使用 Django。
由于没有用户管理的理论知识,我想知道我是否应该使用 Ubuntu 的集成用户系统并使用 GID 和权限,或者让一切基于 python 并编写 sqlite3 数据库处理程序并根据从所述用户数据库读取的用户 ID 提供内容以将用户排除在系统之外。
关于这个主题,有哪些好处、坏处以及应该做什么和不应该做什么?
答案1
可移植性是这里的关键。可移植性越高,将来就越容易。使用数据库方法存储用户和密码,并尽量保持操作系统为默认设置。努力不安装软件包,并为您需要的所有更新(Web 服务器和 Python 的模块)创建脚本,以便您可以在需要时重新运行它。
如果您决定使用 MySQL,那么您所需要的只是一个新的连接器,因为您的数据库和内容可以轻松复制。
如果您决定支持其他操作系统(redhat、suse、openBSD、gentoo 等),这也将很容易。
将您的系统分成 2 个磁盘:1 个用于系统,1 个用于与系统相关的任何内容,并使用符号链接或直接复制连接到系统磁盘。因此您的网站和数据库将转到个人磁盘。
升级应该是创建一个装有新操作系统的系统磁盘并附加一个用户磁盘(副本)。这样,当您想开始使用未来的 LTS 时,停机时间几乎为零。