如何为PythonWeb应用程序设置Ubuntu云服务器

来自菜鸟教程
跳转至:导航、​搜索

介绍


云计算正在塑造整个 信息技术 (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 应用程序创建环境


注意: 此处给出的说明保持简短。 要了解更多信息,请查看我们关于 pipvirtualenv 的操作指南文章:常用 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 应用程序。

这里有一些很好的例子:

  • 烧瓶:

如何部署 Flask Web 应用程序

如何构建大型 Flask 应用程序

  • 金字塔:

如何使用 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 扩展

提交人: [[“%3Ca|https]] ://twitter.com/ostezer [[“%3C/a|”>操作系统]] 泰泽