首页 帮助中心 香港云服务器 华纳云服务器上PM2 部署 Node.js 应用程序
华纳云服务器上PM2 部署 Node.js 应用程序
时间 : 2024-08-19 12:06:50 编辑 : 华纳云 阅读量 : 175

本文为大家分享如何在华纳云服务器上PM2 部署 Node.js 应用程序,完成创建PM2服务步骤。还分享了关于Nginx设置为PM2服务的反向代理服务器的完整步骤。

Process Manager 2 (PM2) 是一款应用程序,可以为应用程序创建持久服务。PM2集群模式允许同一应用程序的多个实例,更高效的利用资源。PM2还提供简单的CLI界面,更便于管理、扩展和监控正在运行的服务。

登录华纳云账户,在个人管理后台中选择云服务器,按照自己需求选择服务器地区、大小,选择合适系统等。完成云服务器购买后即可获得到一台部署完善的云主机。可以开始创建ode.js 应用程序。安装好最新的Node.js 和 Node Package Manager (npm) 二进制文件。使用Express 创建示例 Node.js 应用程序。创建一个文件夹来存储项目文件,并导航到该文件夹​​。

mkdir ~/express-demo

cd ~/express-demo

初始化一个Node.js 项目。

npm init

安装Express库。

npm install express

创建一个名为index.js的文件。

nano index.js

把以下内容粘贴至index.js文件。

const express = require("express");

const app = express();

 

app.get("/", (req, res) => {

  res.send("<h1>Hello World, greetings from Vultr</h1>");

});

 

app.listen(3000, () => {

  console.log("Server listening on port 3000");

});

以上定义了一个基于express的基本应用程序,最后保存文件推出编辑器即可。

允许端口3000监听传入连接。

sudo ufw allow 3000

启动应用程序。

node index.js

在web浏览器中,导航到如下所示的URL:

http://SERVER_IP:3000

确认访问后可以停止服务器。

全局安装PM2包,该-g标志指定应全局安装PM2包,便于所有系统都可以访问它。

sudo npm install pm2 -g

集群模式下,启动Node.js 应用程序,确保路径替换为应用程序的实际位置,该-i标志指定Node.js 应用程序应在集群模式下使用4个实例运行。

pm2 start ~/express-demo -i 4 --name express-demo

设置持久服务。

pm2 startup

保存配置以应用更改。

pm2 save

将 Nginx 配置为反向代理服务器,先安装将 Nginx :

sudo apt install nginx

express-demo.conf在目录中创建一个名为的文件sites-available。

sudo nano /etc/nginx/sites-available/express-demo.conf

把以下内容粘贴至express-demo.conf文件中,确保其替换为example.com为您的实际域名。

server {

     listen 80;

     listen [::]:80;

     server_name example.com www.example.com;

 

     location / {

         proxy_pass http://127.0.0.1:3000/;

     }

}

server为您的域定义一组设置。listen指示服务器在端口上监听80传入的请求。server_name指定此服务器块将响应的域名。location定义服务器应该如何处理每个传入请求。proxy_pass指示服务器将请求转发到另一个位置,在本例中是http://127.0.0.1:3000/。保存文件并退出编辑器。

要激活虚拟主机配置,请在目录中创建软链接sites-enabled。

sudo ln -s /etc/nginx/sites-available/express-demo.conf /etc/nginx/sites-enabled/

测试配置以识别错误。

sudo nginx -t

配置正确会输出以下结果:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

重启Nginx 服务器:

sudo systemctl reload nginx

允许端口上的传入连接80。

sudo ufw allow 80/tcp

在 Web 浏览器中,导航到如下所示的 URL。

http://example.com

拒绝端口上的传入连接3000

sudo ufw deny 3000

华纳云 推荐文章
CentOS 7.9 分区中挂载硬盘LVM操作实例 Linux中SSH Key安全加固中的方法总结 Linux中tar存档删除和添加更新文件便捷方式 Linux提示内存不足错误如何修复 Linux 中出现协议不可用的问题怎么办 Linux 出现符号链接层数过多错误如何处理 香港云服务器中怎么设置nginx支持http2 如何实现多服务器内容同步? Windows云主机如何监控硬件资源? centos7怎么挂载光盘?详细的步骤流程
客服咨询
7*24小时技术支持
技术支持
渠道支持