美文网首页
使用Node.js在Heroku上开始

使用Node.js在Heroku上开始

作者: jhs1873 | 来源:发表于2018-09-27 14:35 被阅读0次

    一、准备工作

    1.安装heroku
    点击下载

    2.登录

    heroku login
    

    使用heroku的注册账号登录

    3.下载示例

    git clone https://github.com/heroku/node-js-getting-started.git
    cd node-js-getting-started
    

    二、部署示例文件到heroku

    1.创建

    heroku create
    

    2.部署

    git push heroku master
    

    3.运行实例

    heroku ps:scale web=1
    

    4.打开预览

    heroku open
    
    • 查看网站运行日志
    heroku logs --tail
    
    • node-js-getting-started目录下Procfile文件
    web: node index.js
    

    这声明了一个进程类型,web以及运行它所需的命令。这个名字web在这里很重要。它声明此进程类型将附加到Heroku 的HTTP路由堆栈,并在部署时接收Web流量。

    Procfiles可以包含其他流程类型。例如,您可以为后台工作进程声明一个进程,该进程处理队列中的项目。

    三、在本地运行

    1. 既然都开始学习node了,在目录下输入这个命令安装依赖
    npm install
    
    1. 启动
    heroku local web
    

    打开 http://localhost:5000 访问本地服务

    四、提供数据库(重点来了)

    postgre中文社区

    1.添加数据库(postgresql)

    heroku addons:create heroku-postgresql:hobby-dev
    

    2.安装pg模块(操作postgresql)

    npm install pg
    

    3.修改代码

    现在编辑目录下的index.js文件以使用此模块连接到DATABASE_URL环境变量中指定的数据库

    修改后:

    const express = require('express')
    const path = require('path')
    const PORT = process.env.PORT || 5000
    const {
      Pool
    } = require('pg');
    const pool = new Pool({
      connectionString: process.env.DATABASE_URL,
      ssl: true
    });
    
    
    express()
      .use(express.static(path.join(__dirname, 'public')))
      .set('views', path.join(__dirname, 'views'))
      .set('view engine', 'ejs')
      .get('/', (req, res) => res.render('pages/index'))
      .get('/db', async(req, res) => {
        try {
          const client = await pool.connect()
          const result = await client.query('SELECT * FROM test_table');
          res.send(result.rows[0].name) //直接打印出第一个
        } catch (err) {
          console.error(err);
          res.send("Error " + err);
        }
      })
      .listen(PORT, () => console.log(`Listening on ${ PORT }`))
    
    • 没有用官网的示例demo,用官网的示例demo有丢丢坑,会出现Internal Server Error的错误,没有深研究。

    4.下载postgresql客户端
    点击选择版本下载

    • 安装时右键管理员运行,否则安装失败

    扩展:pgadmin (图形化postgres管理)
    扩展:连接本地postgres教程

    • 成功安装后一定要设置好环境变量
    C:\Program Files\PostgreSQL\10\bin
    

    我的电脑-属性-高级系统设置-环境变量-path-新建

    • 添加后记得重启电脑

    5.连接到远程数据库并创建表
    分行输入

    heroku pg:psql
    create table test_table (id integer, name text);
    insert into test_table values (1, 'hello database');
    \q
    

    pg常用命令

    五.推送本地更改到heroku

    每次部署到Heroku都遵循相同的模式。

    1.首先,将修改后的文件添加到本地git存储库:

    git add .
    

    2.将更改提交到存储库:

    git commit -m "add"
    

    3.现在进行部署:

    git push heroku master
    

    4.最后,打开线上应用:

    heroku open
    

    六、提供附加组件

    点击查看

    七、启动控制台

    点击查看

    八、定义配置变量

    点击查看

    相关文章

      网友评论

          本文标题:使用Node.js在Heroku上开始

          本文链接:https://www.haomeiwen.com/subject/avyeoftx.html