独立服务器系统部署,Express 项目上线与 pm2 托管方法
林傲
作者 林傲
系统部署 2026/09/24 24 阅读 0 评论

独立服务器系统部署,Express 项目上线与 pm2 托管方法

0 0
该文章由 AI 生成,内容仅供参考,请注意甄别。

在 Node.js 开发中,将 Express 项目从本地环境推向生产环境的独立服务器,是项目上线的关键一步。然而,仅仅让项目跑起来是不够的,如何保证它在后台稳定运行、崩溃自动重启以及开机自启,同样至关重要。本文将详细讲解独立服务器的系统部署流程,以及使用 pm2 托管 Express 项目的最佳实践。

一、 独立服务器基础环境准备

在部署项目之前,首先需要确保服务器具备运行 Node.js 的基础环境。

  1. 系统更新:登录服务器后,首先更新系统软件包,确保系统安全与兼容。
    sudo apt update && sudo apt upgrade -y
    
  2. 安装 Node.js 环境:推荐使用 NodeSource 安装指定版本的 Node.js,或者使用 NVM(Node Version Manager)进行多版本管理,以适应不同项目的需求。
  3. 安装 Nginx:Nginx 将作为反向代理服务器,负责接收外部的 80 或 443 端口请求,并将其转发到 Express 项目运行的内部端口(如 3000),同时还能处理 SSL 证书和静态资源缓存。
    sudo apt install nginx -y
    

二、 Express 项目上传与 Nginx 配置

  1. 代码上传:将本地开发好的 Express 项目代码上传至服务器指定目录(如 /var/www/express-app)。可以使用 Git 拉取代码,或者通过 SCP 命令直接上传压缩包。
  2. 安装依赖:进入项目目录,执行 npm install --production 安装生产环境所需的依赖包。
  3. 配置 Nginx 反向代理:修改 Nginx 配置文件,将外部域名请求代理到 Express 服务的内部端口。
    server {
        listen 80;
        server_name yourdomain.com;
    
        location / {
            proxy_pass http://127.0.0.1:3000;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
    
    完成配置后,执行 sudo nginx -t 测试配置,并使用 sudo systemctl restart nginx 重启 Nginx。

三、 使用 pm2 托管与守护进程

Node.js 是单线程应用,一旦遇到未捕获的异常就会崩溃退出。在生产环境中,直接使用 node app.js 启动项目是不负责任的,我们需要使用 pm2 来托管项目。

  1. 安装 pm2:通过 npm 全局安装 pm2。
    sudo npm install pm2 -g
    
  2. 启动 Express 项目:在项目根目录下,使用 pm2 启动应用。
    pm2 start app.js --name "express-app"
    
    这里的 --name 参数为进程指定了一个别名,方便后续管理。
  3. 常用 pm2 管理命令:
    • 查看所有进程状态:pm2 list
    • 查看实时日志:pm2 logs express-app
    • 重启应用:pm2 restart express-app
    • 停止应用:pm2 stop express-app
    • 监控 CPU 和内存:pm2 monit
  4. 开机自启配置:为了防止服务器重启后项目无法自动运行,需要生成并保存 pm2 的启动脚本。
    pm2 startup
    pm2 save
    
    pm2 startup 会生成对应系统的守护指令,pm2 save 则会将当前运行的 pm2 进程列表保存下来,在系统重启后自动恢复。

四、 总结

独立服务器部署 Express 项目并不复杂,核心在于构建闭环的运行环境。通过 Nginx 处理外部请求与反向代理,结合 pm2 强大的进程守护、负载均衡及日志管理能力,可以极大地提升 Express 项目的稳定性和可用性。按照上述步骤操作,你的 Express 项目将能够专业、稳健地运行在生产环境之中。

文章告知

访问者可将本网站提供的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。除此以外,将本网站任何内容或服务用于其他用途时,须征得本网站及相关权利人的书面许可,并支付报酬。

已经是第一篇同类文章
下一篇 网站系统部署全流程,域名解析 + Nginx 反向代理配置 2026/09/24

Comments

评论与回复

0
正在加载评论...