heroku创建linux主机,在 Heroku 上部署 Django 应用

news/2024/7/24 10:36:46 标签: heroku创建linux主机

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

搭建开发环境

Heroku工具链

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

Git仓库

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

git clone 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文件,如下面的一行例子所示。

web: gunicorn 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.

Django 的详细介绍:请点这里

Django 的下载地址:请点这里

0b1331709591d260c1c78e86d0c51c18.png


http://www.niftyadmin.cn/n/1252104.html

相关文章

「一劳永逸」一张脑图带你全面掌握 Git 命令

前言最近在网易工作之余,遇到Git上面一些问题,趁这次的机会,补一补Git基础知识。后台回复 git,即可获取脑图原文件。「本文更多梳理的是Git常用命令,非原理篇」一图解天下????首先我们的了解Git通常的操作流程&…

前端如何在项目中做出亮点

(给前端大全加星标,提升前端技能)作者:磐冲https://segmentfault.com/a/11900000227954841、你负责的业务是什么?(学会发现问题)之前在群里参加活动的同学,有不少说在小公司,被业务需求压着。既…

linux的ping结果分析,linux – 来自ping的奇怪结果

如果通过IP ping而不是hostname,则会收到预期的行为.我仍在调查,以了解为什么会这样.# find IP address of host$host -t a google.comgoogle.com has address 74.125.225.17google.com has address 74.125.225.19google.com has address 74.125.225.20google.com has address …

JavaScript 红宝书第4版上市啦!「文末送几本给大家」

文末有活动人的一生中总要读几本经典书,在这个“经典”泛滥的年代,什么才是权威的代表,我想大概是一本的书的口碑,能积累下上佳口碑的书,往往也是能经得住时间推敲的。比如这本:我相信所有前端开发者的案头…

什么时候轮到我涨薪?

为了涨薪,也是拼了!经常有小伙伴留言问有什么好的学习资料推荐,针对大家平时提到的一些学习上问题,比如:成长速度过慢,难以突破现在的瓶颈;学习没有条理、吸收慢;自己学习太孤单&…

linux用shell写c,用vi编写c语言 linux shell的说明

先创建一个用户 useradd -d /home/abc abc -m -s /bin/bash -s代表指定一个shell登录到用户用vi写一个c语言的hello world文件名叫a.c 如果是c语言的源代码文件,扩展名必须是.c编译这个程序,最后成功运行gcc -o a a.c -o指定编译后的程序名&#xf…

学习 Vue3.0,先从搭建环境开始

本文将带您从零搭建一个基于Vue3.0与vite的Vue3.0开发环境,通过本文的学习,你将学习到以下内容:使用vite初始化Vue3.0项目配置ts配置vue-router配置vuex使用Vue3.0开发一个TodoList示例一、使用vite初始化项目vite 介绍vite是尤大大在今年新鼓…

在 JavaScript 中使用 Promises 时最常见的 3 个错误

❝本文对开发者编写 Promise 时常出现的几种错误进行了总结,剖析的一针见血,来看看是不是你平时所写?❞时至今日,即使有 async / await 的引入,JavaScript 中 Promises 的编写规则对于所有的 JS 开发者来说仍然是必不可…