如何在 Raspberry Pi 上设置 Nodejs Web 服务器

几年前,我入手了一台raspberry pi model b,并决定在其上搭建一个网络服务器。

如何在 Raspberry Pi 上设置 Nodejs Web 服务器

虽然看起来很简单,但实际上Raspberry Pi本质上是一台微型电脑,需要安装操作系统才能运行,这与Arduino等其他开发板不同,后者无需操作系统即可运行程序。

以下是如何在Raspberry Pi上从零开始搭建Node.js Web服务器的步骤:

安装Raspberry Pi Imager

Raspberry Pi Imager是一款用于将操作系统写入microSD卡的工具。

虽然还有其他操作系统可选,例如Debian、Ubuntu等,但为了获得最佳的硬件兼容性,Raspberry Pi官方推荐使用其官方操作系统。

安装Raspberry Pi操作系统

打开Raspberry Pi Imager,选择:

Raspberry Pi设备: 选择您的型号。操作系统: 选择推荐的选项。存储设备: 选择您的microSD卡。

如何在 Raspberry Pi 上设置 Nodejs Web 服务器

我使用了默认设置,完成后,显示如下信息:

如何在 Raspberry Pi 上设置 Nodejs Web 服务器

连接硬件: 将microSD卡插入Raspberry Pi主板。

连接其他外设,例如:

鼠标键盘显示器以太网线电源线(建议最后连接)。

如何在 Raspberry Pi 上设置 Nodejs Web 服务器

建议最后连接电源线。注意,microSD卡插槽位于主板的另一侧。

如何在 Raspberry Pi 上设置 Nodejs Web 服务器

Raspberry Pi OS启动后,您将看到桌面欢迎界面,如下所示:

如何在 Raspberry Pi 上设置 Nodejs Web 服务器

如何在 Raspberry Pi 上设置 Nodejs Web 服务器

这意味着您的Raspberry Pi操作系统已准备就绪。

更新系统

系统启动后,需要一些时间(在我的情况下大约2分钟)来启动并显示桌面UI。准备就绪后,打开终端并运行以下命令:

更新系统软件包

sudo apt-get update -y

登录后复制升级已安装的软件包

sudo apt-get dist-upgrade -y

登录后复制

安装Node.js

sudo apt-get install nodejs -y

登录后复制

同时安装npm:

sudo apt-get install npm -y

登录后复制

版本验证:

$ node -vv18.19.0$ npm -v9.2.0

登录后复制

安装Express.js

Express.js是一个简化Web服务器搭建的npm包。我使用了它的生成器并保留了默认选项:

npx express-generator

登录后复制接受默认设置

安装npm包

npm install

登录后复制

运行服务器

npm start

登录后复制

默认情况下,Web服务器运行在3000端口。要从其他设备访问它,您需要Raspberry Pi的IP地址。例如,我的Raspberry Pi的IP地址是192.168.100.239,但您的IP地址可能不同。

从其他设备访问Web服务器

在您的电脑上打开浏览器,将IP地址和端口号(例如,http://192.168.100.239:3000)粘贴到地址栏中。您应该看到如下内容:

http://192.168.100.239:3000/

登录后复制

如何在 Raspberry Pi 上设置 Nodejs Web 服务器

如果一切配置正确,您的Express应用现在可以从同一网络上的任何设备访问。

由于我使用的是Raspberry Pi Model B,其RAM和CPU性能有限,因此每个命令的执行都需要一些时间。对于这种低规格的设备来说,安装依赖项或启动服务器等操作需要更长时间是正常的。

结论

Raspberry Pi本质上是一台微型电脑,可以与物联网设备无缝集成。您可以将传感器或几乎任何电子设备连接到主板上。

虽然Model B并非性能最强大的型号,但现在已经有更先进的主板可供选择,并且可以肯定的是,Raspberry Pi团队将继续改进他们的设备。

额外说明

起初,我尝试在Raspberry Pi上运行Next.js,但遇到了以下错误:

FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memoryAborted

登录后复制

因此,我最终选择了Express.js。请记住,这是一个资源有限的较旧型号的主板。现代主板应该具有更强大的功能。最棒的是,因为它运行Linux操作系统,所以您可以安装几乎任何软件包。

以上就是如何在 Raspberry Pi 上设置 Nodejs Web 服务器的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2642260.html

(0)
上一篇 2025年3月7日 06:44:53
下一篇 2025年2月18日 01:07:26

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 提高编码技能的 JavaScript 项目想法

    概述 JavaScript 作为当今最流行和应用最广的编程语言之一,无论你的编程水平如何,实践项目都是提升技能和展示成果的最佳途径。本文将提供一系列不同难度的 JavaScript 项目创意,供你选择。 初学者项目 以下项目适合 JavaS…

    2025年3月7日
    200
  • 探索 Astro:您最喜欢的新 Web 框架

    您好!如果您热衷于构建现代网站,您或许听说过 Astro。(我直到两周前才了解到它)这是一个新兴框架,因其诸多优点而备受关注……或者并非如此?保持怀疑态度是明智之举。Astro 简化了快速、轻量级网站的构建过程,今天,我将向您介绍其优势、与…

    2025年3月7日
    200
  • NPM:节点包管理器

    深入了解npm:javascript的包管理器 本文将深入探讨NPM(Node Package Manager),它是JavaScript开发中必不可少的包管理器,用于管理项目所需的库和依赖项。 对于JavaScript、React和Nod…

    2025年3月7日 编程技术
    200
  • 承诺一切()

    深入理解JavaScript中的Promise.all()方法 Promise.all()是JavaScript中一个强大的工具,用于同时处理多个异步操作。它接收一个Promise可迭代对象(通常是数组),并返回一个新的Promise。只有…

    2025年3月7日
    200
  • 为什么印度企业在 5 年内投资电子商务应用程序开发?

    2025年的数字经济蓬勃发展,企业日益意识到电商App开发在提升客户互动方面的巨大潜力。消费者青睐便捷、快速和个性化的购物体验,移动电商App开发已成为企业追求可持续增长的关键策略。从大型跨国公司到小型企业,都在积极寻求专业的电商App开发…

    2025年3月7日
    200
  • 理解Vite的文件结构:为什么indexhtml属于根

    Vite项目中index.html文件的位置是一个常见问题。不同于Webpack等传统构建工具,Vite要求index.html必须位于项目根目录,而非公共目录。 如果将index.html放置在非根目录下,启动开发服务器后,您可能会遇到H…

    2025年3月7日
    200
  • 构建您的第一个 WebAssembly 项目

    嘿,马卡尔斯, 这篇文章是 webassembly 多部分系列的一部分。在这里查看该系列的其他部分 您是否听说过 webassembly 并认为“这听起来很酷,但对我来说可能太复杂了”? 好吧,今天您将从头开始构建一个简单的 webasse…

    2025年3月7日
    200
  • 有效地远程工作

    我们是一家完全远程办公的公司,这不仅因为我们与全球客户合作,也因为我们的团队成员遍布全球各地。 从十年前公司创立之初,也就是我们两个朋友试图创业的时候,我们就主要采用远程办公模式。偶尔我们会见面,讨论一些更适合面对面交流的事宜,或者仅仅是为…

    2025年3月7日
    200
  • 网络套接字

    实时Web应用的革新:WebSocket WebSocket 技术彻底改变了实时Web应用程序的构建方式。不同于传统的HTTP请求-响应模式,WebSocket支持全双工通信,实现数据的同步收发。这使得它成为低延迟、实时更新应用的理想选择。…

    2025年3月7日
    200
  • 使用 Expo 加速 React Native 开发

    React Native 应用开发初期,环境搭建往往费时费力。配置原生依赖、调试模拟器和解决构建问题,常常令人分心,难以专注于代码编写本身。 Expo 正是为此而生。它是一个基于 React Native 的强大工具集,显著简化开发流程,提…

    2025年3月7日
    200

发表回复

登录后才能评论