介绍
云计算正在塑造整个信息技术(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 应用程序创建一个环境
** 注意: ** 这里提供的指示是简短的。 要了解更多信息,请参阅我们关于 pip 和 virtualenv 的文章: 常见的 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应用程序。
这里有一些很好的例子:
(
)
- ** 金字塔:**
如何部署基于金字塔的 Python WSGI Web 应用程序
- Web2py:**
- 瓶子: **
如何使用Bottle Micro Framework开发PythonWeb应用程序
- Django CMS:
如何设置和安装Django CMS 如何安装Django CMS版本 3 Beta 3
- Mezzanine:
准备好生产
与 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扩展。