更新时间:2025-07-30 GMT+08:00
手工部署Node.js(CentOS 7.2)
简介
本文介绍了如何在华为云上使用弹性云服务器的Linux实例部署Node.js。
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,用于方便地搭建响应速度快、易于扩展的网络应用。Node.js使用事件驱动,非阻塞I/O模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。
更多关于Node.js信息,请参见https://nodejs.org。
该操作以“CentOS 7.2 64bit(40G)”操作系统为例,使用的Node.js软件包版本为“node-v10.14.1-linux-x64.tar”及“node-v10.14.2-linux-x64.tar”。
前提条件
操作步骤
- 登录弹性云服务器。
- 安装Node.js安装包。
- 使用二进制文件安装。
- 执行以下命令,下载Node.js安装包。
wget https://nodejs.org/dist/v10.14.1/node-v10.14.1-linux-x64.tar.xz
- 执行以下命令,解压文件。
tar xvJf node-v10.14.1-linux-x64.tar.xz
- 依次执行以下命令,为node及npm建立软连接,可在任意目录下执行node及npm命令。
ln -s /root/node-v10.14.1-linux-x64/bin/node /usr/local/bin/node ln -s /root/node-v10.14.1-linux-x64/bin/npm /usr/local/bin/npm
- 依次执行以下命令,查看node及npm版本。
node -v npm -v
- 执行以下命令,下载Node.js安装包。
- 使用NVM版本管理器安装多版本。
- 执行以下命令,安装git。
yum install git
- 执行以下命令,使用git将源码克隆到本地的~/.nvm目录下,并检查最新版本。
git clone https://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`
- 执行以下命令,激活NVM,并将其追加至profile文件下。
echo ". ~/.nvm/nvm.sh" >> /etc/profile
- 执行如下命令,使环境变量生效。
source /etc/profile
- 执行以下命令,列出Node.js可用版本。
nvm ls-remote
- 执行以下命令,安装多个Node.js版本。
nvm install v10.14.1 nvm install v10.14.2
- 执行以下命令,查看已安装的Node.js版本。
nvm ls
- 执行以下命令切换Node.js版本至V10.14.2。
nvm use v10.14.2
- 执行nvm alias default v10.14.2,设置默认版本为10.14.2。
- 执行nvm help,获取更多NVM操作信息。
- 执行以下命令,安装git。
- 使用二进制文件安装。
- 部署测试项目。
- 执行以下命令,进入用户主目录。
cd
- 执行以下命令,新建项目文件test.js。
touch test.js
- 使用vim编辑器编辑项目文件test.js。
- 执行以下命令,打开项目文件test.js。
vim test.js
- 按i键进入编辑模式。
输入以下项目文件内容,修改打开的“test.js”文件。
const http = require('http'); const hostname = '0.0.0.0'; const port = 3000; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World\n'); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); });
端口号port可自定义。 - 按Esc键退出编辑模式,并输入:wq保存后退出。
- 执行以下命令,打开项目文件test.js。
- 执行以下命令,查看已开启端口。
netstat -lntp
若定义端口不存在,需登录弹性云服务器控制台,更改安全组规则,具体步骤参见添加安全组规则。
- 添加防火墙例外端口。
- 以本例使用的3000端口为例,执行以下命令,添加防火墙例外端口3000。
firewall-cmd --zone=public --add-port=3000/tcp --permanent
如果回显信息如下说明防火墙关闭,可直接执行3.f[root@ecs-centos7 ~]# firewall-cmd --zone=public --add-port=3000/tcp --permanent FirewallD is not running
如果回显信息如下说明防火墙开启且添加例外端口成功。[root@ecs-centos7 ~]# firewall-cmd --zone=public --add-port=3000/tcp --permanent success
- 重新加载策略配置,使新配置生效。
firewall-cmd --reload
- 可以执行以下命令查看开启的所有端口。
firewall-cmd --list-ports
[root@ecs-centos7 ~]# firewall-cmd --list-ports 3000/tcp
- 以本例使用的3000端口为例,执行以下命令,添加防火墙例外端口3000。
- 执行以下命令,运行项目。
node ~/test.js
- 使用浏览器访问“http://弹性公网IP:3000”显示如下页面,说明Node.js测试项目部署成功。
图1 部署测试
- 执行以下命令,进入用户主目录。
父主题: 搭建环境