当前位置: 首页 > news >正文

在Ubuntu中如何使用PM2来运行一个编译好的Vue项目

以下是在 Ubuntu 中使用 PM2 运行基于 Express 服务器的 Vue 项目的完整流程,已整合所需补充内容:

前提准备

  1. 已编译的 Vue 项目
    确保 Vue 项目已通过npm run build生成dist文件夹,并已配置 Express 服务器(通常项目根目录有server.jsapp.js作为入口文件),上传到服务器(如路径/home/yourname/vue-project)。

  2. 安装 Node.js、npm 并检查版本

    # 安装Node.js和npm
    sudo apt update && sudo apt install nodejs npm# 检查安装版本(验证是否安装成功)
    node -v   # 输出Node.js版本,如v18.17.1
    npm -v    # 输出npm版本,如9.6.7
    
  3. 安装 PM2 并检查版本

    # 全局安装PM2
    sudo npm install pm2 -g# 检查PM2版本(验证安装成功)
    pm2 -v    # 输出PM2版本,如5.3.0
    

步骤 1:准备 Express 服务器环境

若 Vue 项目使用 Express 作为服务器(通常用于处理 API 请求或托管静态文件):

  1. 进入项目根目录,安装依赖:

    cd /home/yourname/vue-project
    npm install  # 安装package.json中的依赖(包括express)
    
  2. 确认 Express 入口文件(如server.js)已正确配置,示例代码:

    // server.js 示例(确保已托管dist目录,端口设为8085)
    const express = require('express');
    const path = require('path');
    const app = express();// 托管Vue编译后的静态文件
    app.use(express.static(path.join(__dirname, 'dist')));// 处理单页应用路由(history模式)
    app.get('*', (req, res) => {res.sendFile(path.join(__dirname, 'dist/index.html'));
    });// 监听8085端口
    const port = 8085;
    app.listen(port, () => {console.log(`服务器运行在 http://localhost:${port}`);
    });
    

步骤 2:开放服务器端口(以 8085 为例)

若防火墙(ufw)已启用,需开放项目使用的 8085 端口:

# 查看防火墙状态(确认是否启用)
sudo ufw status# 开放8085端口(TCP协议)
sudo ufw allow 8085/tcp# 重载防火墙规则(立即生效)
sudo ufw reload# 验证端口是否开放
sudo ufw status verbose  # 输出应包含"8085/tcp ALLOW IN Anywhere"

步骤 3:用 PM2 启动 Vue+Express 项目

通过 PM2 启动 Express 入口文件(如server.js),确保进程后台运行:

# 进入项目根目录
cd /home/yourname/vue-project# 启动项目(--name指定进程名,便于识别)
pm2 start server.js --name "vue-express-app"

步骤 4:验证运行状态

pm2 list  # 查看所有PM2进程,确认"vue-express-app"状态为online
pm2 logs vue-express-app  # 查看项目日志,排查启动错误

此时可通过服务器 IP:8085(如http://your-server-ip:8085)访问项目。

步骤 5:设置 PM2 开机自启动

确保服务器重启后,PM2 自动恢复并启动项目:

# 生成开机自启动脚本(根据终端提示执行后续命令,通常需要sudo权限)
pm2 startup# 示例提示(不同系统可能略有差异):
# sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u yourname --hp /home/yourname# 保存当前PM2进程列表(确保重启后恢复)
pm2 save

验证自启动配置

# 查看自启动服务状态
systemctl status pm2-yourname  # 替换为实际用户名

常用 PM2 管理命令

  • 停止项目:pm2 stop vue-express-app
  • 重启项目:pm2 restart vue-express-app
  • 删除项目:pm2 delete vue-express-app
  • 查看详细信息:pm2 show vue-express-app

注意事项

  • 若修改了项目代码或配置,需重启 PM2 进程:pm2 restart vue-express-app
  • 若更换端口(如从 8085 改为 80),需同步更新 Express 配置和防火墙规则
  • 若使用nvm管理 Node.js 版本,pm2 startup时需确保路径正确(避免权限问题)

通过以上步骤,可在 Ubuntu 中用 PM2 稳定运行基于 Express 的 Vue 项目,并确保其在服务器重启后自动恢复。


文章转载自:

http://ebt50JjK.twhwm.cn
http://nHnyKpDF.twhwm.cn
http://J6Ymw5ab.twhwm.cn
http://AEI6NHzy.twhwm.cn
http://ml5i0Kbs.twhwm.cn
http://GhYSx9OC.twhwm.cn
http://mHuomdO0.twhwm.cn
http://zsl9vfFm.twhwm.cn
http://RSIh5JNm.twhwm.cn
http://ZgRpH4ZH.twhwm.cn
http://FRsV5mwq.twhwm.cn
http://fZ1ZCq0X.twhwm.cn
http://oXSceDGx.twhwm.cn
http://PGNmGePZ.twhwm.cn
http://YVibZapc.twhwm.cn
http://tMiwQ7OJ.twhwm.cn
http://yJt2n04y.twhwm.cn
http://NuK3aBub.twhwm.cn
http://X4mW7PD3.twhwm.cn
http://9R50BxUx.twhwm.cn
http://5Lp5Lgv7.twhwm.cn
http://FAgJl9Gk.twhwm.cn
http://VcjchYHd.twhwm.cn
http://f1If2PR5.twhwm.cn
http://4tVNrUXr.twhwm.cn
http://s1Jmr1AF.twhwm.cn
http://fSzaS4aL.twhwm.cn
http://panq60JD.twhwm.cn
http://HOIhi8mx.twhwm.cn
http://iqxlHOco.twhwm.cn
http://www.dtcms.com/a/371549.html

相关文章:

  • Mysql数据库——第一阶段
  • 10 qml教程-自定义属性
  • 万字详解网络编程之TCP/IP协议与UDP协议
  • Gitlab 配置自定义 clone 地址
  • 408考研——循环队列代码题常见套路总结
  • 「日拱一码」081 机器学习——梯度增强特征选择GBFS
  • 阿里云镜像地址获取,并安装 docker的mysql和nginx等服务,java,python,ffmpeg,go等环境
  • IPSec综合配置实验
  • 实现滚动到页面指定位置
  • Linux 系统监控 + 邮件告警实战:CPU、内存、IO、流量全覆盖
  • HarmonyOS 应用开发新范式:深入剖析 Stage 模型与 ArkTS 状态管理
  • Elasticsearch面试精讲 Day 11:索引模板与动态映射
  • 5G NR PDCCH之信号调制
  • Android --- AOSP下载及编译
  • C#中的托管资源与非托管资源介绍
  • 初识Vue
  • JSP到Tomcat特详细教程
  • 滑动窗口与双指针(1)——定长
  • Lua > OpenResty Lua Module
  • [LeetCode 热题 100] 32. 最长有效括号
  • Python IO编程——文件读写
  • fps:游戏玩法
  • S 4.1深度学习--自然语言处理NLP--理论
  • [NCTF2019]Fake XML cookbook
  • ARM体系结构学习②
  • 多环境配置切换机制能否让开发与生产无缝衔接?
  • SC3336 rgb sensor linux
  • 人工智能学习:Transformer架构
  • Android --- AOSP源码导入Android Studio
  • 华为HCIP-Datacom-Core Technology H12-831 书籍目录