如何在 CentOS 7 中部署 Node.js 应用程序

介绍

js 是一个服务器端、基于事件的 JavaScript 运行时环境,由 Ryan Dahl 设计,用于开发可扩展的网络应用程序。自2009 年引入以来,Node.js 越来越受欢迎,现在是编程领域最受欢迎的应用框架之一。 js 是基于谷歌 Chrome 的 V8 引擎。这意味着在谷歌 Chrome 中执行 JavaScript 代码的引擎也会在 Node.js 中使用。 尽管该框架主要用于 web 服务器编程,但它现在也用于其他领域,如脚本或命令行工具,或开发桌面或实时应用程序。

目录表

  1. 先决条件
  2. Installing Nodejs
  3. 创建一个示例 Node.js 应用程序
  4. 安装 PM2
  5. 设置 Nginx 反向代理服务器

先决条件

  1. CentOS 服务器
  2. Root 访问服务器

第一步: 安装 node . js

卷曲节点源 RPM 存储库配置文件:

curl -L -o nodesource_setup.sh https://rpm.nodesource.com/setup_10.x

打开源文件并验证下载

vi nodesource_setup.sh

运行安装脚本

sudo -E bash nodesource_setup.sh

在安装 Node.js 之前,清理 yum 缓存的所有信息是很重要的

yum clean all

接下来,我们将下载所有的元数据用于当前启用的 yum repos

yum makecache fast

为了从 npm 编译和安装本地附加组件,我们还需要安装构建工具:

yum install -y gcc-c++ make

在满足所有先决条件后,我们可以在服务器上安装 Node.js

yum install -y nodejs

通过检查 Node.js 版本来验证安装

node -v

如果安装成功,我们将得到类似的输出

第二步: 创建一个示例 Node.js 应用程序

使用您喜欢的编辑器,您可以打开扩展名为 .js 的文件。

vi first.js

将以下代码片段粘贴到文件中

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

注意 : 如果您愿意,您还可以替换这两个位置中高亮显示的端口 8080 (确保使用非管理端口,1024 或更大)

他的 Node.js 应用程序只是侦听指定的 IP 地址和端口,并返回 Hello World 和一个 200 HTTP成功代码。这意味着只能从同一私有网络上的服务器访问该应用程序

要测试 Node.js 应用程序,请运行以下命令

node first.js

第三步: 安装和使用 PM2

我们将安装 PM2,它是一个用于 Node.js 应用程序的进程管理器。PM2 提供了一种简单的方法来管理和守护应用程序(将它们作为服务运行)。

npm install [email protected] -g

首先运行 Node.js 应用程序。在后台你可以使用以下命令

pm2 start first.js

下面讨论一些有用的 pm2 命令:

pm2 启动 systemd : 让应用程序在系统启动时启动(引导或重新启动)。

pm2 保存 : 保存当前进程列表。

pm2 停止的方法: 停止应用程序

pm2 停止的方法 : 重新启动应用程序

pm2 列表 : 列出当前管理的应用程序。

pm2 信息的例子 : 有关特定应用程序的更多信息

pm2 monit : 显示应用程序状态 CPU 和内存使用情况

第四步 : 设置 Nginx 反向代理服务器

使用 yum 安装 epel-release 包:

yum install epel-release

Nginx 安装

yum install nginx

打开 Nginx 配置文件进行编辑:

vi /etc/nginx/nginx.conf

使用以下代码片段替换 conf 文件中的位置

location / {
        proxy_pass http://127.0.0.1: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;
    }

请注意: 如果使用了不同的端口,则可以替换 8080。

根据您的域名更改服务器名称。

如果您有多个 Node.js 应用程序,您可以简单地添加新应用程序的位置,并在其中包含上述代码片段。

然后启动 Nginx 服务

系统启动 Nginx

使用 Nginx

系统已连接

现在您的 Node.js 应用程序已经成功部署 您可以通过访问 Web 来验证应用程序

http://domainname:8080

现在您的 Node.js 应用程序已经成功部署,您可以通过访问 Web 来验证您的应用程序 如果您没有注册的域,您可以替换为您的IP地址

关联文章