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

nginx打包部署前端vue项目全过程【保姆级教程】

    🤹‍♀️潜意识起点:个人主页

🎙座右铭:得之坦然,失之淡然。

💎擅长领域:前端

是的,我需要您的:

🧡点赞❤️关注💙收藏💛

是我持续下去的动力!


目录

一. 打包

1.1 打包命名

1.2 打包命令执行

1.3 如何看是否打包成功

二. 下载nginx打包文件

2.1 解压文件

​编辑 2.2 打开文件

 三 . 部署到nginx 

3.1 打开dist 

3.2 部署到nginx 

四. 启动nginx 

 4.1 启动nginx

4.2 打开项目

五.nginx打包好处【不用看,上面完成了就可以了】 


一. 打包

1.1 打包命名

npm run build

1.2 打包命令执行

上面的打包命令在终端中执行即可,这里主要是vue项目的打包部署全过程

1.3 如何看是否打包成功

多了个dist文件夹就是打包成功了! 

二. 下载nginx打包文件

可以去官网里面去下载,这是我从官网中下载下来的。

nginx下载教程

2.1 解压文件

如图所示【一定要在全英文路径下,否则会出现莫名其妙的报错】 

 2.2 打开文件

 三 . 部署到nginx 

3.1 打开dist 

我们的文件可能不同,反正复制所有文件即可!

3.2 部署到nginx 

打开html 

然后把刚刚复制的全部粘贴到html中! 

这样就成功了! 

四. 启动nginx 

 4.1 启动nginx

点最下面的nginx.exe,会闪一下,就是打开了 

4.2 打开项目

 nginx的端口号默认端口是80

因此随便一个浏览器访问 localhost:80  即可打开部署好的前端项目

4.3 打开localhost:80,如果有页面,那么就是成功了

五.nginx打包好处【不用看,上面完成了就可以了】 

使用 Nginx 打包和部署前端项目有以下几个好处:

  1. 高性能:Nginx 以其高效的事件驱动架构,能够处理大量并发连接,适合高流量网站。

  2. 静态文件服务:Nginx 在处理静态文件(如 HTML、CSS、JavaScript 和图片)方面效率极高,加载速度快。

  3. 反向代理:可以将请求转发到后端服务器,支持负载均衡和跨域请求处理,提升系统的灵活性。

  4. 缓存支持:Nginx 可以配置缓存,提高响应速度,减少服务器负担。

  5. HTTPS 支持:能够轻松配置 SSL/TLS,确保数据的安全传输。

  6. 配置简单:Nginx 的配置文件易于理解和修改,适合快速部署和调整。

  7. 模块化扩展:支持多种模块,可以根据需要添加功能,如压缩、限速等。

  8. 日志记录:提供详尽的访问和错误日志,有助于监控和调试。

  9. 支持 SPA(单页应用):可以方便地配置路由,使得 SPA 应用在刷新时仍然能正常工作。

  10. 社区支持:广泛使用,拥有丰富的文档和社区资源,便于解决问题。

  11. 负载均衡:Nginx 可以配置为负载均衡器,将请求分发至多个后端服务器,提高应用的可扩展性和可靠性。

  12. 支持 WebSocket:能够处理 WebSocket 连接,适合需要实时通信的应用,如聊天应用或在线游戏。

  13. 流量控制:可以通过配置限流、限速等策略,保护后端服务不被过载。

  14. 自定义错误页面:支持自定义错误页面(如 404、500),提升用户体验。

  15. 跨域资源共享 (CORS):可以轻松配置 CORS 头,方便与前端进行跨域请求。

  16. 集成 CDN:可以将静态资源通过 CDN 加速,提高全球用户的访问速度。

  17. 便于 CI/CD 集成:与持续集成和持续部署流程兼容,方便自动化更新和部署。

  18. 模块化配置:支持将配置分成多个文件,便于管理和组织复杂的配置。

  19. 动态内容处理:虽然主要用于静态文件,但也可以与其他应用服务器(如 Node.js、PHP、Python)协同工作,处理动态内容。

  20. 安全性增强:可以配置防止常见攻击(如 DDoS 攻击、SQL 注入)的措施,增强整体安全性。

  21. 监控与分析:与各种监控工具(如 Prometheus、Grafana)结合使用,方便对流量和性能进行分析。

  22. 快速恢复:Nginx 的高可用性和故障恢复机制可以确保在服务出现问题时迅速恢复,降低停机时间。

  23. 灵活的重定向:可以轻松实现 URL 重定向和重写,优化 SEO 和用户体验。

  24. 多站点支持:可以在同一台服务器上托管多个网站,通过虚拟主机功能进行管理。

  25. 高效的资源利用:Nginx 的低内存占用使其能够在资源有限的环境中有效运行。

  26. 内容压缩:支持 Gzip 等压缩技术,减小传输文件大小,提高加载速度。

  27. 自动化配置更新:可以通过 API 或脚本自动更新配置,方便与 DevOps 流程集成。

  28. SSL/TLS 终止:Nginx 可以处理 SSL/TLS 加密,减轻后端服务器的负担。

  29. 静态资源版本控制:可以通过文件名中的哈希值管理缓存,确保用户访问的是最新版本的静态资源。

  30. 简单的负载监控:提供基本的请求统计和性能监控功能,方便了解流量情况。

  31. 支持 HTTP/2:可以提升加载速度和性能,改善用户体验。

  32. 环境隔离:可以为不同的应用或环境(如开发、测试和生产)配置不同的 Nginx 实例,保持环境之间的隔离


    🤹‍♀️潜意识起点:个人主页

🎙座右铭:得之坦然,失之淡然。

💎擅长领域:前端

是的,我需要您的:

🧡点赞❤️关注💙收藏💛

是我持续下去的动力!

相关文章:

nginx打包部署前端vue项目全过程【保姆级教程】

🤹‍♀️潜意识起点:个人主页 🎙座右铭:得之坦然,失之淡然。 💎擅长领域:前端 是的,我需要您的: 🧡点赞❤️关注💙收藏💛 是我持…...

From SAM to CAMs

feature map F 不建议复现...

【NLP自然语言处理】01-基础学习路径简介

目的:让大家能够在 AI-NLP 领域由基础到入门具体安排: NLP介绍 文本预处理RNN 及其变体(涉及案例)Transformer 原理详解迁移学习 和 Bert 模型详解 (涉及案例)特点: 原理 实践每个文章会有练习…...

ffmpeg取rtsp流音频数据保存声音为wav文件

本来不是什么难搞的问题,代码写完了,音频流信息中的详细信息,具体代码表现为 format_ctx->streams[audio_stream_index]->codecpar是空指针。 这个查了一圈也没人给出正确答案,实际上是由于我自己编译的ffmpeg时候&#x…...

《数字图像处理基础》学习01-数字图像处理的相关基础知识

这篇文章只是对数字图像处理的相关基础知识有个大概的了解,之后的文章会接着补充和扩展。 目录 一,图像的基本概念 1,图像 2,图像的分类 1)物理图像 2)虚拟图像 二,数字图像处理 三&…...

C#-泛型学习笔记

C#泛型——约束|协变|逆变 1、泛型使用 在生命时可以使用<>&#xff0c;可以写一个标识符代替一些数据类型&#xff0c;在声明时给出明确定义。 非常强大&#xff0c;因此需要约束。 2、泛型约束 where T: struct//值类型约束&#xff0c;要求泛型必须为基本数据类型…...

Java第二阶段---11封装---第四节 static 修饰符

1.static 修饰符应用范围 static修饰符只能用来修饰类中定义的成员变量、成员方法、代码块以及内部类(内部类有专门章节进行讲解)。 2.static 修饰成员变量 static 修饰的成员变量称之为类变量。属于该类所有成员共享。 示例 package cn.lyxq.test04;public class Chinese…...

【C/C++】错题记录(五)

题目一 题目二 在 16 位机器上&#xff0c;通常以 2 字节为边界对齐。 首先看 char a&#xff0c;它占用 1 个字节。接着是 int b&#xff0c;占用 2 个字节。由于要满足边界对齐&#xff0c;在 char a后面会填充 1 个字节&#xff0c;使得 int b从 2 字节边界开始存储。最后是…...

关系数据库标准语言SQL(11,12)

目录 带有EXISTS谓词的子查询 exists谓词 例子 not exists谓词 例子 不同形式的查询间的替换 用EXISTS/NOT EXISTS实现全称量词 用EXISTS/NOT EXISTS:实现逻辑蕴涵 集合查询 并操作UNION 交操作INTERSECT 差操作EXCEPT 基于派生表的查询 select语句的基本格式 带有…...

Oracle 11g RAC 节点异常重启问题分析

一、背景 在国庆期间巡检的时候&#xff0c;发现数据库alert日志中出现了异常重启的信息&#xff0c;当即对该报错进行分析处理。 二、处理过程 &#xff08;1&#xff09;数据库告警日志分析 node1 alert&#xff1a; Sat Oct 05 13:05:14 2024 Thread 1 advanced to log …...

vscode 中显示 pnpm : 无法加载文件 C:\Users\AppData\Roaming\npm\pnpm.ps1,因为在此系统上禁止运行脚本

vscode中运行pnpm报错 pnpm : 无法加载文件 C:\Users\AppData\Roaming\npm\pnpm.ps1&#xff0c;因为在此系统上禁止运行脚本 解决办法如下 1、用 get-ExecutionPolicy 命令在vscode终端查询状态 如果返回的是 Restricted &#xff0c;则说明是禁止的 2、用 set-ExecutionPolic…...

C嘎嘎入门篇:类和对象番外(时间类)

前文&#xff1a; 小编在前文讲述了类和对象的一部分内容&#xff0c;其中小编讲述过运算符重载这个概念以及一个时间类&#xff0c;当时小编讲的没有那么细致&#xff0c;下面小编将会讲述时间类来帮助各位读者朋友更好的去理解运算符重载&#xff0c;那么&#xff0c;代码时刻…...

Spring Boot项目实战教程:快速构建Web应用与RESTful API

目录 一、Spring Boot简介1、Spring Boot的定义2、Spring Boot的优势&#xff08;1&#xff09;快速开发&#xff08;2&#xff09;自动配置&#xff08;3&#xff09;微服务支持&#xff08;4&#xff09;无代码生成和XML配置&#xff08;5&#xff09;独立运行&#xff08;6&…...

OpenAI 开发者大会!实时语音功能有API了,GPT-4o支持多模态微调,上下文cache功能上线

家人们&#xff01;十一假期第1天&#xff0c; OpenAI一年一度的开发者大会又来了惹&#xff01;今年的开发者大会分成三部分分别在美国、英国、新加坡三个地点举办&#xff0c;刚刚结束的是第一场。 去年的OpenAI开发者大会公布了GPT-4 Turbo和GPTs&#xff0c;今年没有大更新…...

解决ros2 rviz Fixed Frame No TF data问题

新建一个终端&#xff0c;然后输入 &#xff1a;map后的数字可以任意&#xff0c;100也可以。注意map与框架名称一致。 rosrun tf2_ros static_transform_publisher 0.0 0.0 0.0 0.0 0.0 0.0 map 5...

Python数据分析篇--NumPy--进阶

人有一种天生的、难以遏制的欲望&#xff0c;那就是在理解之前就评判。 -- 米兰昆德拉 多维数组 1. 一维数组只有行&#xff0c;二维数组相比一维数组多了列这个维度&#xff0c;而三维数组则类似多个二维数组堆叠在一起&#xff0c;形如一个立方体。 二维数组的创建 1. 二…...

基于Arduino的宠物食物分配器

创作本文的初衷是本人的一个养宠物的梦想&#xff08;因为家里人对宠物过敏&#xff0c;因此养宠物的action一直没有落实&#xff09;&#xff0c;但是梦想总是要有的哈哈哈哈哈。上周正好是和一个很好的朋友见面&#xff0c;聊到了养宠物的事情&#xff0c;她大概是讲到了喂宠…...

make和Makefile

make是一个命令工具&#xff0c;用于读取并执行名为Makefile&#xff08;makefile&#xff09;的文件中定义的规则。 Makefile是一个文本文件&#xff0c;它告诉make哪些文件依赖于其他文件&#xff0c;以及如何从这些依赖项生成最终的目标文件。 我们先简单看一下使用make的…...

【数学分析笔记】第4章第4节 复合函数求导法则及其应用(2)

4. 微分 4.4 复合函数求导法则及其应用 【例4.4.3】 y e 1 cos ⁡ x ye^{\sqrt{1\cos x}} ye1cosx ​&#xff0c;求 y ′ y y′ 【解】 y ′ e 1 cos ⁡ x ⋅ 1 2 1 cos ⁡ x ⋅ ( − sin ⁡ x ) − sin ⁡ x 2 1 cos ⁡ x e 1 cos ⁡ x ye^{\sqrt{1\cos x}}\cdot\f…...

【预备理论知识——2】深度学习:线性代数概述

简单地说&#xff0c;机器学习就是做出预测。 线性代数 线性代数是数学的一个分支&#xff0c;主要研究向量空间、线性方程组、矩阵理论、线性变换、特征值和特征向量、内积空间等概念。它是现代数学的基础之一&#xff0c;并且在物理学、工程学、计算机科学、经济学等领域有着…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一&#xff09; 1. CSI-2层定义&#xff08;CSI-2 Layer Definitions&#xff09; 分层结构 &#xff1a;CSI-2协议分为6层&#xff1a; 物理层&#xff08;PHY Layer&#xff09; &#xff1a; 定义电气特性、时钟机制和传输介质&#xff08;导线&#…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎&#xff1a;品融电商&#xff0c;一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中&#xff0c;品牌如何破浪前行&#xff1f;自建团队成本高、效果难控&#xff1b;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

数据链路层的主要功能是什么

数据链路层&#xff08;OSI模型第2层&#xff09;的核心功能是在相邻网络节点&#xff08;如交换机、主机&#xff09;间提供可靠的数据帧传输服务&#xff0c;主要职责包括&#xff1a; &#x1f511; 核心功能详解&#xff1a; 帧封装与解封装 封装&#xff1a; 将网络层下发…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机&#xff0c;它可以执行Java字节码。Java虚拟机是Java平台的一部分&#xff0c;Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值&#xff0c;最大值左侧的数值严格单调递增&#xff0c;最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值&#xff0c;最小值左侧的数值严格单调递减&#xff0c;最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

c++第七天 继承与派生2

这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分&#xff1a;派生类构造函数与析构函数 当创建一个派生类对象时&#xff0c;基类成员是如何初始化的&#xff1f; 1.当派生类对象创建的时候&#xff0c;基类成员的初始化顺序 …...