如何在Ubuntu上使用pm2和Nginx部署Node.js应用

原创
ithorizon 7个月前 (10-07) 阅读数 39 #Linux

怎样在Ubuntu上使用pm2和Nginx部署Node.js应用

在开发Node.js应用时,选择一个合适的部署方案至关重要。本文将指导您在Ubuntu系统上使用pm2和Nginx来部署您的Node.js应用。pm2是一个生产级别的Node.js进程管理器,而Nginx是一个高性能的HTTP和反向代理服务器。通过结合这两个工具,您可以确保您的应用稳定运行并处理高并发请求。

### 准备工作

在开端之前,请确保您的Ubuntu系统已更新至最新状态:

bash

sudo apt update

sudo apt upgrade

### 安装Node.js

首先,您需要在您的Ubuntu系统上安装Node.js。您可以通过以下命令来安装Node.js:

bash

sudo apt install nodejs npm

### 创建Node.js应用

接下来,创建一个基本的Node.js应用。在这个例子中,我们将创建一个单纯的HTTP服务器。

bash

mkdir my-node-app

cd my-node-app

npm init -y

echo 'const http = require("http");' > server.js

echo 'const hostname = "127.0.0.1";' >> server.js

echo 'const port = 3000;' >> server.js

echo 'const server = http.createServer((req, res) => {' >> server.js

echo ' res.statusCode = 200;' >> server.js

echo ' res.setHeader("Content-Type", "text/plain");' >> server.js

echo ' res.end("Hello World ");' >> server.js

echo '});' >> server.js

echo 'server.listen(port, hostname, () => {' >> server.js

echo ' console.log(`Server running at http://${hostname}:${port}/`);' >> server.js

echo '});' >> server.js

### 安装pm2

pm2可以帮助您管理您的Node.js应用。通过以下命令安装pm2:

bash

sudo npm install pm2@latest -g

### 启动应用并使用pm2

使用pm2启动您的Node.js应用:

bash

pm2 start server.js

这会将您的应用以守护进程的形式运行,并管理它的生命周期。

### 配置Nginx

接下来,我们需要配置Nginx来反向代理我们的Node.js应用。

1. 安装Nginx:

bash

sudo apt install nginx

2. 创建一个新的Nginx配置文件:

bash

sudo nano /etc/nginx/sites-available/my-node-app

3. 输入以下配置:

nginx

server {

listen 80;

server_name yourdomain.com;

location / {

proxy_pass http://localhost:3000;

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;

}

}

4. 将配置文件链接到Nginx的sites-enabled目录:

bash

sudo ln -s /etc/nginx/sites-available/my-node-app /etc/nginx/sites-enabled/

5. 重载Nginx以应用配置更改:

bash

sudo nginx -t

sudo systemctl reload nginx

### 验证部署

现在,您的Node.js应用应该可以通过Nginx访问了。在浏览器中输入您的域名或IP地址,您应该能看到“Hello World”的输出。

### 使用pm2守护应用

pm2不仅可以帮助您启动应用,还可以监控和重启应用。要使pm2在启动时自动加载应用,可以使用以下命令:

bash

pm2 startup

然后,利用提示运行推荐的命令以添加pm2到系统启动脚本。

### 总结

通过本文,您已经学会了怎样在Ubuntu上使用pm2和Nginx部署Node.js应用。这些工具的组合可以确保您的应用在服务器上稳定运行,并能够处理高并发请求。期待这篇文章对您有所帮助!

本文由IT视界版权所有,禁止未经同意的情况下转发

文章标签: Linux


热门