Fork me on GitHub

操作系统

操作系统运行在服务器主机或者虚拟服务器主机上,并且控制计算资源的使用。操作系统当然也包括一种安装必要程序的途径,好让你的 Python web 应用能够运行。

为何操作系统是必要的?

操作系统使得我们觉得理所当然的许多计算任务变得简单。例如,操作系统能够写入文件、进行网络通信以及同时运行多个程序。否则的话,你需要自己完成底层的实现来控制 CPU、内存、网卡以及许多其它的硬件。

如果不使用现有的诸如 Linux、Mac OS X 或者 Windows 操作系统的话,那你就不得不为你的 web 应用编写一个新的操作系统。 如此一来,你就不可能再为你的 Python web 应用增加新功能了,因为你会忙于在你的汇编代码中追踪内存泄露问题,前提是你能够走到这一步。

幸运的是,开源社区为 Python 世界提供了坚若磐石的免费操作系统 Linux 来运行我们的应用程序。

操作系统推荐

唯一推荐用于在生产环境中部署 Python web 堆栈的操作系统是 Linux。有好几种常见的 Linux 发行版可以运行在生产服务器上。Ubuntu 长期支持版(LTS)、Red Hat Linux 企业版以及 CentOS 都是可行的选择。

Mac OS X 适合用于开发。 Windows 和 Mac OS X 都不适合在生产环境下部署,除非你有必须要替代 Linux 的充足理由。

Ubuntu

Ubuntu 是由 Canonical 公司推出的 Linux 发行版。 Ubuntu 软件包基于 Debian 发行版,包括这个 aptitude 包管理器。桌面版 Ubuntu 绑定了 GNOME(直到 11.04)或者 Unity(11.10 到现在)来提供用户界面。

Ubuntu 长期支持 (LTS) 发行版是推荐用于部署的发行版本。Canonical 会为 LTS 版本提供长达 5 年的后期更新支持。Canonical 每两年就会推出新的 LTS 发行版,这就为升级提供了非常方便的途径,同时灵活地允许在必要的情况下跳过其他的 LTS 发行版进行升级。截至 2016 年 4 月, 16.04 Xenial Xerus 是最新的 Ubuntu LTS 发行版。 Xenial Xerus 包括了 Python 3.5 作为其默认的 Python 版本,与 Ubuntu 14.04 LTS 上的 2.7 版本相比,这是一个主要的更新。

Ubuntu Python 软件包

在 Linux 服务器上有好几种 Aptitude 软件包来运行 Python 栈。这些包是:

Red Hat 和 CentOS

Red Hat Linux 企业版 (RHEL) 以及 社区企业版操作系统 (CentOS) 都是同一个发行版。这两个版本的主要区别是 CentOS 是开源的操作系统,它继承自 RHEL,并且是自由授权,免费使用的。

RHEL 和 CentOS 与基于 Debian 的 Linux 发行版相比,使用了不同的包管理器和命令行界面: RPM 包管理器(RPM)以及 Yellowdog 更新,修改(YUM)。RPM 使用特殊的 .rpm 格式的文件来管理库以及应用程序的打包和安装。YUM 提供了命令行界面用于和 RPM 系统交互。

操作系统相关的资源

操作系统学习清单

  1. 选择一款 Linux 操作系统,可以是基于 Debian 的发行版如 Ubuntu,或者是基于 Fedora 的发行版如 CentOS。

  2. 通过一些基础的步骤加强系统的安全性。 安装一些基本的安全软件包,如 fail2banunattended-upgrades。 创建一个拥有 sudo 特权的新用户,并且禁用 root 登录。禁止仅使用密码登录选项,并且使用一个公私钥对来替换。 阅读下面列出的更多关于增强系统安全的资源。

  3. 安装特定的 Python 软件包为 Python 应用准备好运行环境。根据你选择的发行版来安装所需要的软件包。

  4. 仔细阅读 web 服务器,因为部署环节中的下一个就是安装一个 web 服务器。

在你设置好操作系统后,就应该配置 web 服务器了。

我该选择哪种 web 服务器?

在服务器上如何安装 Python 库文件?

我该如何使用 PaaS 方案部署我的 Python 应用?

在这里注册以便每月能收到一份邮件资料,内容包含本站的主要更新、教程和 Python 书籍的打折码等。