介绍
云计算是塑造整个信息技术 (IT)产业和Ubuntu是正确的就可以了- 字面上提供了一个非常大的数组的各种工具,库和应用程序,再加上易用性和方式支持这让辛苦了!任务变得简单,这个可信的Linux分发已经成为许多接管公共云空间的方式的首选。
在这篇DigitalOcean文章中,我们将学习如何从头开始准备一个Ubuntu云服务器来托管Python Web应用程序。 通过遵循本教程,您将有一个坚实的Ubuntu安装,配备几乎所有必要的工具来部署您的Python项目。
Ubuntu 13.10(发布日期:2013年10月)
我们将开始更新系统,下载和安装必要的工具和库,我们将需要[为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工具。
运行以下命令以安装使用的virtualenv pip
:
pip install virtualenv
为您的Python Web应用程序创建环境
注意:这里给出的说明保持简短。 要了解更多信息,请访问我们的how-to文章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应用程序。
这里有一些很好的例子:
- Flask:
- Pyramid:
如何使用Pyramid框架构建您的Python Web应用程序
如何部署基于Pyramid的Python WSGI Web应用程序
- Web2py:
- 瓶子:
如何使用Bottle Micro Framework开发Python Web Apps
- Django CMS:
如何设置和安装Django CMS
如何安装Django CMS版本3测试版3
- Mezzanine:
准备好生产
Django附带的测试[应用]服务器不适合实际的生产场景。 在将应用程序联机之前,应该下载并安装一个合适的Python应用程序服务器并进行配置。 然而,不要害怕,因为它是一个非常简单的过程。
为了决定哪些应用程序服务器可能会满足您的需求是最好的,看看我们的文章: 网络服务器的基于Python的Web应用程序的比较 。
一旦确定,请通过以下任一教程,以便以可靠和可靠的方式在线部署Mezzanine应用程序:
- Gunicorn:
如何使用Gunicorn HTTP服务器在Nginx后面部署Python WSGI应用程序
- uWSGI:
如何使用uWSGI Web服务器与Nginx部署Python WSGI应用程序
- CherryPy:
如何使用CherryPy Web服务器在Nginx后面部署Python WSGI应用程序
如果你更习惯使用Apache或者想因某种原因而保留它,你可以选择用它替换Nginx。 为了了解如何使用当前的Apache安装为反向代理上述应用服务器中的任何一个,看看我们的文章: 如何使用Apache HTTP服务器作为反向代理使用mod_proxy扩展 。