首页 >运维 >Nginx >教你如何使用NGINX和PM2部署VPS服务器上的Node.js应用

教你如何使用NGINX和PM2部署VPS服务器上的Node.js应用

王林
王林原创
2023-09-26 17:54:411329浏览

教你如何使用NGINX和PM2部署VPS服务器上的Node.js应用

教你如何使用NGINX和PM2部署VPS服务器上的Node.js应用

今天我将向大家介绍如何使用NGINX和PM2来部署VPS服务器上的Node.js应用。Node.js是一个非常流行的后端开发框架,而NGINX是一个高性能的反向代理服务器,PM2是一个强大的进程管理器。通过结合使用这三个工具,我们可以实现高效、稳定的服务器部署。

  1. 确保你已经安装了Node.js和NPM。如果没有安装,可以通过以下命令进行安装:
sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm
  1. 安装PM2进程管理器。PM2可以帮助我们管理Node.js应用的进程,在应用崩溃时自动重新启动。使用以下命令进行安装:
sudo npm install -g pm2
  1. 创建一个简单的Node.js应用程序。在你的VPS上创建一个新的文件夹,并在其中创建一个名为 app.js 的文件。在 app.js 中编写你的应用程序代码。例如,以下是一个简单的Express应用程序代码:app.js 的文件。在 app.js 中编写你的应用程序代码。例如,以下是一个简单的Express应用程序代码:
var express = require('express');
var app = express();

app.get('/', function(req, res) {
  res.send('Hello World!');
});

app.listen(3000, function() {
  console.log('App listening on port 3000!');
});
  1. 使用PM2启动应用程序。在终端中,导航到应用程序目录并运行以下命令:
pm2 start app.js

现在,你的应用程序已经通过PM2启动,并且会在失败时自动重新启动。

  1. 配置NGINX反向代理。我们希望将 NGINX 配置为监听80端口,将传入的请求转发到我们的Node.js应用程序。打开NGINX配置文件,路径一般为 /etc/nginx/sites-enabled/default,并进行如下配置:
server {
  listen 80;
  server_name your-domain.com;

  location / {
    proxy_set_header   X-Real-IP $remote_addr;
    proxy_set_header   Host      $http_host;
    proxy_pass         http://127.0.0.1:3000;
  }
}

在该配置中,将 your-domain.com 替换为你的域名。然后,将 127.0.0.1:3000

sudo service nginx reload
      使用PM2启动应用程序。在终端中,导航到应用程序目录并运行以下命令:
    1. rrreee
    现在,你的应用程序已经通过PM2启动,并且会在失败时自动重新启动。

      配置NGINX反向代理。我们希望将 NGINX 配置为监听80端口,将传入的请求转发到我们的Node.js应用程序。打开NGINX配置文件,路径一般为 /etc/nginx/sites-enabled/default,并进行如下配置:

      rrreee

      在该配置中,将 your-domain.com 替换为你的域名。然后,将 127.0.0.1:3000 替换为你的应用程序运行的地址和端口。

      🎜🎜保存并关闭配置文件。然后,重新加载NGINX配置以使其生效:🎜🎜rrreee🎜现在,NGINX将通过反向代理将传入的请求发送到我们的Node.js应用程序。🎜🎜恭喜!你已经成功地使用NGINX和PM2部署了VPS服务器上的Node.js应用程序。现在,你可以访问你的域名,应该可以看到你的应用程序运行的内容。🎜🎜以上是使用NGINX和PM2部署VPS服务器上的Node.js应用的简要指南,希望能对你有所帮助。🎜

以上是教你如何使用NGINX和PM2部署VPS服务器上的Node.js应用的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn