使用PM2工具部署Vue.js应用于服务器

简介: 以上步骤完成之后,你就成功利⽤ PM⼆工具将 Vuejs 应⽰程序部署至服 务 器,并且配合反向代理实现了高效稳定访问及负载均衡功能。

PM2是一个带有负载均衡功能的Node.js应用的进程管理器,它可以用于Vue.js应用程序的生产环境部署。Vue.js是一个构建用户界面的渐进式框架,通常需要编译成静态文件托管在服务器上。以下是使用PM2部署Vue.js应用程序到服务器上的步骤:

  1. 构建Vue.js项目
    在本地环境中,首先需要将你开发好的Vue项目打包成可以在浏览器中运行静态文件。这通常通过运行以下命令完成:

    npm run build
    ​
    

    这个命令会创建一个 dist/目录,在这个目录下包含了所有编译后可供生产环境使用的文件。

  2. 上传到服务器
    将打包好(即 dist/目录下)所有内容上传到你服务器上指定位置。

  3. 安装Node和NPM
    确保你已经在服务器上安装了Node和NPM(或Yarn),因为接下来要全局安装并使用PM2。

  4. 全局安装 PM2:
    在服务端通过npm或yarn全局安装 PM2:

    npm install pm2@latest -g
    ​
    
  5. 配置反向代理(如Nginx) :
    由于 Vue 应用本质上是一组静态资源文件,因此我们需要配置Web服务如 Nginx 来为这些资源提供服务。
    例如,在 Nginx 中可能会有类似以下配置来处理对 Vue 应用资源请求:

    server {
        listen 80;
        server_name example.com;
    
        location / {
            root /path/to/your/dist;
            try_files $uri $uri/ /index.html;
        }
    }
    ​
    
  6. 启动HTTP Server以托管dist/ :
    使用pm2启动一个HTTP Server (例如 serve) 来托管编译后生成 dist/ 目录。
    首先确保已经全局地或者在项目内部地区域性地已经将serve模块作为依赖项进行了添加。

    然后执行如下命令以启动serve并且让其被pm管理:

    pm2 serve ./dist 8080 --spa 
    ​
    
  7. 设置自启动脚本:当然我们希望每次重启机器时候能够自动重载我们通过pm进行管理起来得node进程, 执行:

pm install pm@latest -g # 确保版本最新

# 启动生成系统特定得startup脚本, 运行结果会提示具体操作步骤.
# 每种系统可能略有不同,请根据提示操作.
pm startup 

# 冻结当前状态作为开机状态.
sudo pm save 

​

8 . 监控与日志:最终您可以利用 pm monit, pmlist, 和 pml logs <app_name>等指令对您得nodejs实例进行监控与日志查看.

以上步骤完成之后,你就成功利⽤ PM⼆工具将 Vuejs 应⽰程序部署至服 务 器,并且配合反向代理实现了高效稳定访问及负载均衡功能。

目录
相关文章
|
7天前
|
存储 监控 Linux
Linux环境锁定关键文件防止误删操作流程。
总结以上内容,在Linux环境下锁定重要文档避免误删涉及到多种技术手段与策略组合运作, 包括但不限于利用chatter指挥官固化文档状态至只读模式、运作ACL精准调整访问权利列表、编排自动化流程简
55 20
|
19天前
|
存储 Linux 数据安全/隐私保护
确定CentOS系统分区表类型(MBR或GPT)
以上方法均能够帮助用户准确地识别出CentOS下连接硬件所应用得具体磁盘标准,并根据实际需求做进一步处理与管理工作。
129 0
|
19天前
|
Java
Java编程:理解while循环的使用
总结而言, 使用 while 迴圈可以有效解决需要多次重复操作直至特定條件被触发才停止執行任务场景下问题; 它简单、灵活、易于实现各种逻辑控制需求但同时也要注意防止因邏各错误导致無限迁璇発生及及時處理可能発生异常以确保程序稳定运作。
116 0
|
7天前
|
监控 Linux 网络安全
CentOS操作系统时间同步更新指南。
遵循以上指南将帮助您 在 CentOS 上成功 设置 和 维 技 时间 同 步 . 这不但能够提高日志记录精准 度 和计划任务执行效率,还能够提高整个网络环境 中所有设备之间 的 协作效率.
92 17
|
19天前
|
安全 编译器 C++
波奇学习系列:C++11的革新特性总览
这些功能的加入对C++编程实践意味着代码能够变得更加简洁、高效和强大。它们提供了新的解决方案来降低复杂问题的解决难度,并且增强了C++语言在系统编程、资源受限硬件、高性能计算等领域的竞争力。对于开发者而言,适应这些新特性将是提升开发效率、代码质量和维护性的关键。
70 0
|
7天前
|
Ubuntu 数据管理 数据挖掘
Ubuntu平台查看.gz格式压缩文件内容以及利用grep命令过滤搜索内容技巧
以上介绍了基础但全面地关于如何在Ubuntu平台下通过各种方式来检视 ` . gz `, 并利用 grep 命令断层次化搜寻与筛选信息之方法论述.
86 18
|
15天前
|
Ubuntu 关系型数据库 MySQL
Ubuntu 22.04.1上安装MySQL 8.0及设置root密码的注意事项
这些是在Ubuntu 22.04.1 系统上安装MySQL 8.0 及设置root密码过程中必须考虑的关键点。正确的遵循这些步骤可确保MySQL的安装过程既顺利又安全。
290 20
|
7天前
|
缓存 Ubuntu Docker
Ubuntu环境下删除Docker镜像与容器、配置静态IP地址教程。
如果遇见问题或者想回滚改动, 可以重启系统.
59 16
|
19天前
|
SQL Java 数据库连接
Mybatis的批处理工具:MybatisBatchUtils功能全解
总而言之,MybatisBatchUtils 是 Mybatis 的一款强大工具,可以显著提高批量数据处理的效率,并确保事务的安全性。通过简化 API 的设计,使得开发者能够易于上手并利用 Mybatis 进行高效的数据库操作。正确使用 MybatisBatchUtils,必然能够在大数据量的场景下,给你的应用性能带来质的飞跃。
199 0
|
15天前
|
存储 监控 安全
解答Ansible在多IP配置中known_hosts报错问题
以上步骤提供一种方法论去解决和优化 Ansibl 在处理多 IP 配置过程当中可能遇见关于 known hosts 文件报错问题,并非唯一方法但能够有效减少此类报错影响正常部署流程。
69 19