【前端 22】使用Nginx部署前端项目

news2024/9/24 21:17:38

使用Nginx部署前端项目

请添加图片描述

在前端开发中,将项目打包并部署到服务器上是一个常见的需求。Nginx以其高性能、稳定性和丰富的特性成为了前端项目部署的热门选择。下面,我将详细介绍如何使用Nginx部署一个前端项目,并展开讲解Nginx的目录结构以及如何处理端口占用问题。

1. 使用npm打包前端项目

首先,确保你的前端项目已经配置好了构建脚本(通常是npm run build)。这个命令会根据你的项目配置文件(如vue.config.jswebpack.config.js等)将项目打包成静态文件,并输出到指定的目录,通常是dist目录。

bash复制代码

npm run build

执行完毕后,你的dist目录会包含所有构建后的文件,这些文件是浏览器可以直接访问的静态资源。

2. Nginx的目录结构

在将dist文件部署到Nginx之前,了解Nginx的目录结构是非常有帮助的。Nginx的默认安装目录可能因操作系统和安装方式而异,但通常包括以下几个关键目录:

  • conf/:存放Nginx的配置文件,其中nginx.conf是主配置文件。
  • html/:Nginx的默认网站根目录,用于存放静态文件(如HTML、CSS、JS等)。
  • logs/:存放Nginx的日志文件,包括访问日志和错误日志。
  • sbin/:包含Nginx的可执行文件,如启动Nginx的nginx命令。
3. 将dist文件拷贝到Nginx的html目录下

接下来,你需要将dist目录中的文件拷贝到Nginx的html目录下。这可以通过命令行工具完成,如使用cp命令(在Linux或macOS上)或xcopy/robocopy(在Windows上)。

# 在Linux或macOS上  
cp -r dist/* /path/to/nginx/html/  
  
# 假设Nginx的html目录是/usr/local/nginx/html  
cp -r dist/* /usr/local/nginx/html/

确保替换/path/to/nginx/html/为你的Nginx实际安装目录下的html目录路径。

4. 启动Nginx并访问你的网页

在文件拷贝完成后,你需要启动Nginx服务器(如果尚未运行)。这可以通过Nginx的安装目录下的sbin目录中的nginx命令完成。

# 启动Nginx  
/path/to/nginx/sbin/nginx  
  
# 或者,如果nginx命令已经添加到了你的系统PATH中  
nginx

然后,你可以通过浏览器访问http://localhost:80来查看你的网页。如果一切配置正确,你应该能看到你的前端项目页面。

5. 处理端口占用问题

如果80端口被其他服务占用,你需要在Nginx的配置文件nginx.conf中修改监听端口。打开nginx.conf文件,找到server块中的listen指令,将其修改为其他未被占用的端口号。

server {  
    listen       8080;  # 修改为其他端口,如8080  
    server_name  localhost;  
  
    # 其他配置...  
  
    location / {  
        root   /usr/local/nginx/html;  
        index  index.html index.htm;  
    }  
  
    # 其他location块...  
}

修改完成后,保存配置文件并重新加载Nginx以使更改生效。

# 重新加载Nginx配置  
nginx -s reload

现在,你应该可以通过http://localhost:8080(或你设置的任何其他端口)来访问你的前端项目了。

通过这些步骤,你可以轻松地将前端项目打包并部署到Nginx服务器上,同时处理可能遇到的端口占用问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1976068.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第TR4周:Transformer中的位置编码详解

在实施 NLP 解决方案时,循环神经网络(RNN)具有处理序列顺序的内置机制。Transformer则是引入来位置编码机制来保存文本中字符的位置信息。 位置编码定义 位置编码记录了文本中字符的位置信息,这里位置信息的记录不使用单个数字&am…

quartz实现动态定时任务管理

1、需求 配置中,固定周期,单位秒。需要任务每间隔这个秒数 执行进行统计。 2、分析 要实现这个需求,之前一直在用的多线程方案也行。详见 既然前面用quartz 根据cron表达式上一次和下一次的执行时间判断。 本次就用quartz来实现动态任务。…

学生管理系统之数据库设计与开发

学生管理系统之数据库设计与开发 使用SQL创建表格 QT上写逻辑 创建一个类 <

Xilinx FPGA 原语解析(一):IBUFDS_GTE3 差分时钟输入缓冲器

目录 1.使用说明 2.实例化代码 3.参数解释 4.端口连接 1.使用说明 IBUFDS_GTE3 是Xilinx FPGA 中用于高速接口的差分时钟信号输入缓冲器。 BUFDS_GTEx&#xff0c;x2/3/4&#xff08;不同系列的FPGA x的值不同&#xff09;&#xff0c;其中UltraScale使IBUFDS_GTE3…

内网穿透--meterpreter端口隧道

实验背景 通过公司带有防火墙功能的路由器接入互联网&#xff0c;然后由于私网IP的缘故&#xff0c;公网无法直接访问内部主机&#xff0c;则需要通过已连接会话&#xff0c;代理穿透访问内网主机服务。 实验设备 1.路由器一台 2.内网 Win 7一台 3.公网 Kali 一台 4.网络 …

Java算法和集合

1. 排序 1.1. 排序概述 1.2. 冒泡排序 整个数列分成两部分&#xff1a;前面是无序数列&#xff0c;后面是有序数列初始状态&#xff0c;整个数列都是无序的&#xff0c;有序数列为空如果一个数列有n个元素&#xff0c;至多需要n-1趟循环才能保证数列有序每一趟循环可以让无序…

Python:下载数据集

打开网站&#xff1a;搜索 ​​​​​​https://www.kaggle.com 直接下载即可&#xff08;要登陆注册哦&#xff09;,下载完成一定要放到桌面哦&#xff0c;因为读取的是当前目录 在网页上打开上一篇文章所讲的HelloWorld&#xff0c;如果没有安装请跳转 http://t.csdnimg.cn…

视频教程 - 自研Vue3 Tree组件高级功能:虚拟滚动新增节点实现自动滚动

感谢小伙伴们对本套自研vue3 tree组件教程的关注&#xff0c;在前一篇媲美Element Plus JuanTree终极实战&#xff1a;虚拟滚动的功能演示中发现了小bug&#xff0c;特地整理了相关录屏来说明怎么一步步解决bug的&#xff0c;来回馈小伙伴们的支持。 Tree组件高级功能&#xff…

Photoshop Ps2024苹果(mac)版安装下载,(附win/mac下载链接)

一、简介 PS2024即Photoshop 2024&#xff0c;是一款由Adobe公司开发的图像处理软件。其部分功能介绍如下&#xff1a; - 生成式AI绘图&#xff1a;将Photoshop和生成式AI两个强大的成像引擎结合&#xff0c;用户可通过文本提示在Photoshop内部生成内容&#xff0c;并使用Phot…

基于cubeMX的STM32开启SPI及DMA

1、打开cubeMX后&#xff0c;设置SPI&#xff0c;如下图 2、设置SPI的DMA中断 3、DMA设置 4、SPI的GPIO设置 5、最后生成代码&#xff0c;可以看到工程文件中有dma.c和spi.c 6、使用举例&#xff1a;如幻彩灯的亮灭使用SPIDMA产生的信号波形来控制&#xff0c;在ws2812.c中调用…

Harbor镜像仓库(v2.10.3)附相关自定义配置

目录 一. 环境准备 二. 部署安装 三. 修改网段的方法 四. 配置开机与伴随docker启动 五. 基础使用 1. 创建一个用户 2. docker登录用户 3. 创建项目 4. 推送镜像 六. 自制证书配置HTTPS 一. 环境准备 Harbor 是一个开源的企业级 Docker 镜像仓库&#xff0c;提供了许…

1.4亿中文知识图谱导入Nebula Graph快速体验

1. 史上最大规模的中文知识图谱 Yener 开源了史上最大规模的中文知识图谱—— OwnThink&#xff08;链接&#xff1a;​​https://github.com/ownthink/KnowledgeGraphData​​&#xff0c;数据量为 1.4 亿条。数据以 ​​(实体, 属性, 值)​​ 和 ​​(实体, 关系, 实体)​​…

AI大模型技术的四大核心架构分析

AI大模型技术的四大核心架构演进之路 随着人工智能技术的飞速发展&#xff0c;大模型技术已经成为AI领域的重要分支。 深度剖析四大大模型技术架构&#xff1a;纯粹的Prompt提示词法、Agent Function Calling机制&#xff0c;RAG&#xff08;检索增强生成&#xff09;及Fine-…

基于若依框架开发的Spring Boot+Vue的MES(生产制造执行系统)是一种专为中小型工厂设计的ERP(企业资源计划)系统

基于若依框架开发的Spring BootVue的MES&#xff08;生产制造执行系统&#xff09;是一种专为中小型工厂设计的ERP&#xff08;企业资源计划&#xff09;系统。这个系统旨在帮助这些工厂实现更有效的生产管理、数据收集与分析、设备监控以及质量管理等&#xff0c;从而提高生产…

VMWare虚拟机如何连接U盘

检查配置 1&#xff09;Win R键&#xff0c;输入services.msc&#xff0c;打开服务。 2&#xff09;将AMware USB Arbitration Services 服务开启&#xff0c;并设置为自动启动&#xff1b; 连接U盘 目前作者了解有两种连接方式&#xff0c;如有其他连接方式&#xff0c;欢…

2024关于日本AI 领域TOP12 的大学介绍

1.东京大学 &#xff08;The University of Tokyo&#xff09; 位于&#xff1a;日本东京都文京区本郷七丁目3 番1 号 网址&#xff1a;東京大学 东京大学也被称为UTokyo 或东大&#xff0c;是日本第一所国立大学。作为领先的研究型 大学&#xff0c;东京大学提供基本所有…

JavaFX布局-SplitPane

JavaFX布局-SplitPane 常用属性orientationpaddingdividerPositionsdisable 实现方式Java实现fxml实现 一个拆分至少两个区域的容器支持水平、垂直布局可以拖动区域的大小初始化大小通过比例设置[0,1] 常用属性 orientation 排列方式&#xff0c;Orientation.VERTICAL、Orien…

k8s学习2

k8s 分成Master 负责整个k8s集群管理 node节点&#xff08;工作&#xff09;运行nginx 节点—服务器 kubernetes 组件 kubernetes集群主要由控制节点(Master)、工作节点(Node)组成 Master组件 集群的控制平面&#xff0c;集群的决策 负责管理k8s 集群管理 apiserver Kuber…

Cesium 相机控制器(1)-wheel 实现原理简析

Cesium 相机控制器(1)-wheel 实现原理简析 已经做大量简化, 不是代码最终的样子. Viewer┖ CesiumWidget┖ ScreenSpaceCameraController(_screenSpaceCameraController)┣ CameraEventAggregator(_aggregator) // 相机事件代理┃ ┖ ScreenSpaceEventHandler(_eventHandler…

3.创建了Vue项目,需要导入什么插件以及怎么导入

如果你不知道怎么创建Vue项目,建议可以看一看这篇文章 怎么安装Vue的环境和搭建Vue的项目-CSDN博客 1.在idea中打开目标文件 2.系在一个插件Vue.js 3.下载ELement UI 在Terminal中输入 # 切换到项目根目录 cd vueadmin-vue # 或者直接在idea中执行下面命令 # 安装element-u…