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

nginx部署前端vue项目

Vue.js 是一个渐进式的 JavaScript 框架,广泛应用于构建现代前端应用。构建完成后,将 Vue.js 项目部署到生产环境是一个关键步骤。Nginx 是一种流行的开源 Web 服务器,通常用于反向代理、负载均衡和静态文件托管。在本文中,我将详细介绍如何在 Nginx 上部署 Vue.js 项目。

1. 准备工作

在开始部署之前,需要确保环境已经准备好。以下是一些先决条件:

安装 Node.js 和 npm

Vue.js 项目依赖于 Node.js 和 npm(Node.js 包含 npm)进行构建。如果你的开发环境中还没有安装它们,可以通过以下命令来安装并检查版本:

node -v
npm -v

安装 Nginx

Nginx 是一个强大的 Web 服务器和反向代理服务器。要在服务器(例如 Ubuntu)上安装 Nginx,使用以下命令:

sudo apt update
sudo apt install nginx

安装完成后,Nginx 会自动启动并监听 80 端口,你可以通过访问服务器的 IP 地址来验证它是否运行正常。

2. 构建 Vue.js 项目

构建 Vue.js 项目是部署的第一步。这一步将把源代码打包成可以在生产环境中使用的静态文件。

导航到项目目录

首先,进入你的 Vue.js 项目目录:

cd /path/to/your/vue-project

安装依赖

在打包之前,确保所有依赖项都已安装:

npm install

构建项目

使用以下命令将项目构建为生产环境的静态文件:

npm run build

这个命令将在项目目录下生成一个 dist 文件夹,里面包含了所有需要部署到服务器的静态文件。

3. 配置 Nginx

一旦项目构建完成,就可以将这些静态文件部署到 Nginx 上。

将打包后的文件复制到服务器

通过 FTP、SCP 或其他文件传输方式,将 dist 文件夹中的内容上传到服务器的 Web 根目录,例如 /var/www/vue-app

编辑 Nginx 配置文件

在 Nginx 中配置一个服务器块来处理你的 Vue.js 应用:

sudo nano /etc/nginx/sites-available/default

在这个文件中,添加或修改如下配置:

server {
    listen 80;
    server_name your_domain_or_IP;

    location / {
        root /var/www/vue-app;
        index index.html;
        try_files $uri $uri/ /index.html;
    }

    location /api/ {
        proxy_pass http://your_backend_api;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

这里的 try_files 指令非常重要,确保在使用 Vue Router 的时候,页面刷新不会返回 404 错误。

测试和重启 Nginx

在完成配置后,测试 Nginx 配置的正确性:

sudo nginx -t

如果配置正确,重启 Nginx 以应用更改:

sudo systemctl restart nginx

4. 访问你的应用

部署完成后,你可以通过浏览器访问你的域名或服务器 IP 地址,来查看你的 Vue.js 应用是否成功运行。

5. 设置防火墙(可选)

为了确保服务器的安全性,建议配置防火墙。如果你的服务器使用 UFW,可以通过以下命令允许 Nginx 通过防火墙:

sudo ufw allow 'Nginx Full'
sudo ufw enable

6. 配置 SSL 证书(可选)

在生产环境中,为网站配置 SSL 证书是必不可少的。Let's Encrypt 提供免费的 SSL 证书,可以通过 Certbot 工具自动化获取和安装。

安装 Certbot
 

sudo apt install certbot python3-certbot-nginx

获取并安装 SSL 证书

使用 Certbot 为你的域名获取 SSL 证书:

sudo certbot --nginx -d your_domain

按照提示完成证书安装。

自动续订 SSL 证书

Certbot 会定期自动续订证书,但你也可以手动测试续订功能:

sudo certbot renew --dry-run

结语

通过本指南,你已经学会了如何将 Vue.js 项目部署到 Nginx 上。这个过程不仅帮助你将应用推向生产环境,还让你掌握了配置 Nginx 的基本技巧。如果你有任何疑问或需要进一步的帮助,欢迎在评论区留言。Happy coding!


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

相关文章:

  • Docker占用空间太大磁盘空间不足清理妙招
  • 鸿蒙学习生态应用开发能力全景图-开发者支持平台(5)
  • Linux之vim全选,全部复制,全部删除
  • MySQL-初识数据库
  • 卡尔曼滤波:从理论到应用的简介
  • python习题练习
  • LaViT:Less-Attention Vision Transformer的特性与优点
  • 【Python机器学习】NLP分词——利用分词器构建词汇表(五)——将词汇表扩展到n-gram
  • Linux操作系统su命令详解,附代码
  • 牛客小白月赛99 F-自爆机器人
  • Java 集合Collection(List、Set)Map
  • 高级java每日一道面试题-2024年8月28日-基础篇-ArrayList的底层工作原理?
  • SELF-INSTRUCT: Aligning Language Modelswith Self-Generated Instructions 学习
  • vscode添加到环境变量之快捷使用
  • Typora + PicGo + Gitee 实现图片自动上传
  • Qt调用外部exe并嵌入到Qt界面中(验证成功的成功)
  • linux 创建文件节点
  • 深入理解微服务中的负载均衡算法与配置策略
  • Python实现Http Server及Https Server
  • Kafka的Offset(偏移量)详解
  • 爆改YOLOv8 | 利用CPA-Enhancer提高低照度物体检测(适用于雨,雪,雾天)
  • hadoop的sbin
  • Redis 实现哨兵模式
  • 买入股票的思维法
  • [米联客-XILINX-H3_CZ08_7100] FPGA程序设计基础实验连载-18 SPI接口ADC采集驱动设计
  • 操作系统信号量