要在OpenEuler系统上使用 PM2(一个流行的Node.js进程管理工具)来运行一个编译好的Vue项目,需要遵循以下步骤。这里假设已经有一个编译好的Vue项目,并且该项目是基于Node.js的。

步骤 1: 安装 Node.js 和 npm

首先,确保你的系统上安装了Node.js和npm。你可以通过以下命令安装Node.js和npm:

sudo dnf install -y nodejs npm

步骤 2: 安装 PM2

全局安装PM2:

sudo npm install pm2 -g

步骤 3: 进入你的Vue项目目录

使用cd命令进入你的Vue项目目录:

cd /path/to/your/vue-project

步骤 4: 安装项目依赖

在项目目录中,运行以下命令来安装所有依赖:

npm install

步骤 5: 使用 PM2 启动你的Vue项目

方法 1: 使用 Node.js 的 Express 服务器(如果适用)

启动项目前,要确保使用的端口是打开的

使用 firewalld 开放端口(推荐)

  1. 查询端口状态
    检查目标端口是否已开放:

    firewall-cmd --query-port=8085/tcp  # 替换为实际端口
    

    若返回no,表示端口未开放。

  2. 永久开放单一端口
    例如开放 TCP 端口 8085:

    firewall-cmd --zone=public --add-port=8085/tcp --permanent
    

    ​​​​​​3.重新加载防火墙配置,使永久配置生效:

firewall-cmd --reload

    4.再次查询端口状态,确认是否已开放:

firewall-cmd --query-port=8085/tcp

此时应该会返回 yes,表示端口已成功开放。

如果Vue项目使用了Express作为服务器(通常在server.jsapp.js文件中),可以这样启动它:

pm2 start npm --name "server" -- start
方法 2: 使用 Vue CLI 服务命令(不推荐,但可以作为临时解决方案)

如果只是想运行Vue项目的开发服务器,可以直接使用Vue CLI的serve命令:

pm2 start npm --name "server" -- run serve -- --port 8080

这将启动Vue项目的开发服务器。但是,对于生产环境,通常不推荐直接使用Vue CLI的serve命令,因为它不是为生产环境设计的。更好的做法是使用Node.js服务器(如Express)来服务构建后的静态文件。

步骤 6: 使用 Express 服务器服务静态文件(推荐方法)

  1. 确保你的package.json中有Express作为依赖

    "dependencies": {
    
    "express": "^4.17.1"
    
    }

    如果没有,先运行以下代码安装Express:

    npm install express
  2. 修改服务器代码(例如,在server.js中),以服务dist目录下的静态文件:

    const express = require('express');
    
    const path = require('path');
    
    const app = express();
    
    app.use(express.static(path.join(__dirname, 'dist'))); // 服务静态文件目录
    
    app.get('*', (req, res) => { // 捕获所有GET请求并重定向到index.html(单页应用)
    
    res.sendFile(path.join(__dirname, 'dist/index.html'));
    
    });
    
    const PORT = process.env.PORT || 3000; // 设置端口号
    
    app.listen(PORT, () => {
    
    console.log(`Server is running on port ${PORT}`);
    
    });

    然后,使用PM2启动Express服务器:

    pm2 start npm --name "my-vue-app" -- start server.js --port 8080 -- watch --ignore-watch "node_modules" --no-daemon --no-treekill --max-memory-restart 512M --log ./logs/pm2_log.log --out-file ./logs/out_log.log --error-file ./logs/error_log.log --pid ./pids/pm2.pid --time true --node-args="--max-old-space-size=4096" --interpreter bash -c "node server.js" --env production

    上面的命令包括了日志记录、内存限制和守护进程管理等高级配置。根据需求调整这些参数。

通过以上步骤,能够使用PM2成功地在OpenEuler系统上运行Vue项目。

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐