如何设置Ubuntu云服务器对于Python Web的应用程序

介绍

云计算是塑造整个信息技术 (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:

如何部署Flask Web应用程序

如何结构大型Flask应用

  • Pyramid:

如何使用Pyramid框架构建您的Python Web应用程序

如何部署基于Pyramid的Python WSGI Web应用程序

  • Web2py:

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

  • 瓶子:

如何使用Bottle Micro Framework开发Python Web Apps

  • Django CMS:

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

  • Mezzanine:

如何安装和开始基于Django的Mezzanine CMS

准备好生产

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扩展

:提交OS Tezer
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏