如何为 Python 网络应用程序设置 Ubuntu 云服务器

介绍


云计算正在塑造整个信息技术(IT)行业,Ubuntu正好在其中 - 字面上! 随着对各种工具,库和应用程序的支持,加上易于使用和它使困难的任务变得简单,这个值得信赖的Linux发行版已成为许多人选择的选择,以接管公共云空间。

在这篇DigitalOcean文章中,我们将学习如何从头开始准备Ubuntu云服务器来托管PythonWeb应用程序. 通过遵循本教程,您将有一个坚实的Ubuntu安装,配备了几乎所有必要的工具来部署您的Python项目。

Ubuntu 13.10(发布日期:2013年10月)


我们将开始更新系统,下载和安装我们将需要的必要工具和库,然后为您的Web应用程序创建完美的部署环境。

更新系统


首先要做的是将已经在Ubuntu中发送的所有内容更新。

让我们更新软件源列表,然后升级过时的应用程序:

1# Update the applications sources list:
2aptitude update
3
4# Upgrade the outdated applications on the system:
5aptitude -y upgrade

获得必要的系统工具和图书馆


接下来,让我们下载并安装必要的工具和库,这些工具或将被直接使用,或在未来变得有用。

运行以下命令来安装编译应用程序所需的「build-essential」包源代码:

1aptitude install -y build-essential

接下来,无论你需要的版本控制工具开发:

1aptitude install -y cvs subversion git-core mercurial

为了让一些Python应用程序工作,我们还需要一些Python包:

1aptitude install python-setuptools python-dev \
2                 python2.7-dev python-software-properties \
3                 libpq-dev

最后,一些第三方库需要进行各种其他操作,例如图像处理:

1aptitude install libtiff4-dev libjpeg8-dev \
2                 zlib1g-dev libfreetype6-dev liblcms2-dev \
3                 libwebp-dev tcl8.5-dev tk8.5-dev

获取常见的Python工具


在Ubuntu和Debian上,你可以使用的Python翻译器的最新版本是默认的,它只留给了我们一个有限的额外包来安装:

  • pip(用于管理软件包);
  • virtualenv(用于创建孤立的虚拟环境)。

运行以下命令来安装 pip:

1# Get pip's dependency:
2curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | python -
3
4# And then pip:
5curl https://bootstrap.pypa.io/get-pip.py | python -
6
7# Finally, let's add it the PATH variable:
8export PATH="/usr/local/bin:$PATH"

最好将一个Python应用程序包含在其自身的 environment 内,以及其所有依赖性。 一个环境可以最好地描述(简单地说)作为一个孤立的位置(一个目录),其中一切都在。

运行以下操作以使用pip安装 _virtualenv:

1pip install virtualenv

为您的 Python Web 应用程序创建一个环境


** 注意: ** 这里提供的指示是简短的。 要了解更多信息,请参阅我们关于 pipvirtualenv 的文章: 常见的 Python 工具:使用 virtualenv,安装与 Pip 和管理包

运行以下命令来为您的 python Web 应用程序创建虚拟环境:

1# Create a virtual environment:
2# Usage: virtualenv [main app. directory name]
3# Example:
4virtualenv django_app
5
6# Enter the directory to start working with
7# the Python interpreter:
8# Example:
9cd django_app

之后,为了使用孤立的 Python 解释器和 pip 包管理器工作,要么激活环境,例如:

1# Activate the *virtualenv*:
2source bin/activate

或者在您需要使用位于此环境中的应用程序时直接拨打 Python 解释器,例如:

1# Call the Python interpreter directly:
2# Usage: bin/python [command]
3# Example:
4bin/python manage.py runserver 0.0.0.0:8000

安装您的应用程序


一旦一切准备好了,您现在可以开始使用Python并构建您的Web应用程序。

这里有一些很好的例子:

  •     (
    

)

如何部署Flask Web应用程序

如何构建大型瓶装应用程序

  • ** 金字塔:**

如何使用金字塔框架来构建你的PythonWeb应用程序

如何部署基于金字塔的 Python WSGI Web 应用程序

    • Web2py:**

如何使用Web2py框架快速构建你的Python应用程序

    • 瓶子: **

如何使用Bottle Micro Framework开发PythonWeb应用程序

  • Django CMS:

如何设置和安装Django CMS 如何安装Django CMS版本 3 Beta 3

  • Mezzanine:

如何安装和启动基于Django的Mezzanine CMS

准备好生产


与 Django 一起提供的测试服务器不适合实际的生产场景。在将应用程序放到网上之前,您应该下载并安装合适的 Python 应用程序服务器并配置它。

为了决定哪个应用程序服务器最适合您的需求,请参阅我们的文章: Python 基于 Web 应用程序的 Web 服务器比较

一旦您决定,请通过下列教程之一,以便您的Mezzanine应用程序以坚实可靠的方式在线部署:

(

如何使用Gunicorn HTTP服务器在Nginx背后部署Python WSGI应用程序

  • uWSGI:

如何使用 nginx 的 uWSGI Web 服务器部署 Python WSGI 应用程序

  • CherryPy:

如何使用 Nginx 背后的 CherryPy Web 服务器部署 Python WSGI 应用程序

如果你更习惯于使用Apache,或者想因为某种原因保留它,你可以选择用它替换 Nginx. 要了解如何使用当前的Apache安装作为向上面的任何应用程序服务器的反向代理,请参阅我们的文章: 如何使用Apache HTTP服务器作为反向代理使用mod_proxy扩展

Submitted by: O.S. Tezer
Published At
Categories with 技术
comments powered by Disqus