在Heroku云平台上部署Python的Django框架的教程_python

Heroku是一个很棒的平台,它有很多的控件,并且搭建环境相对来说也比较容易。本指南中,我将一步一步指导你在Heroku平台上部署一个简单地Django应用
搭建开发环境
Heroku工具链

假设你已经在Heroku平台上注册了一个帐户,并且在里面创建了一款应用,为了一会儿通过CLI与Heroku交互,你需要安装Heroku工具链。在这篇指南中,我们用"Sample-Project"作为应用的名字。
Git仓库

在部署你的应用到Heroku之前,你需要先将你的代码签入git仓库中。Heroku提供的git仓库信息可以在你的应用设置页中找到。
 

复制代码 代码如下:

one git@heroku.com:sample-project.git

Python 和 Virtualenv

如果这不是你的第一款python应用,你或许已经把环境搭建起来了。然后,不同的Pyton版本之间存在兼容性问题,因此你应该在开发你的Python应用时使用Virtualenv命令来创建一个虚拟的环境。
 

# Install pip
$ [sudo] python get-pip.py 

# Install Virtualenv
$ [sudo] pip install virtualenv 

# Create a virtual environment
$ virtualenv venv

# Activate venv
$ source venv/bin/activate

创建一款Django应用

建议你安装django-toolbelt,它由以下几部分组成。

- Django
- Gunicorn (WSGI服务器)
- dj-database-url (一个Django配置工具)
- dj-static (一个Django静态文件服务器)


(venv)$ pip install django-toolbelt
(venv)$ cd Sample-Project

# Create a Django project name Sample_Project
# A valid Django project name can't contain dash
(venv)$ django-admin.py startproject Sample_Project .

# Create the requirements file
(venv)$ pip freeze > requirements.txt

 
部署你的代码

1. 创建ProcFile
ProcFile被用来声明应该被执行的开始web dyno命令。这个文件应该被放在manage.py(指定的)文件夹中。简单地创建一个ProcFile文件,如下面的一行例子所示。

复制代码 代码如下:

unicorn Sample_Project.wsgi --log-file -

2. 查看你希望部署代码的远程服务器简称。下面这个例子显示地是配置仅有一个简单远程服务器的例子,它的简称是origin。(假设)你可能已经配置过很多的远程服务器。
 

$ git remote -v
origin git@heroku.com:Sample-Project.git (fetch)
origin git@heroku.com:Sample-Project.git (push)

3. 部署你的代码

使用"git push"去部署你的代码。
 

$ git push origin master
Initializing repository, done.
Counting objects: 11, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (9/9), done.
Writing objects: 100% (11/11), 2.64 KiB | 0 bytes/s, done.
Total 11 (delta 0), reused 0 (delta 0)

-----> Python app detected
-----> Installing runtime (python-2.7.8)
-----> Installing dependencies with pip
    Downloading/unpacking Django==1.6.6 (from -r requirements.txt (line 1))
    Downloading/unpacking dj-database-url==0.3.0 (from -r requirements.txt (line 2))
     Downloading dj_database_url-0.3.0-py2.py3-none-any.whl
    Downloading/unpacking dj-static==0.0.6 (from -r requirements.txt (line 3))
     Downloading dj-static-0.0.6.tar.gz
...
To git@heroku.com:Sample-Project.git
 * [new branch]   master -> master

4. 验证你部署的代码
 

$ heroku open

你应该看到标准的Django开始页面(显示的是)“It worked! Congratulations on your first Django-powered page.”

5. 使用dyno测量你的应用规模
 

$ heroku ps:scale web=1
Scaling dynos... done, now running web at 1:1X.

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索python
python django框架、python web框架django、python的django框架、python django 部署、heroku django,以便于您获取更多的相关知识。

时间: 2024-10-29 03:31:57

在Heroku云平台上部署Python的Django框架的教程_python的相关文章

在Docker上部署Python的Flask框架的教程_python

本文中,我将尝试展示用Docker开发python应用(主要是Web应用)的可行方法.虽然我本人专注于Python的Flask微框架,但本文目的是演示如何通过Docker更好地开发和共享应用程序,(由任何语言和框架开发的应用程序).Docker通过封装依赖项,大大减少了开发环境和正式产品的差距. 大多数Python开发人员在开发中使用virtualenv.它提供了一种易用的机制让应用程序使用自己专用的依赖项,这些依赖项可能与在其它应用程序或操作系统存在冲突(尤其是不同的Pyhton版本,还有不同

在RedHat系Linux上部署Python的Celery框架的教程_python

 Celery (芹菜)是基于Python开发的分布式任务队列.它支持使用任务队列的方式在分布的机器/进程/线程上执行任务调度.架构设计  Celery的架构由三部分组成,消息中间件(message broker),任务执行单元(worker)和任务执行结果存储(task result store)组成. 1. 消息中间件     Celery本身不提供消息服务,但是可以方便的和第三方提供的消息中间件集成.包括,RabbitMQ, Redis, MongoDB (experimental), A

在SAE上部署Python的Django框架的一些问题汇总

  这篇文章主要介绍了在SAE上部署Python的Django框架的一些问题汇总,SAE是新浪的一个在线APP部署平台,并且对Python应用提供相关支持,需要的朋友可以参考下 花了些工夫将碎片网部署到了SAE,中途遇到各类问题.感觉SAE看上去很美,实际上却并不是太成熟(至少python版如此). 下面记录下我遇到的一些主要问题以及解决方法. django版本问题 Django1.4都即将发布了,SAE平台自带的SAE版本依旧为1.2x.为使用django1.3版本,你需上传自己的django

目前部署在云平台上最多的五类应用

在完成http://www.aliyun.com/zixun/aggregation/13423.html">云计算平台的建设后,企业应考虑将业务应用逐步部署到云计算平台上.需要指出的是,将业务应用过渡到云计算平台上并不是一夜之间就可以实现的.事实上,不是每项业务应用都应该立刻列为迁移到云计算平台上的候选.从目前云计算的发展来看,不是每项业务应用在云计算平台上都能有很好的效果.例如,云计算平台对于一个工作负载在各个时间非常平均的应用来说,并不能体现出足够的优势.企业用户需要对应用进行评定,

Docker在云平台上的最佳实践: 当容器服务遇到深度学习

12月9日云栖计算之旅线下沙龙第2期<Docker在云平台上的最佳实践>,阿里云技术专家必嘫给大家带来了"当容器服务遇到了深度学习"的演讲.本文主要从深度学习的兴起开始谈起,进而介绍了Docker技术.阿里云容器服务,重点介绍了支持云上的高性能计算应用需要哪些,包括GPU的调度.隔离和监控. 视频回顾 深度学习 人工智能已经进入了深度学习时代.传统的让机器自动化的方式已经不再适合解决一些问题,机器学习开始兴起,让机器像小孩子一样自己去认识世界.而深度学习本身是机器学习的一个

详解如何在云服务器上部署Laravel

学习PHP和Laravel已经有一段时间了,但是所有的代码都是跑在本地的虚拟主机上的,于是去腾讯云申请了一个月的免费云主机,想把项目部署到云服务器上. 不得不说这里面的坑实在是有点多,让我这个初次接触服务器的小白摸不清头脑.在配置好服务器之后,部署一个Laravel项目更是费劲心思,于是乎想记录下部署Laravel项目的过程. PS: Linux真是越用越有感觉的系统,回家在台式机上也要装个Linux敲代码用. 环境简介 在操作系统的选择上,我选用了Linux ubuntu16.04的系统,使用

开发者可以直接在Jelastic平台上部署Java应用

和讯科技消息 北京时间4月26日,据美国科技博客techcrunch报道,Java应用开发平台Jelastic在首轮融资中募得资金200万美元.投资者为来自俄罗斯的投资公司Almaz Capital Partners以及风投公司Foresight Ventures. Jelastic是一个Java的云计算平台,提供运行Java web应用所需的环境.开发者可以直接在Jelastic平台上部署Java应用. 与主流的平台及服务提供商Heroku以及Google App Engine类似,Jelas

arcgis-在Linux服务器上部署python代码出现无法执行创建要素类的问题

问题描述 在Linux服务器上部署python代码出现无法执行创建要素类的问题 我有一个在windows上可以正确运行的代码,其中调用了arcpy模块:但是部署到Linux上运行就会出现Failed to execute (CreateFeatureclass)的错误,linux上安装的是ArcgisServer10.1.代码之前在linux上曾经执行成功过,后来我重新上传了一份数据就不行了.求大神赐教,这个问题已经纠结很长很长时间了 解决方案 那既要看你的更新的数据是否引起arcpy模块不能正

技术分享:如何在阿里云服务器上部署网站

网站是服务器上最常见的应用,按规模可以根据网站的日均PV区分,按类型可以区分为门户类网站.企业类网站.个人网站.交易型网站.论坛.博客等. 在云服务器上部署网站前,首先必须确保您有云服务器的管理权限,或者是云服务器的空间和接口程序.拥有云服务器的空间和接口程序,在云服务器上实现网站应用的步骤如下: 1.需要在web服务上配置好网站所需的相应环境; 2.需要添加网站所使用的权限; 3.开启网站使用的端口. 部署网站需要注意以下几点: 1.防火墙是否有做一些限制,如网站的80端口是否有开启; 2.服