Ubuntu下配置Nodejs,并安装express和socket.io

Ubuntu 12.04手动安装Node.js v0.10.48完整指南 Node.js 是基于 Chrome V8 引擎的 JavaScript 运行时环境,其版本兼容性高度依赖底层系统 ABI(如 glibc)和编译工具链(GCC、libstdc++)。在 Ubuntu 12.04 这类已终止支持(EOL)的老旧发行版中,官方源提供的 Node.js v0.6.12 严重滞后,无法满足 Express 3.x、npm 2.x 等现代前端与构建工具链的最低要求。直接使用 PPA 或 backports 易引发依赖冲突与 ABI 不兼容;源码编译则受限于 GCC 4.6.3 和内 阅读详情

配置Nodejs环境


下载nodejs source code(tar.gz)

  1、去官网 http://nodejs.org/download/下载


         再将tar包拷贝到linux中相应的目录下。注意,这里tar包很容易下载不完全,导致后面安装无法解压或者configure
         如果linux联网,那么可直接在终端输入
[plain] view plain copy
  1. wget http://nodejs.org/dist/v0.10.29/node-v0.10.29.tar.gz  
[plain] view plain copy
  1. tar -zxf node-v0.10.29.tar.gz  

  2、去github( https://github.com/joyent/node)下载压缩包,在windows下面解压,再拷贝到linux中
         这里注意要更改一下文件的权限哦
[plain] view plain copy
  1. chmod -R 755 filename  
  2. chown root filename  
  3. chgrp root filename  

安装Nodejs

   切换为root用户,或者在输入下面命令时加上sudo
[plain] view plain copy
  1. ./configure  
  2. make   
  3. make install   
   configure之后会提示一些错误,譬如我的g++没有安装。nodejs安装需要一些 依赖包和 python,gcc,g++组件以及可选的git组件
[plain] view plain copy
  1. apt-get install g++ curl libssl-dev apache2-utils  
[plain] view plain copy
  1. #ubuntu已经安装python 2.7.6  
  2. apt-get install python   
  3. apt-get install build-essential   
[plain] view plain copy
  1. #已经安装gcc   
  2. apt-get install gcc   
  3. apt-get install g++   
   如果是有网络安装g++,就可以像上面一样使用apt-get命令,它会在线找到软件源(指引路径)中的包进行安装。由于我的软件源(/etc/apt/sources.list)出现了乱码,所以重新写了一个。
[plain] view plain copy
  1. #把当前软件源复制一下  
[plain] view plain copy
  1. cp /etc/apt/sources.list /etc/apt/sources.list_backup  
[plain] view plain copy
  1. #用gedit编辑器打开源  
[plain] view plain copy
  1. gedit /etc/apt/sources.list  
由于我的ubuntu使用的是14.04版本,所以要选用Trusty(14.04)版本源更新。最后挑了一个163的镜像
[plain] view plain copy
  1. deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse  
  2. deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse  
  3. deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse  
  4. deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse  
  5. deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse  
  6. deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse  
  7. deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse  
  8. deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse  
  9. deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse  
  10. deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse  
然后点击保存,再在终端输入
[plain] view plain copy
  1. apt-get update  
这个时候就会看到一堆信息更新了,下面就可以安装前面提到了的依赖包了。组件安装完后就可以./configure了,然后
[plain] view plain copy
  1. make  
  2. make install  
  最后来验证一下是否安装成功,在终端输入
[plain] view plain copy
  1. node -v  
输出版本信息就成功啦!


运行一个index.js服务器

由于程序成用到express和socket.io,所以一开始直接node index.js就会出现以下错误
<code style="margin:0px; padding:0px; border:0px; vertical-align:baseline; font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif; white-space:inherit"><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">module</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">.</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">js</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">:<span style="color:#800000;">56</span></span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">
    </span><span class="kwd" style="color:#008b;margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">throw</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent"> err</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">;</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">
</span><span class="typ" style="color:#2b91af;margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">Error</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">:</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent"> </span><span class="typ" style="color:#2b91af;margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">Cannot</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent"> find module </span><span class="str" style="color:#8000;margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">'express'</span></code>
解决办法
[plain] view plain copy
  1. npm install express  
再次运行 node index.js,还是报错
<code style="margin:0px; padding:0px; border:0px; vertical-align:baseline; font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif; white-space:inherit"><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">module</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">.</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">js</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">:</span><span class="lit" style="color:#8000;margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">340</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">
    </span><span class="kwd" style="color:#008b;margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">throw</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent"> err</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">;</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">
</span><span class="typ" style="color:#2b91af;margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">Error</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">:</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent"> </span><span class="typ" style="color:#2b91af;margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">Cannot</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent"> find module </span><span class="str" style="color:#8000;margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">'socket.io'</span></code>
这次我同样用npm install socket.io进行安装,不过错误并没有解决。参考 http://stackoverflow.com/questions/11266608/socket-io-error,成功解决
[plain] view plain copy
  1. rm -rf node_modules  
  2. #Delete your currently installed modules  
  3.   
  4. npm cache clean  
  5. #Delete your npm cache, (some errors are caused by this)  
  6.   
  7. #install express and socket.io  
  8. npm install <module_name>  
当我们架起一台本机服务器之后,服务器是一直在运行的。如果想要终止服务器的运行,像我一样傻傻的用ctrl+z,后面再次启动程序时就会报错
  1. <span style="white-space:pre">  </span>events.js:66  
  2.         <span style="white-space:pre">  </span>throw arguments[1]; // Unhandled 'error' event  
  3.                        ^  
  4. <span style="white-space:pre">  </span>Error: listen EADDRINUSE  
这个错误的含义是端口被占用,需要手动杀死该线程
[plain] view plain copy
  1. #查看监听端口id  
[plain] view plain copy
  1. netstat -nap | grep node  
[plain] view plain copy
  1. kill -9 id  
具体可参见 http://blog.youkuaiyun.com/dan_blog/article/details/7464452


参考文献
http://www.w3cschool.cc/nodejs/nodejs-install-setup.html

http://blog.youkuaiyun.com/goal13/article/details/38088979
Express框架入门:从环境搭建到路由处理 Express是Node.js最流行的Web应用框架,采用中间件架构处理HTTP请求。其核心原理是通过路由系统将不同URL路径映射到对应的处理函数,支持RESTful API开发。作为轻量级框架,Express具有高性能和可扩展性优势,常用于构建Web应用后端和API服务。本文以项目实践为导向,演示如何从零搭建Express开发环境,包括npm初始化、基础服务器创建、路由配置等核心功能。特别针对热门的REST API开发和文件上传场景,详细讲解如何使用Multer中间件处理文件上传,以及如何设计符合REST 阅读详情

相关推荐

Ubuntu 12.04 安装 Node.js v0.12.18 官方二进制包实操指南

Node.js 是基于 Chrome V8 引擎的 JavaScript 运行时环境,其核心价值在于提供高性能、事件驱动的非阻塞 I/O 模型。在老旧系统如 Ubuntu 12.04(EOL 系统)上,官方二进制包方案可绕过 apt 包管理器的版本冻结限制,避免源码编译引发的 GCC 版本冲突、OpenSSL 安全缺陷及依赖地狱等问题。该方案具备自包含、免编译、秒级切换等工程优势,特别适用于硬件驱动锁定、内核兼容性受限的生产场景。本文聚焦于 v0.12.18 这一与 Ubuntu 12.04 glibc 2

weixin_34355559的博客 451

前端开发必备:npm配置国内镜像

前端开发必备:npm配置国内镜像

一起coding,一起嗨。 1902

Website-downloader:基于Node.js的完整网站镜像下载工具详解

网站镜像下载是一种将在线网站完整复制到本地的技术,其核心原理是通过递归请求获取HTML、CSS、JavaScript及图片等所有依赖资源。这项技术的价值在于实现离线浏览、内容归档和前端代码分析等需求。传统方法如浏览器另存为功能存在局限性,无法完整获取嵌套页面和静态资源。Website-downloader作为热门开源项目,通过封装wget命令和Socket.IO实时通信机制,解决了递归下载、链接转换和进度监控等工程实践问题。该工具特别适用于前端开发学习、竞品技术分析和重要资料保存等应用场景,自然融入了Git

weixin_30892763的博客 370

Ubuntu编译运行socket.io

Ubuntu编译运行socket.io

Tracytang97的博客 897

Ubuntu下Node.js生产环境部署全栈指南:PM2+Nginx+Let‘s Encrypt

Node.js生产环境部署远不止启动进程,本质是构建稳定、安全、可观测的服务基座。其核心原理在于分层解耦:Node.js专注业务逻辑,PM2实现进程守护与生命周期管理,Nginx承担反向代理、HTTPS终止、静态资源服务与流量防护,Let’s Encrypt提供自动化证书管理。这一技术组合显著提升应用的可用性、安全性与运维效率,广泛应用于API服务、实时通信(WebSocket)、微服务网关等场景。本文基于Ubuntu 22.04/24.04,详解PM2集群配置、Nginx反向代理调优及Let’s Encr

382

从公式到实践:用SPSS解锁香农多样性指数的生态洞察

本文详细介绍了如何利用SPSS软件计算和应用香农多样性指数进行生态研究。从基础公式解析到SPSS实战操作,再到生态决策支持,全面展示了该指数在物种丰富度和均匀度量化中的价值。文章特别强调了SPSS操作中的关键技巧和常见误区,为生态研究者提供了一套完整的分析解决方案。

weixin_30832143的博客 466

ubuntu系统更新nodejs至新版本(解决无法安装socket.io问题)

今天在安装socket.io库的过程中遇到一个错误,记录一下,报错如下: 通过分析报错信息得知,是版本不兼容的问题,socket.io要求node.js的版本高于10,而之前的版本为v8.10.0,下面记录一下更新方法。 1、到nodejs官网查看最新版本号https://nodejs.org/ 从官网可以看到,目前的稳定版本是14.15.4 2、添加源 curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - n.

Crisf的博客 950

手把手教你用SNAP做全极化SAR图像分类

引言 最近在研究极化SAR图像分类方面的内容,发现用SNAP软件可以很方便的实现图像的分类。因为在入门过程中踩了很多坑,浪费了一些时间,为了不让大家踩坑,所以决定写下这篇教程。 前期准备 软件下载 SNAP是欧空局旗下的一个SAR图像处理软件,可以点击下载地址进行下载。 数据下载 数据下载地址:https://mdacorporation.com/sample_data/RS2_OK76385_...

zz651044657的博客 1万+

webrtc Ubuntu环境使用Nodejs+Socket.io搭建webrtc信令服务器

ubuntu环境使用nodejs搭建信令服务器

知识共享,你我皆是知识的搬运工 4521

Virtuoso集成HspiceD:打通模拟设计全流程的仿真与PEX实战

本文详细介绍了Virtuoso集成HspiceD在模拟设计全流程中的应用,包括仿真与PEX实战。通过无缝衔接Virtuoso和HspiceD,设计师可以在同一环境中完成从原理图设计到PEX后仿真的全流程,大幅提升工作效率。文章还提供了仿真环境配置、前仿真关键设置、PEX全流程详解以及性能调优等实用技巧。

weixin_29271263的博客 98

海康威视iVMS-4200在银河麒麟系统部署全攻略与疑难排解

在信创国产化进程中,软件兼容性是关键挑战之一。以安防监控领域广泛使用的海康威视iVMS-4200客户端为例,其从Windows环境迁移到银河麒麟等国产操作系统时,面临架构适配、依赖库匹配等核心兼容性问题。这涉及到跨平台软件部署的通用原理:不同CPU架构(如ARM的飞腾、x86的兆芯)和操作系统底层API的差异,要求软件必须进行针对性编译和优化。解决这类问题的技术价值在于保障专业软件在国产化环境中的稳定运行,是信创产业落地的重要环节。具体到应用场景,如在基于银河麒麟V10的安防监控项目中,通过获取对应架构的.

weixin_33423874的博客 1465

ubuntu install node.js socket.io

https://github.com/joyent/node http://www.shaunambrose.com/2011/10/28/how-to-setup-node-js-npm-and-coffeescript-on-ubuntu/    apt-get update   101  apt-get install git-core curl build-essential

princess9的专栏 910

ArcGIS新手必看:5分钟搞定等高线转DEM栅格(附完整操作截图)

本文详细介绍了在ArcGIS中将等高线转换为DEM栅格的完整流程,包括CAD数据预处理、TIN转栅格和直接插值法两种核心方法,以及常见问题排查与优化技巧。通过实战案例和操作截图,帮助GIS新手快速掌握这一测绘数据处理的核心技能,提升地形分析和三维可视化效率。

dapp9builder的博客 287

ubantu 环境下nodejs安装

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34187822的博客 84

Abaqus子程序开发避坑指南:从UMESHMOTION到齿轮磨损分析实战

本文深入探讨Abaqus子程序开发中的关键技术与避坑指南,重点解析UMESHMOTION在齿轮磨损分析中的实战应用。从开发环境搭建、调试框架构建到性能优化和大规模计算,提供系统化的解决方案。通过真实案例展示如何避免内存泄漏、网格畸变等常见问题,并介绍数据驱动的磨损预测等前沿技术,帮助工程师提升仿真精度与效率。

weixin_30892037的博客 90

Win10环境借助DockerDesktop部署Open web UI集成DeepSeek

Win10环境借助DockerDesktop部署Open web UI集成DeepSeek,并借助DuckDuckGo实现联网查询

虎鲸不是鱼 1705

Ubuntu 18.04 Node.js生产部署:PM2+NGINX全栈配置指南

Node.js生产环境部署远不止启动进程,本质是Linux系统、HTTP协议与运行时协同的工程实践。其核心原理在于进程守护(如PM2替代nohup)、反向代理(Nginx承担SSL终结、静态分发、连接管理等多层职责)及系统级调优(ulimit、systemd资源限制、时区/本地化配置)。技术价值体现在高可用(自动重启、零停机更新)、高性能(连接复用、缓冲优化、CPU多核利用)与强安全(HTTPS卸载、速率限制、CSP头加固)。典型应用场景包括Express/Koa后端服务、Vue/React全栈应用上线,尤

weixin_30399821的博客 312

【Com通信】Com模块的事件帧发送及周期报文的快慢发送机制

Com模块的事件帧发送及周期报文的快慢发送机制

qq_36056498的博客 2336

Ubuntu 16.04 上稳定部署 Node.js 生产环境的完整实践

Node.js 生产环境部署本质上是进程守护、反向代理、资源管控与可观测性四大能力的系统集成。在老旧但广泛存在的 Ubuntu 16.04 系统上,受限于 systemd 229、OpenSSL 1.0.2g 和内核 cgroups v1 等底层约束,必须放弃‘最新即最优’思维,转而选择兼容性强、运维容错率高的技术组合:PM2 实现进程永生与内存软限,Nginx 承担 TLS 终结与流量调度,二者协同构建零停机、可监控、可回滚的最小可行生产闭环。该方案不依赖 Docker 或 Kubernetes,专为银行

weixin_33913332的博客 399

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Node.js 安装配置全攻略:从零搭建开发环境到工具链实践

JavaScript 运行时环境是现代 Web 开发的核心基础,它使得 JavaScript 能够脱离浏览器在服务器端执行,实现了前后端语言的统一。其底层基于 Chrome V8 引擎,采用事件驱动和非阻塞 I/O 模型,从而在处理高并发、I/O 密集型应用时展现出高性能优势。这一技术为构建 Web 服务器、实现前端工程化以及开发命令行工具提供了坚实基础,具有极高的技术价值。在实际应用中,无论是开发 RESTful API、使用前端框架,还是搭建自动化构建流程,一个配置正确且稳定的运行环境都是首要前提。本文

weixin_34112181的博客 840

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Ubuntu 18.04 Node.js 生产部署:PM2 + Nginx 稳定运行实战指南

Node.js 是基于事件循环的单线程 JavaScript 运行时,其生产就绪性高度依赖进程管理与网络网关协同。理解 Linux 守护进程(daemon)机制、systemd 服务生命周期和反向代理的核心职责,是保障服务 7×24 小时可用的技术基础。PM2 提供进程守护、内存监控、集群负载均衡与 systemd 集成能力;Nginx 承担 SSL 终止、静态资源卸载、连接缓冲与安全防护等关键网络任务。二者组合在 Ubuntu 18.04 这一长期稳定且仍受 ESM 支持的发行版上,构成轻量、可靠、可审计

深未来技术 508

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

从大型合唱到足球助威:实时音频处理系统构建全解析

实时音频处理是音视频技术领域的核心基础,它涉及对音频信号的即时采集、处理与传输。其基本原理是通过算法对音频流进行动态调整,如降噪、均衡和混音,以提升音质和适应不同场景。这项技术的核心价值在于实现低延迟、高质量的音频交互,广泛应用于在线会议、直播互动、大型活动制作等场景。本文以一场大规模校园合唱与足球赛融合的案例为切入点,深入探讨了如何构建一个轻量级、高可靠性的实时音频处理系统,并详细解析了其中涉及的**音频采集**与**实时流处理**等关键技术环节的实现路径。

weixin_34049948的博客 340

Agentic OS 源码安装指南:Rust+Node.js双栈协同部署

智能体协作平台(Multi-Agent System)正成为AI工程化落地的关键范式,其核心挑战在于跨智能体的状态同步、任务调度与故障恢复。Agentic OS 作为轻量级运行时框架,不替代操作系统,而是构建于 Rust 高并发调度内核与 Node.js 交互层之上,通过 IPC 通信实现低延迟、内存安全的智能体协同。它强调确定性版本锚定(如 Rust 1.75.0 + Node.js v20.11.1)、共享 Schema 契约(bincode 序列化)和进程级状态持久化,适用于需深度定制 AI 工作流的

weixin_34290096的博客 370

Node.js开发指南:从安装到实战技巧

Node.js作为基于Chrome V8引擎的JavaScript运行时环境,通过事件驱动和非阻塞I/O模型实现了高性能网络应用的开发。其异步编程特性特别适合处理高并发场景,如RESTful API、实时应用和微服务架构。本文从Node.js环境搭建入手,详细介绍了使用nvm进行多版本管理、核心模块如http和fs的应用,以及npm包管理器的进阶技巧。同时涵盖了异步编程模式、性能优化等实战经验,帮助开发者快速掌握这一全栈开发利器。

weixin_30691871的博客 326
上一篇: ubuntu12.04 下安装nodejs--增加自己补充
下一篇: 一步一步学习Ubuntu之NodeJs安装篇
dreamjava9213
博客等级 码龄16年 7粉丝 8原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值