九游平台/ 弹性云服务器 ecs/ / / 手工部署node.js(centos 7.2)
更新时间:2025-03-07 gmt 08:00

手工部署node.js(centos 7.2)-九游平台

简介

本文介绍了如何在华为云上使用弹性云服务器的linux实例部署node.js。

node.js是一个基于chrome v8引擎的javascript运行环境,用于方便地搭建响应速度快、易于扩展的网络应用。node.js使用事件驱动,非阻塞i/o模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。

更多关于node.js信息,请参见。

该操作以“centos 7.2 64bit(40g)”操作系统为例,使用的node.js软件包版本为“node-v10.14.1-linux-x64.tar”及“node-v10.14.2-linux-x64.tar”。

前提条件

  • 已创建弹性云服务器,创建过程请参考自定义购买ecs
  • 弹性云服务器需要绑定弹性公网ip,具体步骤参见申请弹性公网ip
  • 为了更好的获取和更新系统和软件,建议您更新镜像源为华为云镜像源,详细操作,请参见。
  • 本地已经安装用于连接 linux 弹性云服务器的工具(如 )。

操作步骤

  1. 安装node.js安装包。
    • 使用二进制文件安装。
      1. 登录弹性云服务器。
      2. 执行以下命令,下载。

        wget https://nodejs.org/dist/v10.14.1/node-v10.14.1-linux-x64.tar.xz

      3. 执行以下命令,解压文件。

        tar xvjf node-v10.14.1-linux-x64.tar.xz

      4. 依次执行以下命令,为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

      5. 依次执行以下命令,查看node及npm版本。

        node -v

        npm -v

    • 使用nvm版本管理器安装多版本。
      1. 登录弹性云服务器。
      2. 执行以下命令,安装git。

        yum install git

      3. 执行以下命令,使用git将源码克隆到本地的~/.nvm目录下,并检查最新版本。

        git clone https://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`

      4. 执行以下命令,激活nvm,并将其追加至profile文件下。

        echo ". ~/.nvm/nvm.sh" >> /etc/profile

      5. 执行如下命令,使环境变量生效。

        source /etc/profile

      6. 执行以下命令,列出node.js可用版本。

        nvm ls-remote

      7. 执行以下命令,安装多个node.js版本。

        nvm install v10.14.1

        nvm install v10.14.2

      8. 执行以下命令,查看已安装的node.js版本。

        nvm ls

      9. 执行以下命令切换node.js版本至v10.14.2。

        nvm use v10.14.2

        • 执行nvm alias default v10.14.2,设置默认版本为10.14.2。
        • 执行nvm help,获取更多nvm操作信息。
  2. 部署测试项目。
    1. 执行以下命令,进入用户主目录。

      cd

    2. 执行以下命令,新建项目文件test.js。

      touch test.js

    3. 使用vim编辑器编辑项目文件test.js。
      1. 执行以下命令,打开项目文件test.js。

        vim test.js

      2. 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可自定义。
      3. esc键退出编辑模式,并输入:wq保存后退出。
    4. 执行以下命令,查看已开启端口。

      netstat -lntp

      若定义端口不存在,需登录弹性云服务器控制台,更改安全组规则,具体步骤参见添加安全组规则

    5. 添加防火墙例外端口。
      1. 以本例使用的3000端口为例,执行以下命令,添加防火墙例外端口3000。

        firewall-cmd --zone=public --add-port=3000/tcp --permanent

        如果回显信息如下说明防火墙关闭,可直接执行2.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
      2. 重新加载策略配置,使新配置生效。

        firewall-cmd --reload

      3. 可以执行以下命令查看开启的所有端口。

        firewall-cmd --list-ports

        [root@ecs-centos7 ~]# firewall-cmd --list-ports
        3000/tcp
    6. 执行以下命令,运行项目。

      node ~/test.js

    7. 使用浏览器访问“http://弹性公网ip:3000”显示如下页面,说明node.js测试项目部署成功。
      图1 部署测试

相关文档

网站地图