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

nginx 部署前端vue项目

文章目录

  • 一、什么是nginx?
  • 二、nginx 部署前端vue项目步骤
  • 2.1 安装nginx
      • 2.1.1 windows环境安装
      • 2.1.2 linux环境安装
    • 2.2 打包vue项目
  • 2.3 配置nginx


一、什么是nginx?

Nginx是一款轻量级的HTTP服务器,采用事件驱动的异步非阻塞处理方式框架,这让其具有极好的IO性能,时常用于服务端的反向代理和负载均衡。
优点

  • 支持海量高并发:采用IO多路复用epoll。官方测试Nginx能够支持5万并发链接,实际生产环境中可以支撑2-4万并发连接数。
  • 内存消耗少
  • 可商业化
  • 配置文件简单 除了这些优点还有很多,比如反向代理功能,灰度发布,负载均衡功能等

二、nginx 部署前端vue项目步骤

2.1 安装nginx

2.1.1 windows环境安装

到nginx官方下载系统相关的nginx版本安装
在这里插入图片描述
启动命令:

cd F:\nginx-1.19.4
start nginx

2.1.2 linux环境安装

通常情况下很少使用windows来作为nginx的服务器,一般使用linux。对于linux安装nginx有两种方式,一种是使用官方已经编译好的包来安装,一种是使用源码构建安装。

第一种方式参考官方地址https://nginx.org/en/linux_packages.html#stable

第二种方式参考官方地址https://nginx.org/en/docs/install.html中的Building from Sources片段,这种实际上就是下一个tar.gz包仍到linux服务去自己编译。

在linux服务上和window环境上使用nginx部署vue项目并没有太大差异,把构建好的vue项目dist上传到linux服务上,通用修改nginx服务器中的root来指向dist就ok了,然后使用

# centos 7
systemctl restart nginx.service
# centos 6
service nginx restart
# 或者是平滑重启
service nginx reload

2.2 打包vue项目

执行命令

npm run build

在这里插入图片描述

2.3 配置nginx

修改nginx配置文件,配置文件为conf下的nginx.conf,修改nginx.conf中的server配置片段

server {
        listen       80;#默认端口是80,如果端口没被占用可以不用修改
        server_name  localhost;
        root        E:/vue_project/my_project/dist;#vue项目的打包后的dist

        location / {
            try_files $uri $uri/ @router;#需要指向下面的@router否则会出现vue的路由在nginx中刷新出现404
            index  index.html index.htm;
        }
        #对应上面的@router,主要原因是路由的路径资源并不是一个真实的路径,所以无法找到具体的文件
        #因此需要rewrite到index.html中,然后交给路由在处理请求资源
        location @router {
            rewrite ^.*$ /index.html last;
        }
        #.......其他部分省略
  }

完成nginx配置后重新加载配置文件

nginx -s reload

nginx -s reload
浏览器中访问:http://localhost 测试是否部署成功


http://www.kler.cn/a/287627.html

相关文章:

  • Java基础-I/O流
  • RabbitMQ的工作队列在Spring Boot中实现(详解常⽤的⼯作模式)
  • python核心语法
  • 9.C++面向对象6(实现一个较为完善的日期类)
  • 麒麟V10,arm64,离线安装docker和docker-compose
  • Linux Android 正点原子RK3568替换开机Logo完整教程
  • 【Java】IDEA从零到一使用statemachine状态机模拟订单 (图解)
  • 9月2日记
  • 【Transformer】基本概述
  • iPhone出现4013错误的和解决方案分享
  • AI推介-多模态视觉语言模型VLMs论文速览(arXiv方向):2024.08.10-2024.08.15
  • 使用twilio向手机发短信做监控报警
  • 算法之哈希表
  • 地级市地理相邻矩阵(地级市名称版、行政区划代码版)
  • Microsoft DirectML 现在支持 Copilot+ PC 和 WebNN
  • 在繁忙工作环境中提升开发效率:JetBrains IntelliJ IDEA 的应用
  • Python中的函数艺术:解锁高效编程的秘密
  • 零差云控电机ubuntu+IGH调试记录
  • 【Linux】POSIX版本 信号量
  • 质量属性场景-系统架构师(六十)
  • Datawhale X 李宏毅苹果书 AI夏令营 Task3打卡
  • 后端开发刷题 | 面试篇3
  • DASK==延迟对象delayed
  • QT QGraphicsView实现预览图片显示缩略图功能
  • Protocol Buffers
  • java打包jar后读取依赖jar包中的文件资源,支持读取jlink打包的模块镜像中读取