Getting Started with Node.js on Heroku
Getting Started with Node.js on Heroku
Getting Started with Node.js on Heroku
https://devcenter.heroku.com/articles/nodejs
按照 Heroku 官方的这个教程去做基本不会有什么大的问题,不过,比较容易出现的问题有(这问题在初用Git时比较容易遇到): <pre> <code> Permission denied (publickey). fatal: The remote end hung up unexpectedly </code> </pre> 当然,这里有解决方案:
由于NAE木有邀请码,所以先试着在 Heroku 上折腾了,希望NAE的大佬们别太介意 ;-)
Getting Started with Node.js on Heroku
如果您正在寻找如何在 Heroku 上部署 Node.js 应用程序,您可以参考 Heroku 的官方文档(https://devcenter.heroku.com/articles/nodejs)。遵循该指南通常可以顺利完成部署,但可能会遇到一些常见的问题,尤其是在初次使用 Git 进行部署时。
常见问题及解决方法
问题:
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
解决方案: 这个问题通常是由于 SSH 密钥未正确配置导致的。您需要确保您的本地机器上的 SSH 密钥已添加到 Heroku 账户中。具体步骤如下:
-
生成 SSH 密钥(如果还没有的话):
ssh-keygen -t rsa -C "your_email@example.com"
按照提示操作,可以接受默认设置。
-
将 SSH 密钥添加到 Heroku: 首先,您需要获取您的公钥文件内容:
cat ~/.ssh/id_rsa.pub
然后,登录到 Heroku 账户,并通过以下命令将公钥添加到您的账户:
heroku keys:add
-
验证 SSH 密钥是否正确配置: 使用以下命令测试 SSH 连接:
ssh -T git@heroku.com
如果一切正常,您会看到类似
You've successfully authenticated, but Heroku does not provide shell access
的消息。
创建一个简单的 Node.js 应用程序并部署到 Heroku
-
初始化一个新的 Node.js 项目:
mkdir myapp cd myapp npm init -y
-
安装 Express 框架(用于创建 Web 服务器):
npm install express
-
创建一个简单的应用: 在项目根目录下创建一个名为
index.js
的文件,并添加以下代码:const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('Hello, Heroku!'); }); const PORT = process.env.PORT || 3000; app.listen(PORT, () => { console.log(`Server is running on port ${PORT}`); });
-
创建
Procfile
文件: 在项目根目录下创建一个名为Procfile
的文件,并添加以下内容:web: node index.js
-
提交代码到 Git 并部署到 Heroku:
git init git add . git commit -m "Initial commit" heroku create git push heroku master
-
打开应用:
heroku open
这样,您就可以在 Heroku 上运行您的第一个 Node.js 应用程序了。希望这对您有所帮助!
这个markdown编辑器的一个bug,标准的md写法,显示却不正确! 正确的链接是这个:
Heroku 基于 Git, 上传代码需要事先上传公钥, 刚接触的觉得挺容易搞错的.
Getting Started with Node.js on Heroku
按照 Heroku 官方的教程(https://devcenter.heroku.com/articles/nodejs),部署一个基本的 Node.js 应用到 Heroku 上通常不会遇到太多问题。但是,有些常见的问题可能会出现,尤其是在刚开始使用 Git 的时候。
常见问题及解决方案
问题:
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
解决方案: 这个问题通常是由于 SSH 密钥未正确配置导致的。你需要确保你的本地机器上已经生成了 SSH 密钥,并且该密钥已经添加到了你的 Heroku 账户中。
-
生成 SSH 密钥(如果你还没有):
ssh-keygen -t rsa -C "your_email@example.com"
按提示操作即可,一般默认保存路径为
~/.ssh/id_rsa
。 -
将生成的公钥添加到 Heroku 账户:
- 复制生成的公钥内容:
cat ~/.ssh/id_rsa.pub
- 登录到 Heroku Dashboard,进入 Account Settings -> SSH Keys,粘贴复制的公钥内容。
- 复制生成的公钥内容:
示例应用
假设你想创建一个简单的 Node.js 应用来部署到 Heroku。
-
初始化项目:
mkdir myapp cd myapp npm init -y
-
安装 Express(一个常用的 Node.js 框架):
npm install express --save
-
编写应用代码 (
index.js
):const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('Hello from Heroku!'); }); const PORT = process.env.PORT || 3000; app.listen(PORT, () => { console.log(`Server is running on port ${PORT}`); });
-
创建 Heroku 本地应用:
heroku create
-
推送代码到 Heroku:
git add . git commit -m "Initial commit" git push heroku master
-
打开应用:
heroku open
通过以上步骤,你可以将一个简单的 Node.js 应用部署到 Heroku 并访问它。如果在过程中遇到任何问题,请参考 Heroku 文档或 Stack Overflow 上的相关讨论。