Heroku简明教程

2024-06-23 21:32
文章标签 heroku 教程 简明

本文主要是介绍Heroku简明教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Heroku简明教程

没钱买服务器怎办?现在流行将程序托管到服务器上哦!

配置Heroku

  1. 下载符合平台的Heroku Toolbelt, 例如在debian的命令行中
    wget -O- https://toolbelt.heroku.com/install-ubuntu.sh | sh
  2. 登录Heroku account(没有的话需要注册)
    heroku login
    这是他会认证你heroku账号,并进行更新安装。

准备应用(app)

因为是教程,所以使用的是官方提供的git库

git clone https://github.com/heroku/python-getting-started.git
cd python-getting-started
pip install -r requirement #安装依赖库

部署应用(app)

在Heroku创建一个app, 用于接收你的源代码

heroku create <app name>

当你创建这个app时,一个远程git(heroku)也会同时创建并与本地库关联。

部署代码:

git push heroku master #向远程库(heroku)推送本地的master分支

部署过程出现yield from self.wsgi.close()语法错误时可以直接忽略
保证至少有一个实例正在运行:

heroku ps:scale web=1

访问app
heroku open

查看日志

heroku logs --tail

目前也不知道看日志干嘛,毕竟还只是个新手。

定义Procfile

Procfile是一个位于应用(app)根目录下的文本文件,显式声明使用什么命令启动应用
内容如下:

web: gunicorn gettingstarted.wsgi --log-file -
  • web:这个进程类型将会连接到Heroku的HTTP路由栈,在部署时接收web流量
  • gunicorn: 用于运行web的执行指令

在Windows系统下还有一个Procfile.windows。后续内容会使用该文件,用于在本地启动服务。

web: python manage.py runserver 0.0.0.0:5000

本地运行

在上传到heroku前,我们希望能够在本地进行预览或进行其他一些操作。

由于教程使用的Djaong使用本地属性(local assets),所以你需要运行collectstatic

python manage.py collectstatic

下一步就是运行

heroku local web -f Profile.windows #windows系统下
heroku local web    #类unix系统下

在浏览器中打开http://localhost:5000即可查看

打开django本地的控制台

heroku run python manage.py shell

提交本地修改

当本地文件有所改变时,需要上传到远程库中,操作如下

git add .
git commit -m 'say somethig'
git push heroku master

完成后检查

heroku open

定义环境变量

一些比较重要的信息,比如说系统管理者的密码和账号,一般不会直接在文件中出现而是同环境变量中读取,如下:

import os
SECRET_KEY = os.environ.get('SECRET_KEY')

定义heroku的环境变量(win下)

heroku config:set SECRET_KEY='hard to guess'

查看环境变量
heroku config

额外插件(add-ons)

heroku提供了大量的第三方插件,例如papertrial可以处理你的日志信息

  1. 安装
    heroku addons:create papertrail
  2. 查看已装插件
    heroku addons
  3. 使用
    heroku addons:open papertrail #将打开一个网页控制台

数据库

插件市场上有大量数据库插件,如redis,mongodb,postgres和mysql.
作为一个穷人,我们使用免费的Postgres作为数据库支持模块,而且网站比较小也比较合适。

查看Posgres的信息:

heroku addons #查看插件属性
heroku config #查看配置
heroku pg #显示更多信息
heroku pg:psql #连接远程数据库

数据迁移:

heroku run python manage.py migrate

数据库配置:

django的数据库配置在settings.py中

import dj_database_url
DATABASES['datault'] =dj_database_url.config() #从环境变量中获取数据库配置

依赖库操作

heroku要求app根目录下必须有requirement.txt,才能部署应用,并且克隆的应用也要安装指定的依赖库.

  • 导出依赖库
    pip freeze >> requirement.txt
  • 安装依赖库
    pip install -r requirement.txt

这篇关于Heroku简明教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1088327

相关文章

Steam邮件推送内容有哪些?配置教程详解!

Steam邮件推送功能是否安全?如何个性化邮件推送内容? Steam作为全球最大的数字游戏分发平台之一,不仅提供了海量的游戏资源,还通过邮件推送为用户提供最新的游戏信息、促销活动和个性化推荐。AokSend将详细介绍Steam邮件推送的主要内容。 Steam邮件推送:促销优惠 每当平台举办大型促销活动,如夏季促销、冬季促销、黑色星期五等,用户都会收到邮件通知。这些邮件详细列出了打折游戏、

X-AnyLabeling使用教程

1.AI 模型自动分割标注使用教程 2.AI 模型自动目标检测标注使用教程

青龙面板2.9之Cdle傻妞机器人编译教程

看到有的朋友对傻妞机器人感兴趣,这里写一下傻妞机器人的编译教程。 第一步,这里以linux amd64为例,去官网下载安装go语言安装包: 第二步,输入下方指令 cd /usr/local && wget https://golang.google.cn/dl/go1.16.7.linux-amd64.tar.gz -O go1.16.7.linux-amd64.tar.gz

青龙面板部署通用教程,含服务器、路由器、X86等部署方法

1. 拉取镜像/更新镜像 docker pull whyour/qinglong:latest 2. 删除镜像 docker rmi whyour/qinglong:latest 3. 启动容器 普通服务器 docker run -dit \-v $PWD/ql/config:/ql/config \-v $PWD/ql/log:/ql/log \-v $PWD/ql/db:

宝塔面板部署青龙面板教程【简单易上手】

首先,你得有一台部署了宝塔面板的服务器(自己用本地电脑也可以)。 宝塔面板部署自行百度一下,很简单,这里就不走流程了,官网版本就可以,无需开心版。 首先,打开宝塔面板的软件商店,找到下图这个软件(Docker管理器)安装,青龙面板还是安装在docker里,这里依赖宝塔面板安装和管理docker。 安装完成后,进入SSH终端管理,输入代码安装青龙面板。ssh可以直接宝塔里操作,也可以安装ssh连接

PS系统教程25

介绍软件 BR(bridge) PS 配套软件,方便素材整理、管理素材 作用:起到桥梁作用 注意:PS和BR尽量保持版本一致 下载和安装可通过CSDN社区搜索,有免费安装指导。 安装之后,我们打开照片只需双击照片,就自动在Ps软件中打开。 前提:电脑上有PS软件 三种预览格式 全屏预览 评星级 直接按数字键就可以 方向键可以更换图片 esc退出 幻灯片放

flex布局学习笔记(flex布局教程)

前端笔试⾯试经常会问到:不定宽⾼如何⽔平垂直居中。最简单的实现⽅法就是flex布局,⽗元素加上如下代码即 可: display: flex; justify-content: center; align-items :center; 。下⾯详细介绍下flex布局吧。   2009年,W3C提出了 Flex布局,可以简便⼂完整⼂响应式地实现各种页⾯布局。⽬前已得到了所有浏览器的⽀持,这意味着,现

IPython小白教程:提升你的Python交互式编程技巧,通俗易懂!

IPython是一个增强的Python交互式shell,它提供了丰富的功能和便捷的交互方式,使得Python开发和数据分析工作更加高效。本文将详细介绍IPython的基本概念、使用方法、主要作用以及注意事项。 一、IPython简介 1. IPython的起源 IPython由Fernando Pérez于2001年创建,旨在提供一个更高效的Python交互式编程环境。 2. IPyt

图形编辑器基于Paper.js教程03:认识Paper.js中的所有类

先来认一下Paper的资源对象,小弟有哪些,有个整体的认识。认个脸。 在Paper.js的 官方文档中类大致有如下这些: 基类: ProjectViewItemPointToolSizeSegmentRectangleCurveCurveLocationMatrixColorStyleTweenToolEventGradientGradientStopEvent 二级或三级类 继承Ite

Modbus初学者教程,第三章:modbus寄存器说明

第三章:modbus寄存器说明 寄存器种类 Modbus协议中一个重要的概念是寄存器,所有的数据均存放于寄存器中。Modbus寄存器是指一块内存区域。Modbus寄存器根据存放的数据类型以及各自读写特性,将寄存器分为4个部分,这4个部分可以连续也可以不连续,由开发者决定。寄存器的意义如下表所示。 Modbus协议定义了设备间的数据传输方式,包括数据格式和通信规则。Modbus寄存器是协议中用