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

【Linux服务器nginx前端部署详解】ubantu22.04,前端Vue项目dist打包

本文主要讲一下在Linux系统环境下(以ubantu22.04为例),如何用nginx部署前端Vue项目打包的dist静态资源。有些具体的命令就不展开讲了,可以自行查看其他博主的文章,我主要讲整体的步骤和思路。

一、ubantu系统安装nginx

首先确保已经安装了nginx并开启,使用apt命令即可快速安装。

大概步骤:

# 注意以下命令都需要root账户
apt update # 更新软件
apt install nginx # 安装
systemctl status nginx # 验证安装,如果此时nginx已经运行,可以看到绿色的active(running)。
service nginx start # 如果没有运行,可以用这个命令重启一下。
nginx -v # 可以查看nginx版本

还有几件事要做:

1、开启服务器内防火墙对于6379端口的权限
命令: ufw allow 6379
命令: ufw status 可以看到所有已经开启访问权限的端口。
在这里插入图片描述

2、如果你想在服务器外(本地环境)访问连接6379端口,需要在你的云服务器安全组开放6379端口权限。

在这里插入图片描述

如果上面一切正常,在本地浏览器输入服务器公网IP就可以看到nginx的默认欢迎页面了。
在这里插入图片描述
当然这里可能会出现一些问题,我把可能遇到的情况列一下:

  1. 使用服务器IP无法访问到nginx默认页面

    首先检查nginx是否正常启动,再检查防火墙和服务器安全组。如果这里没问题,很大概率是因为你的云服务器把80端口禁止了,有些云服务器是不允许在没有备案的情况下使用80端口的。这么说可能有点晕,因为nginx的本质是请求转发,刚安装好的nginx默认监听80端口,而80端口其实就是http访问的默认端口,所以直接可以用IP访问,而不需要输入:80,当然你需要打开云服务器安全组的80端口权限,如果安全组配置也没问题,但是依然访问不了,就可以问下云服务器的客服了,是不是未备案禁止使用80端口。

    默认的nginx配置实际上就是监听80端口,当你访问服务器IP的时候,把请求转发到一个html默认页面,我们可以看一下默认配置,这里提一句,如果你是使用apt方式安装的,配置文件的位置大概都在 /etc/nginx/sites-available ,这下面的 default文件 就是默认配置了,我们可以打开看看内容。
    在这里插入图片描述
    如果80端口没备案用不了,可以像我一样配一个其他端口,然后再访问服务器IP:端口,这时候就能看到默认页面了(前提是你新加的端口号防火墙和安全组都已经开启)。

  2. 说几个关键的检查点:nginx是否正常启动,检查默认配置文件,检查80端口是否正常开启防火墙和云服务器安全组权限,检查云服务器提供厂商是否允许在没有备案的情况下使用80端口,我遇到的基本就是这些问题了。
    在这里插入图片描述

二、部署前端项目(Vue打包的dist文件夹)

我需要在哪里添加server配置呢?

在Nginx的安装目录下,有几个重要的文件和目录,每个都有其特定的用途。以下是对这些文件和目录的详细解释:

1. nginx.conf

  • 位置:通常位于 /etc/nginx/nginx.conf。
  • 用途:这是Nginx的主配置文件。它包含全局配置和默认的服务器块(server block)。在这个文件中,你可以设置Nginx的工作进程、日志、事件处理、HTTP配置等。它是Nginx启动时加载的第一个配置文件。

2. conf.d/

  • 位置:通常位于 /etc/nginx/conf.d/。
  • 用途:这个目录用于存放额外的配置文件。Nginx会自动加载这个目录下的所有.conf文件。通常,你可以在这里放置与特定应用或服务相关的配置文件,以便于管理和组织。例如,你可以为不同的虚拟主机或应用创建单独的配置文件。

3. sites-available/

  • 位置:通常位于 /etc/nginx/sites-available/。
  • 用途:这个目录用于存放可用的站点配置文件。每个文件通常对应一个虚拟主机的配置。这个目录中的配置文件不会自动加载,只有在创建符号链接到 sites-enabled/ 目录时,Nginx才会使用这些配置。

4. sites-enabled/

  • 位置:通常位于 /etc/nginx/sites-enabled/。
  • 用途:这个目录包含了实际启用的站点配置文件的符号链接。Nginx会加载这个目录中的配置文件。你可以通过在 sites-available/ 中创建符号链接来启用或禁用站点配置。例如,使用以下命令创建符号链接:
  • sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

5. modules-available/

  • 位置:通常位于 /etc/nginx/modules-available/(并不是所有的Nginx安装都有这个目录)。
  • 用途:这个目录用于存放可用的Nginx模块配置文件。与 sites-available/ 类似,模块配置文件不会自动加载,只有在创建符号链接到 modules-enabled/ 目录时,Nginx才会使用这些模块配置。

6. modules-enabled/

  • 位置:通常位于 /etc/nginx/modules-enabled/(并不是所有的Nginx安装都有这个目录)。
  • 用途:这个目录包含了实际启用的模块配置文件的符号链接。Nginx会加载这个目录中的模块配置。

总结

  • nginx.conf:主配置文件,包含全局设置。
  • conf.d/:存放额外的配置文件,自动加载。
  • sites-available/:存放可用的站点配置文件,不自动加载。
  • sites-enabled/:存放启用的站点配置文件的符号链接,自动加载。
  • modules-available/modules-enabled/:存放可用和启用的模块配置文件的符号链接(如果存在)。

上面每个文件的具体作用可以后面再研究,我讲一种最简单的实现方式:

第一步:一般我们不会改默认配置文件,在这个目录 /etc/nginx/sites-available ,vim新建一个文件作为你的配置内容,然后在这里面输入配置项。

第二步:编写配置文件内容,简单讲一下常见配置项的含义。

下面是一个示例配置文件:

server {listen 8079;  # 监听端口,处理HTTP请求server_name example.com ;  # 处理的域名(如果没有域名就写公网IP)root /var/www/my_frontend;  # 网站根目录,Nginx将从这里提供文件(就是你的dist文件夹目录)index index.html;  # 默认首页文件location / {try_files $uri $uri/ =404;  # 尝试访问请求的URI,如果不存在则返回404}location ~ \.(css|js|jpg|jpeg|png|gif|ico|svg)$ {expires 30d;  # 设置静态资源的缓存时间为30天add_header Cache-Control "public";  # 添加缓存控制头}error_page 404 /404.html;  # 自定义404错误页面location = /404.html {internal;  # 仅内部请求可以访问404页面}location ~ /\.ht {deny all;  # 禁止访问以.开头的文件(如.htaccess)}
}

下面是我的配置:
在这里插入图片描述

写完之后保存退出,然后需要做两件事,创建链接使配置文件生效,然后重启nginx。

ln -s /etc/nginx/sites-available/【你的文件名】 /etc/nginx/sites-enabled/
# 重加载nginx或重启
systemctl reload nginx
systemctl restart nginx

重要!!!

切记防火墙开启你新加的端口号,安全组也要加。

这时候你访问公网IP + 端口号就可以看到你的页面了。

三、怎么和后端通信呢,配置请求转发

假设你的后端项目是微服务架构,那么每个特定的路径就对应一个访问前缀,在nginx可以针对这样的访问做转发。
在这里插入图片描述

如果用户的请求是**/sys**/auth/captcha?t=1733906347077 (假设这是一个登录页面请求验证码的后端接口),那怎么转发呢,转发路径是什么?

location /sys/ {proxy_pass http://127.0.0.1:8083/;  # 这里的8083就是你的后端启动的端口proxy_set_header Host $host;  # 保留原始主机头proxy_set_header X-Real-IP $remote_addr;  # 保留客户端 IPproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  # 保留转发的 IPproxy_set_header X-Forwarded-Proto $scheme;  # 保留协议(http/https)}
请求转发过程
1. 请求路径:用户请求的路径是 /sys/auth/captcha?t=17339063470772. 匹配 location:Nginx 会检查请求路径是否匹配 location /sys/。由于请求路径以 /sys/ 开头,
因此会匹配到这个 location 块。转发路径:在 proxy_pass 指令中,您指定了 http://127.0.0.1:8083/ 作为转发的目标。转发路径计算
原始请求路径:/sys/auth/captcha?t=1733906347077
转发目标:http://127.0.0.1:8083/重要!!!
由于 proxy_pass 后面有一个斜杠 /,Nginx 会将请求路径 
/sys/auth/captcha 中的 /sys 部分去掉,并将剩余的路径 /auth/captcha?t=1733906347077 
追加到 http://127.0.0.1:8083/ 后面。因此,**/sys**/auth/captcha?t=1733906347077的最终转发的路径将是:
http://127.0.0.1:8083/auth/captcha?t=1733906347077

补充内容!!!

我不禁要问:proxy_pass 后面没有斜杠的话,最终转发的路径就会不同吗?

是的,proxy_pass 后面是否有斜杠会影响最终转发的路径。具体来说,斜杠的存在与否会决定如何处理请求的 URI 部分。以下是详细的解释:

1. proxy_pass 后面有斜杠

当 proxy_pass 后面有斜杠时,Nginx 会将请求的 URI 中与 location 匹配的部分去掉,并将剩余的 URI 直接附加到 proxy_pass 指定的地址后面。

location /sys/ {proxy_pass http://127.0.0.1:8083/;  # 末尾有斜杠
}
请求路径:/sys/auth/captcha?t=1733906347077
转发路径:http://127.0.0.1:8083/auth/captcha?t=1733906347077

2. proxy_pass 后面没有斜杠

proxy_pass 后面没有斜杠时,Nginx 会将请求的 URI 中与 location 匹配的部分去掉,并将剩余的 URI 附加到 proxy_pass 指定的地址后面,同时在地址后面添加匹配的 URI。

location /sys/ {proxy_pass http://127.0.0.1:8083;  # 末尾没有斜杠
}
请求路径:/sys/auth/captcha?t=1733906347077
转发路径:http://127.0.0.1:8083/sys/auth/captcha?t=1733906347077

总结

  • 有斜杠:去掉匹配的 URI 部分后,直接将剩余的 URI 附加到 proxy_pass 指定的地址后面。
  • 没有斜杠:去掉匹配的 URI 部分后,保留原始的 URI 结构,并将其附加到 proxy_pass 指定的地址后面。

相关文章:

【Linux服务器nginx前端部署详解】ubantu22.04,前端Vue项目dist打包

本文主要讲一下在Linux系统环境下(以ubantu22.04为例),如何用nginx部署前端Vue项目打包的dist静态资源。有些具体的命令就不展开讲了,可以自行查看其他博主的文章,我主要讲整体的步骤和思路。 一、ubantu系统安装ngin…...

Groovy 语法快速入门

文章目录 1. Groovy 的特点2. 基本语法2.1. 变量2.2. 字符串2.3. 条件语句 3. 集合操作3.1. 列表(List)3.2. 映射(Map) 4. 循环语句4.1. 普通循环4.2. 闭包遍历 5. 方法定义6. 闭包(Closure)6.1. 定义与调用…...

vue3 Textarea在光标定位处,增加一定的关键词。

1、经常碰到这种情况,有一些是系统预留的关键词可以选择,当用户把光标定位到什么地方,我们就要在这个位置插入指定的关键词。 2、光标定位在今天的前面,那么我们点击【逗号】按钮,在这个位置增加一个逗号。 3、代码&…...

硬件设计-电源轨噪声对时钟抖动的影响

目录 定义 实际案例 总结 定义 首先了解抖动的定义,在ITU-T G.701中有关抖动的定义如下: 数字信号重要瞬间相对于其理想时间位置的短期非累积变化。 抖动是时钟或数据信号时序的短期时域变化。抖动包括信号周期、频率、相位、占空比或其他一些定时特…...

Graspness 端到端抓取点估计 | 环境搭建 | 模型推理测试

在复杂场景中实现抓取检测,Graspness是一种端到端的方法; 输入点云数据,输出抓取角度、抓取深度、夹具宽度等信息。 开源地址:https://github.com/rhett-chen/graspness_implementation?tabreadme-ov-file 论文地址&#xff1…...

大模型呼入机器人的缺点是什么?(转)

大模型呼入机器人的缺点是什么?(转) 原作者:开源呼叫中心FreeIPCC,其Github:https://github.com/FreeIPCC/FreeIPCC 大模型呼入机器人在提供高效、自动化服务的同时,也存在一些缺点。以下是对其缺点的详细归纳&#…...

ASP.NET |日常开发中连接Oracle数据库详解

ASP.NET |日常开发中连接Oracle数据库详解 前言一、安装和配置 Oracle 数据访问组件1.1 安装ODP.NET(Oracle Data Provider for.NET):1.2 引用相关程序集: 二、配置连接字符串2.1 连接字符串的基本组成部分&#xff1a…...

Kaggler日志-Day4

进度24/12/14 昨日复盘: Pandas课程完成 Intermediate Mechine Learning2/7 今日记录: Intermediate Mechine Learning之类型变量 读两篇讲解如何提问的文章,在提问区里发起一次提问 实战:自己从头到尾首先Housing Prices Compe…...

onnx算子的注册详解及案例 (完整版)

文章目录 1. 介绍1.1 导出onnx不成功1.2 分析和解决方案2. 案例2.1 Asinh算子注册2.1.1 导出onnx2.1.2 算子注册2.2 自定义算子的注册2.1 直接导出自定义算子2.2 自定义算子的注册并导出2.3 导出带deformable conv 的onnx2.3.1 直接导出deformable conv2.3.2 注册并导出deforma…...

2024生命科学前沿技术

前沿技术是指高技术领域中具有前瞻性、先导性和探索性的重大技术,是未来高技术更新换代和新兴产业发展的重要基础,是国家高技术创新能力的综合体现。选择前沿技术的主要原则一是代表世界高技术前沿的发展方向。二是对国家未来新兴产业的形成和发展具有引…...

游戏引擎学习第47天

仓库: https://gitee.com/mrxiao_com/2d_game 昨天我们花了一点时间来修复一个问题,但基本上是在修复这个问题的过程中,我们决定添加一个功能,那就是在屏幕上控制多个实体。所以如果我有一个手柄,我可以添加另一个角色&#xff0…...

1.编写 Prompt 的原则

一、环境配置 使用 OpenAI 的 ChatGPT API,需要有 API_KEY,并安装 OpenAI 库。安装命令:pip install openai 和 pip install zhipuai。配置方法:直接设置 openai.api_key 或通过环境变量设置。 二、两个基本原则 2.1 原则一&am…...

【JavaEE】网络(2)

一、网络编程套接字 1.1 基础概念 【网络编程】指网络上的主机,通过不同的进程,以编程的方式实现网络通信;当然,我们只要满足进程不同就行,所以即便是同一个主机,只要是不同进程,基于网络来传…...

SAS - Subtractive Port

在SAS(串行连接SCSI,Serial Attached SCSI)协议中,subtractive port 是一种特殊类型的端口,主要用于设备间的路由功能。它的作用是在路径选择过程中充当默认路径,以处理未明确指定路径的请求。以下是它的定…...

Unity3D项目为什么要使用FairyGUI

前言 Unity3D项目选择使用FairyGUI的原因是多方面的,主要涵盖性能优化、设计模式、编辑器支持、跨平台兼容性以及丰富的功能特性。以下是对这些方面的详细解析以及相关的代码实现。 对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一…...

Pytest接口自动化测试框架Python自动化测试开发

一、引言 在软件开发过程中,接口测试是确保软件各个组件之间数据传输和功能交互正常工作的重要环节。通过接口测试,可以提高软件的整体质量和稳定性。Pytest是一个流行的Python自动化测试框架,提供了丰富的断言方法和灵活的测试组织结构&…...

MySQL追梦旅途之性能优化

1、索引优化 索引可以显著加速查询操作,但过多或不适当的索引也会带来负面影响(如增加写入开销)。因此,选择合适的索引至关重要。 创建索引: 为经常用于WHERE子句、JOIN条件和ORDER BY排序的列创建索引。 CREATE I…...

数字校园:信息时代的教育新形态

现如今,我们生活在一个信息爆炸的时代,每一天都有海量的信息产生。而在教育领域,也正在经历一场数字化的变革,这就是所谓的“数字校园”。数字校园可不是简单的把课本搬到电脑上那么简单,它其实是一个综合性的平台&…...

数字产业化和产业数字化到底是什么?

“数字产业化”和“产业数字化”在很多官方文件和领导人讲话中都是成对出现的,这两个术语看起来非常相似,但它们作为数字经济的两个重要组成部分,既有联系又有区别。 在谈数字产业化和产业数字化之前,我这里需要先给大家介绍一个概…...

每日十题八股-2024年12月14日

1.类加载器有哪些? 2.双亲委派模型的作用 3.讲一下类加载过程? 4.讲一下类的加载和双亲委派原则 5.什么是Java里的垃圾回收?如何触发垃圾回收? 6.判断垃圾的方法有哪些? 7.垃圾回收算法是什么,是为了解决了…...

大模型呼入机器人有哪些功能特点?(转)

大模型呼入机器人有哪些功能特点?(转) 原作者:开源呼叫中心FreeIPCC,其Github:https://github.com/lihaiya/freeipcc 大模型呼入机器人,作为现代通信技术与人工智能深度融合的产物,正逐渐成为企业提升服务…...

EasyExcel设置表头上面的那种大标题(前端传递来的大标题)

1、首先得先引用easyExcel的版本依赖&#xff0c;我那 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.6</version> </dependency> 2、然后得弄直接的实体类&#xff0c;&…...

[笔记] 编译LetMeowIn(C++汇编联编程序)过程

文章目录 前言过程下载源码vs2017 创建空项目 引入编译文件改项目依赖属性改汇编编译属性该项目还需注意编译运行 总结 前言 编译LetMeowin 项目发现是个混编项目&#xff0c;c调用汇编的程序&#xff0c;需要配置一下&#xff0c;特此记录一下 过程 下载源码 首先下载源码…...

(三)机器学习 - 标准差/方差

标准差 标准差是统计学中一个非常重要的概念&#xff0c;它用来衡量一组数据的离散程度&#xff0c;即数据点与平均值之间的偏离程度。标准差越大&#xff0c;表示数据点越分散&#xff1b;标准差越小&#xff0c;表示数据点越集中。 标准差的计算步骤如下&#xff1a; 计算数…...

笔记:在WPF中InvalidateMeasure,InvalidateArrange,InvalidateVisual,UpdateLayout主要功能

一、目的&#xff1a;简要介绍在WPF中InvalidateMeasure&#xff0c;InvalidateArrange&#xff0c;InvalidateVisual&#xff0c;UpdateLayout主要功能 在 WPF 中&#xff0c;InvalidateMeasure、InvalidateArrange、InvalidateVisual 和 UpdateLayout 是用于控制布局系统的四…...

[笔记]Qt下使用SendMessage、PostMessage和接收window消息

1.头文件和库引用 首先必须要包含windows.h这个头文件&#xff0c;如果使用一些扩展函数&#xff0c;还需要包含windowsx.h。网上说使用FindWindow要添加头文件winuser.h&#xff0c;不过应该windows.h是自动包含这个依赖的&#xff08;我没有添加&#xff09; #include <…...

使用echarts实现3d柱状图+折线图

以下代码有问题请直接问国内直连GPT/Claude HTML 需要注意threeDchart一定要设置宽度高度&#xff0c;不然图不显示,然后echarts版本不要太低&#xff0c;不然也不显示 <div id"threeDchart" class"threeDchart"></div>js set3DBarChart2(dat…...

【经验分享】容器云搭建的知识点

最近忙于备考没关注&#xff0c;有次点进某小黄鱼发现首页出现了我的笔记还被人收费了 虽然我也卖了一些资源&#xff0c;但我以交流、交换为主&#xff0c;笔记都是免费给别人看的 由于当时刚刚接触写的并不成熟&#xff0c;为了避免更多人花没必要的钱&#xff0c;所以决定公…...

JAVA |日常开发中Websocket详解

JAVA &#xff5c;日常开发中Websocket详解 前言一、Websocket 概述1.1 定义1.2 优势 二、Websocket 协议基础2.1 握手过程2.2 消息格式2.3 数据传输方式 三、Java 中使用 Websocket3.1 Java WebSocket API&#xff08;JSR - 356&#xff09;3.2 第三方库&#xff08;如 Tyrus&…...

30.攻防世界unserialize3

进入场景 解读一下 这个类 xctf 中有一个公共属性 $flag &#xff0c;其值为 111 &#xff0c;并且定义了一个 __wakeup 魔术方法&#xff0c;当对象被反序列化时会自动调用该方法&#xff0c;该方法会输出 bad requests 并终止程序的执行。 ?code提示了参数 <?php clas…...

IS-IS协议

IS-IS协议介绍 IS-IS&#xff08;Intermediate System to Intermediate System&#xff09;协议是一种链路状态的内部网关协议&#xff08;IGP&#xff09;&#xff0c;用于在同一个自治系统&#xff08;Autonomous System, AS&#xff09;内部的路由器之间交换路由信息。IS-I…...

接口文档之swagger、kinife4j的基本使用

1.swagger3的使用&#xff1a; 1.1pom.xml中加入依赖&#xff1a; <dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version> </dependency> <!--swagger的…...

Oracle plsqldev1106 安装及TNS配置

Oracle plsqldev1106 安装及TNS配置 下载好安装包&#xff0c;直接双击安装 点击 I Agree 默认是C盘的&#xff0c;我改了D盘&#xff0c;根据自己实际情况修改 这里用默认的for current user 也可以&#xff0c;我选了for all user 点Finish&#xff0c;等待安装完成即可 …...

[数据结构]无向图的深度优先非递归遍历

采用邻接表存储实现无向图的深度优先非递归遍历。 输入格式: 先输入两个整数&#xff08;m,n&#xff09;&#xff08;分别表示待创建的图顶点数和边数&#xff09;&#xff0c;之后是m个顶点的信息&#xff0c;再之后是n 条边。 输出格式: 对每一组输入&#xff0c;在一行…...

Android后端签到flask迁移到rust的axum的过程-签到性能和便携

本次变更了以下内容: 为了使用之前ip2sta的ip到端点名的python,dic变量,将其存入redis hashset.使用地址/api/ip2dic 手动执行之.并且定义在/station/init,这个每天初始化redis的路径下.在rust axum使用redis 连接池在test中 ip2dic,IP转端点名,转本日此端网址.在前端的人名下…...

Android13开机向导

文章目录 前言需求-场景第三方资料说明需求思路按照平台 思路 从配置上去 feature换个思路&#xff0c;去feature。SimMissingActivity 判断跳过逻辑SetupWizardUtils 判断SIM 、 hasSystemFeature FEATURE_TELEPHONYPackageManager.FEATURE_TELEPHONYApplicationPackageManage…...

泷羽sec学习打卡-brupsuite6暴力破解与验证码识别绕过

声明 学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都 与本人无关,切莫逾越法律红线,否则后果自负 关于brupsuite的那些事儿-验证码绕过以及字典爆破 如何利用brpsuite进行验证码绕过呢&#xff1f;1、下…...

vue季度选择器(antd2.0 版本无此控件,单独写一个)

vue季度选择器 效果显示 效果显示 <template><div><a-popoverplacement"bottom"overlayClassName"season-picker"trigger"click"v-model"showSeason"><template #content><div class"season-picker-b…...

Microsemi Libero使用技巧11——CoreUARTAPB RX管脚分配时不显示

调用串口IP核CoreUARTAPB&#xff0c;并例化到顶层设计&#xff0c;发现UART_RX管脚在进行管脚分配时没有显示出来&#xff0c;最后发现是CoreAPB3总线IP核配置不对导致&#xff0c;改为如下配置后正常。...

回归预测 | MATLAB实现SVM-Adaboost集成学习结合支持向量机多输入单输出回归预测

回归预测 | MATLAB实现SVM-Adaboost集成学习结合支持向量机多输入单输出回归预测 目录 回归预测 | MATLAB实现SVM-Adaboost集成学习结合支持向量机多输入单输出回归预测基本介绍程序设计基本介绍 SVM-Adaboost集成学习是一种将支持向量机(SVM)与AdaBoost算法相结合的集成学习…...

Keil-MDK开发环境编译后axf自动转换bin格式文件

编译选项添加如下&#xff0c;调用fromelf工具自动完成转换&#xff1a; fromelf --bin -o "$LL.bin" "#L"...

计算机组成原理(五):程序装载

在计算机组成原理中&#xff0c;程序装载&#xff08;Program Loading&#xff09;是指将程序从外存&#xff08;如磁盘&#xff09;加载到内存中&#xff0c;并为其运行做好准备的过程。程序装载是实现程序从静态存储状态到动态运行状态的关键环节&#xff0c;涉及地址映射、内…...

开发EDA工具常用的三方开源

EDA软件是制造芯片重要工具&#xff0c;是现在举国的大难题。这个工具难在哪里&#xff0c;几句话说不清&#xff0c;但它确实也有一些非常通用的功能&#xff0c;这些功能依赖一些成熟的轮子&#xff0c;这些轮子&#xff0c;就是三方的开源项目&#xff0c;下面列举一些常用的…...

微信小程序中 crypto-js 加解密全攻略

一、引言 在微信小程序开发中&#xff0c;数据的安全至关重要。加解密技术在保护用户数据和应用程序的安全性方面起着关键作用。小程序在与服务器进行数据交互时&#xff0c;面临着数据泄露、篡改等安全风险。为了确保用户信息的安全&#xff0c;选择合适的加解密算法变得尤为…...

Vue2 - 最新实现将多个文件批量导出为ZIP压缩包格式并下载功能,纯前端下载多个文件打包输出成zip格式,vue2将文件批量下载打包成ZIP下载保存本地(后端二进制文件流/base64图片/url

前言 Vue3 版本,请访问 这篇文章。 在 vue2 | nuxt2 项目开发中,详解实现把多个文件组合成一个ZIP压缩包格式下载到用户本地,将文件批量下载打包成zip格式并自定义压缩包命名名称,vue批量下载文件并导出为压缩包的功能,如何将后端返回的二进制文件流打包成zip格式,支持任…...

The Rise and Potential of Large Language ModelBased Agents:A Survey---摘要、背景、引言

题目 基于大语言模型的Agent的兴起与发展前景 论文地址&#xff1a;https://arxiv.org/pdf/2309.07864.pdf 项目地址&#xff1a;https:/github.com/WooooDyy./LLM-Agent–Paper-List 摘要 长期以来&#xff0c;人类一直在追求等同于或超越人类水平的人工智能(A)&#xff0c;…...

【unity】从零开始制作平台跳跃游戏--界面的认识,添加第一个角色!

在上一篇文章中&#xff0c;我们已经完成了unity的环境配置与安装⬇️ 【Unity】环境配置与安装-CSDN博客 接下来&#xff0c;让我们开始新建一个项目吧&#xff01; 新建项目 首先进入unityHub的项目页面&#xff0c;点击“新项目”&#xff1a; 我们这个系列将会以2D平台…...

Java中的Stream

1. 什么是 Stream&#xff1f; Stream 是 Java 8 引入的一种新方式&#xff0c;目的是帮助我们更简洁、更高效地处理集合&#xff08;如 List、Set、Map 等&#xff09;。你可以把 Stream 想象成一条“流水线”&#xff0c;数据就像是流水线上的原材料&#xff0c;经过流水线的…...

ARM学习(36)静态扫描规则学习以及工具使用

笔者来学习了解一下静态扫描以及其规则,并且亲身是实践一下对arm 架构的代码进行扫描。 1、静态扫描认识 静态扫描:对代码源文件按照一定的规则进行扫描,来发现一些潜在的问题或者风险,因为不涉及代码运行,所以其一般只是发现一些规范或则一些质量问题,当然这些可能存在潜…...

前端将base64转pdf页面预览

前端将base64转pdf页面预览 <embed :src"pdfList" width"100%" height"100%" type"application/pdf" />pdfList.value data:application/pdf;base64,${res}//后端传jpg或pdf格式可直接 :src“返回内容”显示...