介绍
云计算正在塑造整个 信息技术 (IT) 行业,而 Ubuntu 正好在这方面 - 字面意思! 提供了对大量各种工具、库和应用程序的支持,加上易用性和它使艰巨任务变得简单的方式,这个值得信赖的 Linux 发行版已成为许多人在接管公共云空间的过程中的首选。
在这篇 DigitalOcean 文章中,我们将学习如何从头开始准备一个 Ubuntu 云服务器来托管 Python Web 应用程序。 通过遵循本教程,您将拥有一个可靠的 Ubuntu 安装,配备几乎所有必要的工具来部署您的 Python 项目。
Ubuntu 13.10(发布日期:2013 年 10 月)
我们将从更新系统开始,下载和安装我们将需要的必要工具和库 [for Python],然后为您的 Web 应用程序创建完美的部署环境。
更新系统
首先要做的是将 Ubuntu 附带的所有内容更新。
让我们更新软件源列表,然后升级过时的应用程序:
# Update the applications sources list: aptitude update # Upgrade the outdated applications on the system: aptitude -y upgrade
获取必要的系统工具和库
接下来,让我们下载并安装必要的工具和库,这些工具和库将直接使用或将来派上用场。
运行以下命令安装编译应用程序源代码所需的build-essential
包:
aptitude install -y build-essential
接下来,开发所需的任何版本控制工具:
aptitude install -y cvs subversion git-core mercurial
为了让一些 Python 应用程序正常工作,我们还需要某些 Python 包:
aptitude install python-setuptools python-dev \ python2.7-dev python-software-properties \ libpq-dev
最后,还有一些其他各种事情所需的第三方库,例如图像处理:
aptitude install libtiff4-dev libjpeg8-dev \ zlib1g-dev libfreetype6-dev liblcms2-dev \ libwebp-dev tcl8.5-dev tk8.5-dev
获取常用的 Python 工具
在 Ubuntu 和 Debian 上,默认提供最新版本的 Python 解释器 - 您可以使用它。 它使我们只需要安装有限数量的附加软件包:
- pip(管理包);
- virtualenv(创建隔离的虚拟环境)。
运行以下命令安装 pip:
# Get pip's dependency: curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | python - # And then pip: curl https://bootstrap.pypa.io/get-pip.py | python - # Finally, let's add it the PATH variable: export PATH="/usr/local/bin:$PATH"
最好在自己的 环境 中包含 Python 应用程序及其所有依赖项。 可以将环境最好(简单地说)描述为所有内容所在的隔离位置(目录)。 为此,使用了一个名为 virtualenv 的工具。
运行以下命令以使用 pip
安装 virtualenv:
pip install virtualenv
为您的 Python Web 应用程序创建环境
注意: 此处给出的说明保持简短。 要了解更多信息,请查看我们关于 pip 和 virtualenv 的操作指南文章:常用 Python 工具:使用 virtualenv、使用 Pip 安装和管理包。
运行以下命令为您的 python web 应用程序创建一个虚拟环境:
# Create a virtual environment: # Usage: virtualenv [main app. directory name] # Example: virtualenv django_app # Enter the directory to start working with # the Python interpreter: # Example: cd django_app
之后,为了使用隔离的 Python 解释器和 pip 包管理器,请激活环境,例如:
# Activate the *virtualenv*: source bin/activate
或者,当您需要使用位于此环境中的应用程序时,直接调用 Python 解释器,例如:
# Call the Python interpreter directly: # Usage: bin/python [command] # Example: bin/python manage.py runserver 0.0.0.0:8000
安装您的应用程序
一切准备就绪后,您现在可以开始使用 Python 并构建您的 Web 应用程序。
这里有一些很好的例子:
- 烧瓶:
- 金字塔:
如何使用 Pyramid 框架构建您的 Python Web 应用程序
如何部署基于 Pyramid 的 Python WSGI Web 应用程序
- Web2py:
如何使用 Web2py 框架快速构建您的 Python 应用程序
- 瓶子:
如何使用 Bottle Micro 框架开发 Python Web 应用程序
- Django 内容管理系统:
如何设置和安装 Django CMS 如何安装 Django CMS 版本 3 Beta 3
- 夹层:
如何安装和开始使用基于 Django 的 Mezzanine CMS
准备生产
Django自带的测试[应用]服务器不适合实际生产场景。 在将您的应用程序上线之前,您应该下载并安装合适的 Python 应用程序服务器并对其进行配置。 但是,不要害怕,因为这确实是一个非常简单的过程。
为了确定哪种应用程序服务器最适合您的需求,请查看我们的文章:基于 Python 的 Web 应用程序的 Web 服务器比较 。
一旦您做出决定,请通过以下任一教程,以可靠的方式在线部署您的 Mezzanine 应用程序:
- 独角兽:
如何在 Nginx 后面使用 Gunicorn HTTP 服务器部署 Python WSGI 应用程序
- uWSGI:
如何使用 uWSGI Web 服务器和 Nginx 部署 Python WSGI 应用程序
- 樱桃派:
如何在 Nginx 后面使用 CherryPy Web 服务器部署 Python WSGI 应用程序
如果您更习惯使用 Apache 或出于某种原因想要保留它,您可以选择用它替换 Nginx。 要了解如何使用您当前的 Apache 安装作为上述任一应用程序服务器的反向代理,请查看我们的文章:如何使用 Apache HTTP 服务器作为反向代理使用 mod_proxy 扩展 。