如何在Ubuntu 16.04上设置生产型Node.js应用

如何在 Ubuntu 20.04 上安装 Node.js Node.js是用于服务器端编程的 JavaScript 运行时。它允许开发人员使用 JavaScript 创建可扩展的后端功能,这是许多人在基于浏览器的 Web 开发中已经熟悉的语言。 阅读详情

提供:ZStack云计算

内容介绍

Node.js是一套开源JavaScript运行时环境,能够轻松构建服务器端与网络应用。这套平台可运行在Linux、OS X、FreeBSD以及Windows系统之上。Node.js应用可通过命令行运行,但今天我们着重关注以服务方式运行,因此其需要在重启或崩溃情况下自动恢复,并可安全应用于生产环境。

在本教程中,我们将探讨如何在单一Ubuntu 16.04服务器上设置能够用于实际生产的Node.js环境。此服务器将运行由PM2负责管理的Node.js应用,且为用户提供经由Nginx反向代理实现的安全访问。Nginx服务器将提供HTTPS,并由Let’s Encrypt提供免费证书。

先决条件

本教程要求大家拥有一套Ubuntu 16.04服务器,且配置一个拥有sudo权限的非root用户,具体方法参阅Ubuntu 16.04服务器初始设置指南。

另外,大家还需要拥有自己的域名,且指向服务器的公共IP地址。

下面在服务器上安装Node.js运行时。

安装Node.js

我们将使用NodeSource软件包归档文件安装最新Node.js版本。

首先,大家需要安装NodeSource PPA以访问其内容。现在前往主目录,使用curl以提取Node.js 6.x归档文件中的安装脚本:

- cd ~

- curl -sL https://deb.nodesource.com/setup_6.x -o nodesource_setup.sh

大家可以使用nano(或者其它文本编辑器)修改此脚本内容:

- nano nodesource_setup.sh

下面使用sudo权限运行此脚本:

- sudo bash nodesource_setup.sh

此PPA将被添加至配置当中,而本地软件包缓存也将自动更新。在从nodesource运行了设置脚本后,大家即可以同样的方式安装Node.js软件包:

- sudo apt-get install nodejs

除了nodejs二进制代码外,nodejs软件包还包含npm,意味着大家无需单独安装npm。不过为了确保某些npm软件包能够正常运行(例如需要对源代码进行编译的情况),大家需要安装build-essential软件包:

- sudo apt-get install build-essential

Node.js运行时已经安装完成,下面开始编写我们的Node.js应用。

请注意:当从NodeSource PPA进行安装时,Node.js可执行文件名为nodejs,而非node。

创建Node.js应用

我们这里编写一个简单的Hello World应用,即向任意HTTP请求返回“Hello World”。

Hello World代码

首先,创建并打开Node.js应用以进行编辑。在本示例中,我们将使用nano对hello.js示例应用进行编辑:

- cd ~

- nano hello.js

在文件中插入以下代码。如果大家愿意,也可以替换其中的8080端口(请确保使用非admin端口,例如1024或更高):

hello.js

#!/usr/bin/env nodejs
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(8080, 'localhost');
console.log('Server running at http://localhost:8080/');

保存并退出。

此Node.js应用能够监听特定地址(localhost)与端口(8080),并利用200 HTTP success代码返回“Hello Wor”字样。由于我们监听的是localhost,因此远程客户端无法接入我们的应用。

测试应用

为了进行应用测试,我们将hello.js设为可执行:

- chmod +x ./hello.js

运行方法如下:

- ./hello.js

Output

Server running at http://localhost:8080/

请注意:以这种方式运行Node.js应用会阻断其它命令,直到以Ctrl-C关闭该应用。

为了测试此应用,我们需要在服务器上打开另一终端会话并利用curl接入localhost:

- curl http://localhost:8080

如果大家看到以下输出结果,则该应用已经正常运行并开始监听正确的地址与端口:

Output

Hello World

如果大家看到的输出结果有误,请确保Node.js应用正在运行并监听正确的地址与端口。

测试完成后,按下Ctrl-C关闭应用。

安装PM2

现在安装PM2,这是一款面向Node.js应用的进程管理器。PM2能够轻松管理应用并实现后台化(以服务形式将其运行于后台)。

我们将使用npm安装各Node模块。下面安装PM2:

- sudo npm install -g pm2

其中的-g要求npm将模块安装在本地,从而实现系统内使用。

利用PM2管理应用

易于上手及使用,下面来了解PM2的几种基本用法。

启动应用

首先利用pm2命令在后台运行hello.js应用:

- pm2 start hello.js

这条命令还能够将应用添加至PM2进程列表中,其会在每次应用启动时输出结果:

Output

[PM2] Spawning PM2 daemon
[PM2] PM2 Successfully daemonized
[PM2] Starting hello.js in fork_mode (1 instance)
[PM2] Done.
┌──────────┬────┬──────┬──────┬────────┬─────────┬────────┬─────────────┬──────────┐
│ App name │ id │ mode │ pid  │ status │ restart │ uptime │ memory      │ watching │
├──────────┼────┼──────┼──────┼────────┼─────────┼────────┼─────────────┼──────────┤
│ hello    │ 0  │ fork │ 3524 │ online │ 0       │ 0s     │ 21.566 MB   │ disabled │
└──────────┴────┴──────┴──────┴────────┴─────────┴────────┴─────────────┴──────────┘
Use `pm2 show <id|name>` to get more details about an app

如大家所见,PM2能够自动分配一个App名称(基于文件名称,但不包含.js后缀)以及一个PM2 ID。PM2还能够包含其它信息,例如进程的PID、当前状态以及内存使用量。

运行在PM2下的应用可在崩溃或被关闭后自动恢复,但我们还需要另行调整以确保其在系统重启后也能得到恢复。幸运的是,PM2能够非常简单的实现方式,即startup子命令。

这里的startup子命令能够生成并配置一套startup脚本,用于启动PM2并在服务器启动时管理进程。大家还需要指定其运行平台,即ubuntu:

- pm2 startup systemd

输出结果的最后一行中包含一条必须以superuser权限运行的命令:

Output

[PM2] You have to run this command as root. Execute the following command:
  sudo su -c "env PATH=$PATH:/usr/bin pm2 startup systemd -u sammy --hp /home/sammy"

运行该命令用于(类似于以上内容,但sammy应被替换为实际用户名)设置PM2以确保其在引导过程中启动:

- sudo su -c "env PATH=$PATH:/usr/bin pm2 startup systemd -u sammy --hp /home/sammy"

这条命令将创建一个systemd单元以确保在引导时运行pm2。该pm2实例运行hello.js。大家可以利用systemctl命令检查该systemd单元的状态:

- systemctl status pm2

关于更多细节信息,请参阅Systemd基础:Service、Unit与Journal一文。

其它PM2使用方式(可选)

PM2提供多种子命令,允许大家管理应用并查看相关信息。请注意,直接运行pm2而不加任何参数则会显示帮助页面,其中包括示例使用情况等。

使用以下命令关闭应用(指定PM2应用名称或ID):

- pm2 stop app_name_or_id

以下命令可重启应用:

- pm2 restart app_name_or_id

以下list子命令可列出当前由PM2管理的各应用:

- pm2 list

大家可以利用info子命令查看更多特定应用的相关信息:

- pm2 info example

PM2进程监控器则需要使用monit子命令,其能够显示应用状态、CPU与内存占用量:

- pm2 monit

现在Node.js应用已经开始运行并由PM2管理,接下来探讨反向代理。

设置Nginx作为反向代理服务器

现在我们的应用开始运行,监听localhost,接下来需要设置用户访问机制。我们将利用Nginx Web服务器作为反向代理。在本教程中,我们从零开始进行Nginx设置。如果大家已经拥有自己的Nginx服务器,则可将locationblock复制到选定的serverblock中(确保位置信息不会与现有内容相冲突)。

首先使用apt-get安装Nginx:

- sudo apt-get install nginx

现在打开默认server block配置文件进行编辑:

- sudo nano /etc/nginx/sites-available/default

删除文件内的全部内容并插入以下配置。注意将server_name替换为实际域名。另外,如果大家的应用需要监听其它端口,也记得进行对应调整:

/etc/nginx/sites-available/default

server {
listen 80;

server_name example.com;

location / {
    proxy_pass http://localhost:8080;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
}
}

假定大家的服务器配备example.com域名,则通过浏览器访问http://example.com/即会向hello.js发送请求,并监听localhost上的端口8080。

大家也可以添加其它location block以在同一服务器上访问其它应用。例如,如果我们在端口8081上运行有另一Node.js应用,则可添加以下location block以通过http://example.com/app2实现访问:

Nginx Configuration — Additional Locations

location /app2 {
    proxy_pass http://localhost:8081;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
}

完成添加之后,保存并退出。

重启Nginx:

- sudo systemctl restart nginx

假定大家的Node.js应用正在运行,应用与Nginx配置也一切正常,则可通过Nginx反向代理实现应用访问。

下面利用Let’s Encrypt保护应用连接。

安装Let’s Encrypt及其关联性

Let’s Encrypt是一款新型证书发布程序,能够轻松帮助我们获取免费的TLS/SSL证书。

大家必须拥有或者控制需要使用证书的注册域名。如果大家还没有注册域名,则可通过各域名注册商进行申请。

另外,请记得为服务器的公共IP地址创建一条A记录,因为Let’s Encrypt会据此进行验证。

关于这部分工作的具体信息,请参阅如何利用DigitalOcean设置主机名称以及如何将通用域名分配给DigitalOcean命名服务器。

在安装Let’s Encrypt前,确保git与bc软件包已经安装完成:

- sudo apt-get -y install git bc

接下来将letsencrypt库由GitHub克隆至/opt/letsencrypt。其中/opt/目录属于发行版官方软件包库不包含的各软件的标准保存位置:

- sudo git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt

将其克隆至letsencrypt目录:

- cd /opt/letsencrypt
获取初始证书

由于nginx目前已经运行在端口80上,而Let’s Encrypt客户端也需要使用该端口以验证域名,所以暂时停止nginx:

- sudo systemctl stop nginx

使用Standalone插件运行letsencrypt:

- ./letsencrypt-auto certonly --standalone

根据提示输入信息,包括邮箱地址、同意服务条款以及证书适用的域名。完成后,大家将获得以下信息:

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/your_domain_name/fullchain.pem. Your cert will expire
on 2016-08-10. To obtain a new version of the certificate in the
future, simply run Let's Encrypt again.
- If you like Let's Encrypt, please consider supporting our work by:

Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
Donating to EFF:                    https://eff.org/donate-le

请注意证书的路径与过期日期。大家的证书文件现在应该已经存在于/etc/letsencrypt/your_domain_name/位置了。

面向HTTPS配置Nginx

大家需要在Nginx配置中添加更多细节。在nano中打开/etc/nginx/sites-enabled/default:

- sudo nano /etc/nginx/sites-enabled/default

利用以下内容替换其原有内容:

/etc/nginx/sites-enabled/default

# HTTP - redirect all requests to HTTPS:
server {
    listen 80;
    listen [::]:80 default_server ipv6only=on;
    return 301 https://$host$request_uri;
}

# HTTPS - proxy requests on to local Node.js app:
server {
    listen 443;
    server_name your_domain_name;

    ssl on;
    # Use certificate and key provided by Let's Encrypt:
    ssl_certificate /etc/letsencrypt/live/your_domain_name/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/your_domain_name/privkey.pem;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';

    # Pass requests for / to localhost:8080:
    location / {
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-NginX-Proxy true;
            proxy_pass http://localhost:8080/;
            proxy_ssl_session_reuse off;
            proxy_set_header Host $http_host;
            proxy_cache_bypass $http_upgrade;
            proxy_redirect off;
    }
}

保存并退出。再次启动Nginx:

- sudo systemctl start nginx

现在大家可以在浏览器中访问http://your_domain_name/以测试证书及Nginx配置了。在这里,大家应当被重新定向至http://your_domain_name/,且在不触发任何安全错误的前提下查看到“Hello World”。

设置Let’s Encrypt自动续租

注意:即使不进行证书续租,大家也可以顺利完成本教程。不过在长期运行的生产环境下,自动续租显然非常必要。

Let’s Encrypt证书的有效期为90天,这是为了尽可能缩短问题证书的存在时间。

Let’s Encrypt客户端能够自动进行证书续租,但大家仍然需要重复证书获取流程,或者使用脚本来完成这项任务。这里建议大家参阅如何在Ubuntu 16.04上利用Let’s Encrypt保护Nginx,特别是其中的设置自动续租部分。

总结

恭喜大家!现在各位已经拥有了运行在Ubuntu 16.04服务器上且由Nginx反向代理支持的Node.js应用。这套反向代理设置非常灵活,足以将用户引导至其它应用或者静态页面处。

本文来源自DigitalOcean Community。英文原文:How To Set Up a Node.js Application for Production on Ubuntu 16.04 By Brennen Bearnes

翻译:diradw

在Ubuntu 16.04下安装nodejs 介绍 Node.js是一个用于通用编程的JavaScript平台,允许用户快速构建网络应用程序。 通过利用前端和后端的JavaScript,开发可以更一致,并在同一系统中进行设计。 在本指南中,我们将向您介绍如何在Ubuntu 16.04服务器上开始使用Node.js。 如果您正在寻求建立一个生产环境的Node.js,看看这个链接: 如何建立一个Node.js的应用程序进行生产 。 先决条件 本指... 阅读详情

相关推荐

0 SAP专题方案-MM模块-专题方案讨论-清单汇总(MM Module-Key Tranctions Discussion)

SAP专题方案-MM模块涉及到2个部门,一个是客户的采购部门(MM-PU采购管理),另外一个是客户的仓库部门以及生产车间(MM-IM库存管理)。为什么要项目上要突出模块的专题方案了?因为有些方案或业务流程,无法通过一句话或者一个流程就可以说清楚,需要模板内部或跨模块多个客户部门一起商量才来确定,确认后还需要进行签字受控,所以模块专题方案讨论是在SAP实施项目蓝图汇报前非常重要的一个环节或阶段。

2200

Ubuntu 16.04下配置nginx与nodejs以及服务的部署

title: Ubuntu 16.04下配置nginx与nodejs以及服务的部署 date: 2019-05-05 22:45:49 tags: Linux --- 第一步:安装nginx sudo apt-get update sudo apt-get install nginx 如果遇到依赖问题,尝试执行sudo apt-get -f install命令 第二步:配置nginx 首先备份...

weixin_30622181的博客 486

AFSim 2.9实战指南:从入门到精通的中文教程

本文是AFSim 2.9的实战中文教程,旨在帮助用户从零开始掌握这一先进的仿真框架。内容涵盖从环境安装、运行第一个“Hello World”仿真,到深入理解实体、组件、想定编辑器等核心概念,并进阶探讨动力学建模、传感器仿真与红蓝对抗想定构建。最后,指南还提供了效能分析与实战排错技巧,帮助用户将仿真结果转化为有价值的量化数据,适用于军事、航空航天等领域的复杂系统行为模拟研究。

weixin_29294395的博客 363

在Ubuntu 16.04上安装Node.js的方法

Node.js 是用于服务器端编程的 JavaScript 运行时。它允许开发人员使用 JavaScript 创建可扩展的后端功能,这是一种许多开发人员在基于浏览器的 Web 开发中已经熟悉的语言。使用apt从 Ubuntu 默认软件仓库安装nodejs包使用apt与备用 PPA 软件仓库安装特定版本的nodejs包安装nvm(Node Version Manager),并使用它来安装和管理多个 Node.js 版本对于许多用户来说,使用默认仓库的apt将足够满足需求。

rubys007的博客 1927

别再为跨页读写发愁了!STM32F407模拟I2C驱动24C256/512的避坑指南

本文详细解析了STM32F407模拟I2C驱动24C256/512的跨页写入问题,揭示了24C系列存储器'写满一页不会自动翻页'的关键机制,并提供了经过验证的分页写入算法和优化方案。通过GPIO时序优化、地址计算和错误处理等技巧,帮助开发者解决数据错乱、覆盖等常见问题,实现稳定可靠的EEPROM读写操作。

weixin_42631411的博客 379

使用jsch和commons-pool2为sftp创建连接池

使用jsch和common-pool2为sftp创建连接池

文若书生的专栏 3286

如何在 Ubuntu 16.04 上使用 Node-RED 连接你的物联网设备

Node-RED 是物联网的交换机板,是一个可视化工具,帮助您将喜爱的应用程序、网站和硬件连接在一起,实现新的有用功能。Node-RED 往往被比作 IFTTT 或已经停止运营的 Yahoo Pipes,但 Node-RED 拥有更强大、更灵活的界面,以及一个庞大的开源社区,创建节点与各种应用程序和服务进行交互。在本教程中,我们将安装 Node.js 和 Node-RED,从 Let’s Encrypt 获取 SSL 证书,并使用 Nginx 处理 Node-RED 的安全连接。

rubys007的博客 3064

DEA-Malmquist指数模型实战:从理论到应用的全流程解析

本文全面解析了DEA-Malmquist指数模型从理论到应用的全流程。文章详细阐述了该模型如何动态衡量效率随时间的变化,并将其分解为技术效率变化与技术进步,从而精准定位效率变动的根源。通过实战步骤演示了数据准备、软件操作(如DEAP 2.1)及结果解读,并结合水资源环境效率等案例,展示了其在包含非期望产出时的应用价值,为研究者进行动态效率分析提供了清晰指南。

b0c1d2的博客 222

在Ubuntu 16.04上设置Node.js应用程序以用于生产环境

Node.js 是一个用于构建服务器端和网络应用程序的开源 JavaScript 运行环境。该平台可在 Linux、MacOS、FreeBSD 和 Windows 上运行。Node.js 应用程序可以在命令行上运行,但我们将专注于将它们作为服务运行,以便它们在重新启动或失败时能够自动重启,并且可以安全地在生产环境中使用。在本教程中,我们将介绍如何在单个 Ubuntu 16.04 服务器上设置一个适用于生产环境的 Node.js 环境。

rubys007的博客 1187

从气象预报到物流规划:多尺度地理加权回归(MGWR)在ArcGIS Pro中的实战应用

本文深入探讨了多尺度地理加权回归(MGWR)在ArcGIS Pro中的实战应用。通过对比传统GWR模型,MGWR的核心优势在于能识别不同解释变量的独特空间作用尺度,有效解决空间异质性问题。文章结合气象预报误差修正与物流网点选址两个案例,详细讲解了从数据准备、参数设置、带宽优化到结果解读的全流程,为地理数据分析师处理复杂空间数据提供了强大工具。

egg99的博客 1035

milvus | 第 1 章:从“相似图片搜索”理解 Milvus 向量数据库

本文介绍了向量数据库Milvus的核心概念和基本架构。主要内容包括:1)向量数据库解决的是高维向量相似度检索问题,通过Embedding将非结构化数据转换为向量进行比较;2)Milvus作为分布式向量数据库,包含Proxy、Coordinator、QueryNode等多个组件协同工作;3)关键概念如Collection、Schema、Segment等构成了Milvus的数据组织方式;4)典型使用流程包括创建集合、插入数据、构建索引、加载数据和执行搜索五个步骤。文章为后续深入理解Milvus源码提供了基础知识

weixin_43674738的博客 135

在Ubuntu 20.04上安装Node.js的方法

Node.js 是用于服务器端编程的 JavaScript 运行时。它允许开发人员使用 JavaScript 创建可扩展的后端功能,这是许多人从基于浏览器的 Web 开发中已经熟悉的语言。使用apt从 Ubuntu 默认软件仓库安装nodejs包使用apt与备用 PPA 软件仓库安装特定版本的nodejs包安装nvm(Node Version Manager),并使用它来安装和管理多个 Node.js 版本对于许多用户来说,使用默认仓库的apt将足够。

rubys007的博客 3544

机器人轨迹规划——三次样条轨迹1(基于速度的求解方法)

三次样条轨迹是利用三次样条曲线来对给定的一系列点进行插值,从而得到一个光滑的轨迹。三次样条因为每段的多项式次数最高都是三阶的,所以可以得到2阶导数连续,也就是加速度连续的轨迹。假设给定了一系列的点q0q1q2qnq0​q1​q2​...qn​,以及每个点对应的参数t0t1t2tnt0​t1​t2​...tn​,计算一条三次样条曲线sts(t)st,该曲线通过给定的点q0q1q2qnq0​q1。

出门搔白首,若负平生志 1472

在 Ubuntu 14.04 服务器上安装 Node.js 的方法

Node.js 是一个用于服务器端编程的 JavaScript 平台,允许用户快速构建网络应用程序。通过在前端和后端都使用 JavaScript,开发可以更加一致并且可以在同一个系统中设计。在本指南中,我们将向您展示如何在 Ubuntu 14.04 服务器上开始使用 Node.js。如何设置 Node.js 应用程序用于生产环境。

rubys007的博客 2192

NTscan扫描工具

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

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

[教程]Ubuntu20.04安装Node.js

介绍在Ubuntu 20.04中安装Node.js的三种方法

DeepDriving 1万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

安装Node.js (基于Ubuntu 20.04)

JavaScript是Web开发中的主流语言。开发者一直的将其应用在服务器领域。2009年,Ryan Dahl带来了Node.js——开源跨平台的JavaScript运行时 (Runtime) 环境,它让JavaScript 脱离了浏览器环境,可以直接在计算机上运行,想干啥干啥,极大地拓展了JavaScript 用途,为JavaScript社区带来了蓬勃的生机。这篇文章,简单总结一下在系统上安装获取Node.js使用apt从Ubuntu默认的软件仓库安装使用apt从PPA软件仓库安装特定版本安装。

生信学习 1万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Ubuntu 16.04 搭建Fabric开发环境

本文环境为Ubuntu 16.04 LTS 一、先决条件 安装cURL $ sudo apt-get update $ sudo apt install curl 安装Docker 更新包索引 $ sudo apt-get update 安装packages以允许通过HTTPS使用存储库 $ sudo apt-get install \ apt-transport-http...

wcy708708的博客 1625

Ubuntu 16.04 安装 Node.js 16/18 的完整避坑指南

Node.js 是现代 Web 开发的核心运行时环境,其版本兼容性直接影响前端构建、服务端渲染与 DevOps 自动化。在老旧但仍在广泛使用的 Ubuntu 16.04 系统上,官方 apt 源仅提供已淘汰的 Node.js 4.2.6,无法支持 Vue 3、Express 5、Webpack 5 等主流框架所需的 ES2015+ 语法、TLS 1.2+ 安全协议及 npm 8+ 包校验机制。本文聚焦于 nvm(Node Version Manager)这一最安全、可审计的用户态方案,深入解析 Shell

既是过河之卒,惟有奋力向前。 419

在Ubuntu 20.04上安装Node.js 16和npm

通过这些步骤,你就可以在Ubuntu 20.04上安装并使用Node.js 16和npm了。包包含了编译源代码时需要的基本工具。如果你计划编译Node.js原生模块,建议安装它。使用NodeSource提供的安装脚本来安装Node.js 16及其附带的npm。确保Node.js和npm已经正确安装,并且版本正确。安装完成后,你可以全局安装npm包。首先,确保你的系统包列表是最新的。你应该看到npm的版本输出。

li602020787的博客 1653

Ubuntu 18.04 LTS系统安装Node.js运行环境

Node.js,一款免费且开源的跨平台JavaScript运行时环境,可以用于开发基于Google V8 JavaScript引擎的Web应用程序和网络工具。Node.js允许在服务器端运行脚本服务器端,且使用JavaScript来创建动态网页内容,然后将页面发送到用户的Web浏览器。 能够实现异步I/O,从而使Node.js快速且可扩展。 Ubuntu 18.04 LTS系统安装Node.j...

程序工厂 1542

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

Ubuntu 20.04 上安装 Node.js 和 npm 的三种方法

主要介绍三种在 Ubuntu 20.04 上安装 Node.js 和 npm 的方法。

秋雨夕照的博客 2万+

ubuntu16.04安装node.js、npm

ubuntu16.04安装node.js、npm1.请尽量避免在 Ubuntu 上使用 apt-get 来安装 node.js, 如果你已经这么做了,请手动移除: sudo apt-get purge nodejs && sudo apt-get autoremove && sudo apt-get autoclean 2.使用以下命令安装 NVM(通过...

weixin_30559481的博客 181

在Ubuntu中将MongoDB集成到你的Node js应用

现在,我们将引入一个第三列,其中包含用户鲨鱼数据的 POST 请求的命名端点和 EJS 模板标签,这些标签将捕获该数据。我们将按功能分离我们的路由,包括一个路由到我们应用的首页,另一个路由到我们的鲨鱼页面。现在你已经有了一个控制器组件来指导用户输入如何被保存和返回给用户,你可以进入创建视图的步骤,这些视图将实现你的控制器逻辑。其次,我们将向我们的视图中添加模板标签,以使我们的代码能够与用户数据动态交互。如果你按照前提条件中的初始服务器设置教程操作,你将需要修改你的防火墙,因为它目前只允许 SSH 流量。

qq_57526628的博客 1197

Ubuntu 16.04环境下nodejs的安装和配置

Ubuntu 16.04环境下nodejs的安装和配置下载nodejs配置nodejs 下载nodejs 在ubuntu环境下,前往nodejs官网https://nodejs.org/en/,nodejs官网能自动检测自己的系统版本,推荐出合适的nodejs版本,如下图: 下载之后,得到一个后缀名为tar.xz的压缩包。把压缩包解压,得到一个名为node-v10.15.3-linux-x64的...

看门猫的博客 7053

ubuntu 16.04 安装node 8 和npm

1:首先安装python sudo apt-get install python-software-properties   2:手动下载执行脚本curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -    我直接输入命令无效,所以就用了很笨的方法: 在浏览器打开:https://deb.nodesource.

3094
上一篇: 如何实现Django规模化:进阶教程
下一篇: 如何在Ubuntu 16.04上安装并配置Postfix作为只发送SMTP服务器
普通网友
博客等级 码龄10年 769粉丝 269原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值