使用pm2+express部署vue项目

本文介绍了如何在Centos7服务器上使用pm2和express部署前后端分离的vue项目,包括springboot后端的打包、前端vue项目的打包、服务器环境配置、pm2托管以及nginx反向代理的设置。在部署过程中,特别提到了nginx配置SSL证书和解决前端请求重定向问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用pm2 + express 在Contos上部署前端项目

在Centos7上使用pm2+express部署springboot+vue项目

项目是一个前后端分离项目 后端使用springboot 前端为两个Vue项目

如图:

image-20210730085325197

api为后端接口 cms和view为前端项目 共用一个api接口

1. 打包springboot项目

将项目打包packagexxxxx.jar发送至服务器(随便哪里能找到就行)

image-20210730085731152

2. 将前端两个项目打包

由于我的前端是使用vue-cli创建的 所以打包npm run build后生成dist文件夹后 等下面环境安装好后将文件夹放入服务器

这边是创建了 Blog_cms和Blog_view文件夹

部署前端项目

由于前端使用的是vue-cli创建 先对项目进行打包npm run build

得到dist文件夹

3. 在服务器安装环境

创建node项目

  • npmnode环境 和nginx 自行安装

  • 在刚才创建的Blog_cmsBlog_view文件夹中分别初始化包管理配置文件

    npm init -y
    

安装 express (可以通过express快速创建web服务器)

  • 安装express

    npm i express -S
    

开启gzip配置

gzip可以减小文件体积,使传输速度快

  • 全局安装: npm i compression -S

安装pm2 管理应用

在服务器中全局安装pm2

  • 安装: npm i pm2 -g

将打包好的前端两个项目 放入服务器中对应的文件夹中

image-20210730090701315

进入dist文件夹内 创建配置启动文件

在dist生产发布包根目录下,创建启动文件index.js(文件名可自定义)

const express = require('express')
const compression = require("compression") //gzip包
const fs = require('fs')

### 部署 Vue 和 Node.js 项目的教程 #### 准备工作 在开始之前,确保已经成功安装并初始化了宝塔面板[^1]。如果尚未完成此操作,请先按照官方文档或相关指南完成安装。 --- #### 步骤一:配置服务器环境 为了支持 Vue 前端和 Node.js 后端应用的正常运行,需确保服务器已安装以下组件: - **Nginx**: 用于反向代理前端请求至 Vue 应用。 - **Node.js**: 支持后端服务运行。 - **MySQL/MariaDB**: 数据库管理工具(可选)。 可以通过宝塔面板中的“软件商店”,依次安装 Nginx、Node.js 及 MySQL/MariaDB,并记录好对应的版本号以及数据库登录信息[^3]。 --- #### 步骤二:上传项目文件 将本地开发好的 Vue 和 Node.js 项目分别打包成压缩包形式,然后通过 FTP 或者直接利用宝塔面板内置的文件管理器功能将其上传到指定路径 `/www/wwwroot` 下的不同子目录中。例如: - Vue 前端项目放置于 `/www/wwwroot/vue-front` - Node.js 后端项目放置于 `/www/wwwroot/node-back` 注意,在上传过程中应保留原有的 `node_modules` 文件夹或其他重要资源文件[^2]。 --- #### 步骤三:设置域名解析与站点绑定 进入宝塔面板首页左侧菜单栏下的【网站】选项卡,点击右上角按钮创建一个新的站点。填写如下参数: - 网站名称自定义即可; - 主机根目录指向刚才存放 Vue 前端代码的位置 (`/www/wwwroot/vue-front`); - 添加 SSL 加密证书提升安全性(推荐免费 Let's Encrypt 方案)。 完成后记得保存更改! 对于后端 API 接口访问部分,则无需单独建立额外虚拟主机实例,而是借助后续章节提到的方法实现统一处理逻辑。 --- #### 步骤四:启动前后端程序 ##### (1)构建生产版 Vue 应用 切换到 SSH 终端界面执行命令进入到对应的工作区位置,比如这里假设为 `/www/wwwroot/vue-front` ,接着输入以下指令完成编译过程: ```bash npm install --production && npm run build ``` 这一步会生成静态 HTML/CSS/JS 资产存放在 dist 子目录里待稍候被 Web Server 提供加载调用。 ##### (2)调试运行 Node Express 实例 同样地定位到达目标存储区域即 `/www/wwwroot/node-back` 处理类似流程: ```bash cd /www/wwwroot/node-back npm install NODE_ENV=production node app.js ``` 其中最后一句可能依据实际入口脚本有所区别调整,务必参照原始开发者留下的说明文档为准绳。 另外别忘了预先编辑好配置文件内的各项属性值匹配当前所处真实网络状况需求,像数据库链接串之类的敏感数据项均要妥善保护起来不泄露出去公开可见范围之外。 最后考虑采用 PM2 工具守护进程持续在线状态稳定可靠些: ```javascript pm2 start app.js --name my-node-app ``` --- #### 步骤五:配置反向代理规则 为了让客户端能够顺利区分不同类型的 HTTP 请求流向何处响应结果,有必要制定一套清晰合理的路由转发机制出来。具体做法是在先前新建的那个站点基本信息页面下方找到高级设置区块里的「伪静态」栏目开启定制模式录入下面这段示范样式的语法规则进去生效即可满足基本诉求场景要求: ```nginx location /api { proxy_pass http://localhost:<your_node_port>; } ``` 当然也可以进一步扩展复杂程度适应更多个性化定制偏好倾向哦~ --- ### 总结 综上所述,整个基于宝塔面板搭建集成化解决方案涵盖了从基础软硬件设施准备直至最终上线交付全流程环节要点概述完毕啦~希望对你有所帮助哈😊
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值