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

使用linux脚本部署discuz博客(详细注释版)

使用脚本部署一个discuzz项目

1.显示当前环境状态

防火墙状态

selinux状态

httpd状态

由上可知,虚拟机已处于最初始状态

2.脚本编写

#!/bin/bash
#这是一个通过脚本来部署discuzz博客
firewalld关闭
systemctl stop firewalld
if [ $? -eq 0 ];then echo "firewalld 已关闭"
fi
#selinux设置
fire=`getenforce`
if [ $fire=="Disabled" ];then echo "SELINUX is disabled"
elsesed -i '/^SELINUX=/s#enforcing#disabled#g' /etc/selinux/configseteforce 0 #设置兼容模式
fi#配置yum镜像源
ali_c=`cat /etc/yum.repos.d/CentOS-Base.repo | grep "aliyun"`
if [ $ali_c -ne 0 ];thencurl -o /etc/yum.repos.d/CentOS-Base.repo wget https://mirrors.aliyun.com/repo/Centos-7.repoecho -e " yum镜像源已经配置 "
fi
ali_e=`cat /etc/yum.repos.d//epel.repo | grep "aliyun"`
if [ $ali_e -ne 0 ];thencurl -o  /etc/yum.repos.d/epel.repo wget https://mirrors.aliyun.com/repo/epel-7.repoecho "epel镜像源已经配置"
fi
yum clean all
yum makecache fast
yum repolist
#查看当前是否安装httpd
rpm -qa | grep httpd
if [ $? -eq 0 ];thenecho  "httpd服务已安装"
elseyum -y install httpd
fi
#启动httpd服务
echo "正在启动httpd服务。。。。。。"
systemctl start httpd
if [ $? -eq 0 ];thenecho "httpd启动成功!!"
else echo "httpd启动失败!!"exit
fi
systemctl enable httpd
stytemctl status httpd
#测试apache网站
echo "hello world" > /var/www/html/index.html
ip_=`ip a| grep "ens33"|awk 'NR==2{print $2}'|cut -d "/" -f 1`
curl $ip_
if [ $? -eq 0 ];thenecho "apache测试成功!!!"
elseecho "apache测试失败!!!"exit
fi#卸载干扰包
mariadb_=`rpm -qa | grep mariadb`
if [ $? -eq 0 ];then echo "开始卸载mariadb干扰包"rpm -e $mariadb_ --nodeps 
fi
rpm -qa | grep mariadb
if [ $? -eq 1 ];then echo "mariadb卸载完成"
elseecho "mariadb卸载失败"
fi
echo "开始安装mysql数据库"
#安装net-tools
yum -y install net-tools
#mysql数据库安装
echo "开始下载mysql数据库rpm安装包"
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-community-common-5.7.44-1.el7.x86_64.rpm
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-community-libs-5.7.44-1.el7.x86_64.rpm
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-community-libs-compat-5.7.44-1.el7.x86_64.rpm
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-community-client-5.7.44-1.el7.x86_64.rpm
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-community-server-5.7.44-1.el7.x86_64.rpm
echo "mysql rpm包下载完成"
#开始安装mysql
#通过awk过滤上面的网址,依次安装
cat discuzz.sh |grep "^wget"|awk -F '/' '{print "rpm -ivh",$9}'
rpm -ivh mysql-community-common-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.44-1.el7.x86_64.rpm
echo "mysql安装成功"#设置mysql状态
echo "设置mysql状态"
systemctl start mysqld
if [ $? -eq 0 ];thenecho "mysqld启动成功!!"
else echo "mysqld启动失败!!"exit
fisystemctl enable mysqld
systemctl status mysqld获取mysql临时密码
em_passwd=`grep "password" /var/log/mysqld.log | awk '{print $11}'`
#登录数据库
echo -e '请复制如下命令修改密码:\nALTER USER "root"@"localhost" identified by "1234Qwert.";\n密码需要包含大小写、数字、字符'
mysql -uroot -p"$tem_passwd"#安装php
#1.配置php的yum源
echo "配置php的yum源"
wget https://mirrors.aliyun.com/remi/enterprise/remi-release-7.rpm
#2.安装php
echo "安装php"
yum -y install epel-release
rpm -ivh remi-release-7.rpm
#查看yum仓库
ls /etc/yum.repos.d/
#启用php80的yum源
yum -y install yum-utils
yum-config-manager --enable remi-php80
#安装php80
yum -y install  php80 php80-php php80-php-xml php80-php-xmlrpc php80-php-pecl-mcrypt php80-php-fpm php80-php-pecl-apcu php80-php-mbstring php80-php-gd php80-php-json php80-php-pecl-json-post php80-php-pdo php80-php-mysqlnd php80-php-pecl-mysql php80-php-opcache php80-php-pear php80-php-soap php80-php-intl php80-php-pear php-pear-MDB2-Driver-mysqli.noarch#3.启动php
echo "启动php"
systemctl  start php80-php-fpmsystemctl status php80-php-fpmsystemctl enable php80-php-fpm
#4.测试php是否安装完成
echo "测试php是否安装完成"
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
ls -l /var/www/html/5.重启apache
echo "重启httpd中。。。。。。"
systemctl restart httpd
echo "httpd重启完成!!!!!"curl $ip_
if [ $? -eq 0 ];thenecho "apache测试成功!!!"
elseecho "apache测试失败!!!"exit
fi
#部署discuz论坛
#1.下载安装包
echo "正在下载discuz。。。。"
wget https://gitee.com/Discuz/DiscuzX/attach_files/2044572/download -O ./cuz.zip
mkdir cuz
#2.解压安装包
yum -y install unzip
unzip cuz.zip -d cuz/
echo "discuz下载完成"
#3.拷贝discuz相关的文件到/var/www/html/
echo "正在拷贝discuz。。。。。。"
rm -rf /var/www/html/*
cp -r cuz/upload/* /var/www/html/
echo "discuz已拷贝到/var/www/html/"
#4.修改文件权限
chmod -R 777 /var/www/html/
echo "查看/var/www/html中的文件"
ls /var/www/html
#5.重启apache 
echo "重启httpd中。。。。。。"
systemctl restart httpd
echo "httpd重启完成!!!!!"
#6.打开网页安装论坛
echo "请访问网址$ip_/install/ 中"

3.结果

相关文章:

使用linux脚本部署discuz博客(详细注释版)

使用脚本部署一个discuzz项目 1.显示当前环境状态 防火墙状态 selinux状态 httpd状态 由上可知&#xff0c;虚拟机已处于最初始状态 2.脚本编写 #!/bin/bash #这是一个通过脚本来部署discuzz博客 firewalld关闭 systemctl stop firewalld if [ $? -eq 0 ];then echo "…...

Kafka的生产者和消费者模型

Kafka的生产者和消费者模型是一种消息传递模式&#xff0c;以下是该模型的详细描述&#xff1a; 一、生产者&#xff08;Producer&#xff09; 定义&#xff1a;生产者是消息的生产者&#xff0c;它将消息发布到Kafka的主题&#xff08;Topic&#xff09;中。 功能&#xff1…...

调用openssl实现加解密算法

由于工作中涉及到加解密&#xff0c;包括Hash&#xff08;SHA256&#xff09;算法、HMAC_SHA256 算法、ECDH算法、ECC签名算法、AES/CBC 128算法一共涉及5类算法&#xff0c;笔者通过查询发现openssl库以上算法都支持&#xff0c;索性借助openssl库实现上述5类算法。笔者用的op…...

【Python项目】信息安全领域中语义搜索引擎系统

【Python项目】信息安全领域中语义搜索引擎系统 技术简介&#xff1a;采用Python技术、MYSQL数据库等实现。 系统简介&#xff1a;系统主要是围绕着语义搜索展开的&#xff0c;要将输入的文字在爬取数据时能够通过深层次的内涵理解&#xff0c;来更好的查找到与之相关的精准信息…...

快速排序_912. 排序数组(10中排序算法)

快速排序_912. 排序数组&#xff08;10中排序算法&#xff09; 1 快速排序&#xff08;重点&#xff09;报错代码超时代码修改官方题解快速排序 1&#xff1a;基本快速排序快速排序 2&#xff1a;双指针&#xff08;指针对撞&#xff09;快速排序快速排序 3&#xff1a;三指针快…...

BS5852英国家具防火安全条款主要包括哪几个方面呢?

什么是BS5852检测&#xff1f; BS5852是英国针对家用家具的强制性安全要求&#xff0c;主要测试家具在受到燃烧香烟和火柴等火源时的可燃性。这个标准通常分为四个部分进行测试&#xff0c;但实际应用中主要测试第一部分和第二部分&#xff0c;包括烟头测试和利用乙炔火焰模拟…...

高考或者单招考试需要考物理这科目

问题&#xff1a;帮忙搜索一下以上学校哪些高考或者单招考试需要考物理这科目的 回答&#xff1a; 根据目前获取的资料&#xff0c;明确提及高考或单招考试需考物理的学校为湖南工业职业技术学院&#xff0c;在部分专业单招时要求选考物理&#xff1b;其他学校暂未发现明确提…...

基于vue3实现的课堂点名程序

设计思路 采用vue3实现的课堂点名程序&#xff0c;模拟课堂座位布局&#xff0c;点击开始点名按钮后&#xff0c;一朵鲜花在座位间传递&#xff0c;直到点击结束点名按钮&#xff0c;鲜花停留的座位被点名。 课堂点名 座位组件 seat.vue <script setup>//组合式APIimpo…...

压力传感器

压力传感器是一种用于测量气体或液体压力的设备&#xff0c;广泛应用于工业控制、汽车电子、医疗设备、航空航天等领域。以下是关于压力传感器的详细介绍&#xff1a; 一、压力传感器的分类 1. 按测量原理分类 - 压阻式压力传感器&#xff1a; - 原理&#xff1a;利用压…...

Django REST Framework (DRF) 中用于构建 API 视图类解析

Django REST Framework (DRF) 提供了丰富的视图类&#xff0c;用于构建 API 视图。这些视图类可以分为以下几类&#xff1a; 1. 基础视图类 这些是 DRF 中最基础的视图类&#xff0c;通常用于实现自定义逻辑。 常用类 APIView&#xff1a; 最基本的视图类&#xff0c;所有其…...

DeepSeek介绍[Cache-Through、Cache-Around、Cache-Behind、Cache-Asid]

Cache-Through、Cache-Around、Cache-Behind和Cache-Aside是几种常见的缓存策略&#xff0c;每种策略有其独特的工作机制和应用场景。以下是对这些缓存模式的详细介绍&#xff1a; 1. Cache-Through 工作原理&#xff1a; 读操作&#xff1a;应用程序首先向缓存层请求数据。…...

React 前端框架介绍

什么是 React&#xff1f; React 是一个由 Facebook 开发并维护的开源 JavaScript 库&#xff0c;用于构建用户界面。它主要用于创建交互式用户界Face&#xff08;UI&#xff09;&#xff0c;尤其是当数据变化时需要更新部分视图时非常有效。React 的核心思想是组件化和声明性…...

自制简单的图片查看器(python)

图片格式&#xff1a;支持常见的图片格式&#xff08;JPG、PNG、BMP、GIF&#xff09;。 import os import tkinter as tk from tkinter import filedialog, messagebox from PIL import Image, ImageTkclass ImageViewer:def __init__(self, root):self.root rootself.root.…...

基于Electron+Vue3创建桌面应用

Electron 是一个开源框架,基于 Chromium 和 Node.js,用于开发跨平台桌面应用程序。它允许开发者使用 HTML、CSS 和 JavaScript 等 Web 技术构建原生桌面应用,支持 Windows、macOS 和 Linux。Electron 以其开发便捷性、强大的功能和丰富的生态系统而广泛应用于工具类应用、媒…...

Redis实战-扩展Redis

扩展Redis 1、扩展读性能2、扩展写性能和内存容量3、扩展复杂的查询3.1 扩展联合查询3.2 扩展分片排序 如有侵权&#xff0c;请联系&#xff5e; 如有错误&#xff0c;也欢迎批评指正&#xff5e; 本篇文章大部分是来自学习《Redis实战》的笔记 1、扩展读性能 单台Redis服务器…...

Vue 前端开发中的路由知识:从入门到精通

文章目录 引言1. Vue Router 简介1.1 安装 Vue Router1.2 配置 Vue Router1.3 在 Vue 实例中使用 Vue Router 2. 路由的基本用法2.1 路由映射2.2 路由视图2.3 路由链接 3. 动态路由3.1 动态路径参数3.2 访问动态参数3.3 响应路由参数的变化 4. 嵌套路由4.1 定义嵌套路由4.2 渲染…...

为AI聊天工具添加一个知识系统 之109 详细设计之50 三性三量三境

本文要点 纵观整个讨论过程 最初我提“相得益彰的三性&#xff08;三性&#xff09; 相提并论的三者&#xff08;三量&#xff09; 相映成趣的三化&#xff08;三境&#xff09;” “ 确定 今天的讨论题-- “我”的知识树&#xff1a;相得益彰的三性&#xff08;即 三性&…...

51-ArrayList

51-ArrayList Collection 类型介绍 仓颉中常用的几种基础 Collection 类型&#xff0c;包含 Array、ArrayList、HashSet、HashMap。 可以在不同的场景中选择适合对应业务的类型&#xff1a; Array&#xff1a;如果不需要增加和删除元素&#xff0c;但需要修改元素&#xff…...

工业制造能耗管理新突破,漫途MTIC-ECM平台助力企业绿色转型!

在工业制造领域&#xff0c;能源消耗一直是企业运营成本的重要组成部分。随着“双碳”目标的推进&#xff0c;如何实现高效能耗管理&#xff0c;成为制造企业亟待解决的问题。漫途MTIC-ECM能源能耗在线监测平台&#xff0c;结合其自研的硬件产品&#xff0c;为工业制造企业提供…...

sql注入之python脚本进行时间盲注和布尔盲注

一、什么是时间盲注和布尔盲注&#xff1f; 答&#xff1a;时间盲注是攻击者通过构造恶意sql语句利用sleep()等延迟函数来观察数据库响应时间差异来进行推断信息和条件判断。如果条件为真&#xff0c;数据库会执行延时操作&#xff0c;如果为假则立即返回。响应时间较短。 SELE…...

map的使用(c++)

在了解map之前&#xff0c;我们先看看两个场景&#xff0c;通过这两个场景的对比&#xff0c;让我们知道为什么要存在存储双关键字的容器 场景一&#xff1a;判断一堆字符串中&#xff0c;某一个字符串是否出现过 在没学set容器之前&#xff0c;我们只能想到把这一堆字符串存到…...

Android13-包安装器PackageInstaller-之apk安装流程

目的 我们最终是为了搞明白安装的整个流程通过安卓系统自带的包安装器来了解PMS 安装流程实现需求定制&#xff1a;静默安装-安装界面定制-安装拦截验证。【核心目的】 安装流程和PMS了解不用多说了; 安装定制相关&#xff1a; 如 手机上安装时候弹出锁屏界面需要输入密码;安…...

前端函数在开发环境与生产环境中处理空字符串的差异及解决方案

在前端开发过程中&#xff0c;我们经常会遇到一些函数在开发环境中运行正常&#xff0c;但在生产环境中却出现报错的情况。本文将通过具体的代码示例和分析&#xff0c;探讨一个函数在开发环境和生产环境中处理空字符串的差异&#xff0c;并提供解决方案。 1. 问题描述 我们有…...

数智读书笔记系列014 MICK《SQL进阶教程》第一版和第二版对比和总结

引言 在当今数字化时代,数据已成为企业和组织的核心资产之一。而 SQL(Structured Query Language)作为管理和操作关系型数据库的标准语言,其重要性不言而喻。无论是数据查询、插入、更新还是删除,SQL 都能高效地完成任务,广泛应用于数据分析、数据挖掘、数据仓库、Web 开…...

智能猫眼实现流程图

物理端开发流程图 客户端端开发流程图 用户功能开发流程图 管理员开发流程图...

docker安装kafka,并通过springboot快速集成kafka

目录 一、docker安装和配置Kafka 1.拉取 Zookeeper 的 Docker 镜像 2.运行 Zookeeper 容器 3.拉取 Kafka 的 Docker 镜像 4.运行 Kafka 容器 5.下载 Kafdrop 6.运行 Kafdrop 7.如果docker pull wurstmeister/zookeeper或docker pull wurstmeister/kafka下载很慢&#x…...

Spring Boot 中自动装配机制的原理

Spring Boot 的自动装配机制是其核心特性之一&#xff0c;它简化了 Spring 应用的配置&#xff0c;让开发者能够快速构建应用。以下是对其原理的详细总结&#xff1a; 1. 核心概念 自动装配 (Auto-configuration): Spring Boot 根据应用依赖和配置&#xff0c;自动配置 Spring…...

python继承中super() 不是简单的“调用父类”,而是调用 MRO 里的下一个类

Python 里的一个类可以同时继承多个父类。这让我们的模型设计变得更灵 活&#xff0c;但同时也带来一个新问题&#xff1a;“在复杂的继承关系下&#xff0c;如何确认子类的 某个方法会用到哪个父类&#xff1f;” 这里有点需要理解&#xff1a; MRO&#xff08;方法解析顺序…...

【智慧校园】分体空调节能监管:打造高效节能的学习环境

随着科技的飞速发展和生活品质的不断提升&#xff0c;人们对于家居和办公环境的舒适度与智能化要求也越来越高。分体空调集中控制系统作为一种先进的空调管理方式&#xff0c;正逐渐成为现代家庭和办公场所的标配&#xff0c;为用户带来更加便捷、高效和节能的空调使用体验。随…...

【达梦数据库】dblink连接[SqlServer/Mysql]报错处理

目录 背景问题1&#xff1a;无法测试以ODBC数据源方式访问的外部链接!问题分析&原因解决方法 问题2&#xff1a;DBLINK连接丢失问题分析&原因解决方法 问题3&#xff1a;DBIINK远程服务器获取对象[xxx]失败,错误洋情[[FreeTDS][SQL Server]Could not find stored proce…...

STM32 ADC介绍(硬件原理篇)

目录 背景 AD转换器 采样与保持 量化 编码 AD转换器转换原理 DA转换原理 AD转换原理 1.逐次逼近型AD转换器 2.并联比较型AD转换器 编码器 同步D触发器和边沿D触发器 基本RS触发器 同步RS触发器 同步D触发器 边沿型D触发器&#xff08;维持-阻塞D触发器&#xff…...

蚁剑(AutSword)的下载安装与报错解决

蚁剑&#xff08;AutSword&#xff09;的下载安装与报错解决 1.下载 唯一官方github下载地址 GitHub - AntSwordProject/AntSword-Loader: AntSword 加载器 2.安装 打开并且进入到下面的界面 下载需要的的版本 进行初始化 3.报错 出现下面的报错 4.解决方法 出现上面报错…...

BT401双模音频蓝牙模块如何开启ble的透传,有什么注意事项

BT401音频蓝牙模块如何开启ble的透传&#xff1f; 首先BT401的蓝牙音频模块&#xff0c;分为两个版本&#xff0c;dac版本和iis数字音频版本 DAC版本&#xff1a;就是BT401蓝牙模块【9和10脚】直接输出模拟音频信号&#xff0c;也就是说&#xff0c;直接推动耳机可以听到声音 …...

209. 长度最小的子数组

这个题目之前做过是用c语言写的 但是我这里用python来写 写的不是很好 感觉自己这里写的还是有问题 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl1, ..., numsr-1, numsr] &#xff0c;…...

使用IDEA创建Maven项目、Maven坐标,以及导入Maven项目

一、创建Maven项目 正如使用Vue创建工程化的前端项目&#xff0c;此时&#xff0c;使用Maven创建标准化的后端项目。 以下适用于2021版本的IDEA。 name和artifactid会自动保持一致。 Groupid&#xff1a;一般写公司域名倒写&#xff0c;再加上项目名&#xff08;也可以不…...

从零到一实现微信小程序计划时钟:完整教程

在本教程中&#xff0c;我们将一起实现一个微信小程序——计划时钟。这个小程序的核心功能是帮助用户添加任务、设置任务的时间范围&#xff0c;并且能够删除和查看已添加的任务。通过以下步骤&#xff0c;我们将带你从零开始实现一个具有基本功能的微信小程序计划时钟。 项目…...

最长回文子串(蓝桥云课)

题目链接&#xff1a;8.最长回文子串 - 蓝桥云课 (lanqiao.cn) 代码如下 # include <iostream> # include <cstring> using namespace std; int main() {string str;getline(cin, str);int res 0;for(int i 0; i < str.length(); i){int l i - 1, r i 1;…...

12-滑动窗口

一&#xff0c;定义 滑动窗口算法是一种用于处理数组或字符串问题的技巧&#xff0c;特别适合解决涉及子数组或子串的问题。它的核心思想是通过维护一个“窗口”来高效地计算或查找满足条件的子数组或子串。 基本概念 窗口&#xff1a;窗口是数组或字符串中的一个连续子区间&a…...

时间序列分析(五)——移动平均模型(MA模型)

此前篇章&#xff1a; 时间序列分析&#xff08;一&#xff09;——基础概念篇 时间序列分析&#xff08;二&#xff09;——平稳性检验 时间序列分析&#xff08;三&#xff09;——白噪声检验 时间序列分析&#xff08;四&#xff09;——差分运算、延迟算子、AR(p)模型 …...

eNSP防火墙综合实验

一、实验拓扑 二、ip和安全区域配置 1、防火墙ip和安全区域配置 新建两个安全区域 ip配置 Client1 Client2 电信DNS 百度web-1 联通DNS 百度web-2 R2 R1 三、DNS透明代理相关配置 1、导入运营商地址库 2、新建链路接口 3、配置真实DNS服务器 4、创建虚拟DNS服务器 5、配置D…...

ES8字符串填充用法总结:padStart(),padEnd(),rest剩余参数的用法{name,...obj},扩展运算符的用法,正则表达式命名捕获组

ES8&#xff08;ECMAScript 2017&#xff09;引入了两个非常有用的字符串填充方法&#xff1a;padStart() 和 padEnd()&#xff0c;它们可以用来在字符串的两端添加指定的填充字符&#xff0c;从而达到指定的字符串长度。这些方法非常适合用于格式化文本和对齐输出。 1. padSt…...

Redis 统计每个数据类型中占用内存最多的前 N 个 bigkey

Redis 统计每个数据类型中占用内存最多的前 N 个 bigkey import redisdef find_bigkeys(hostlocalhost, port6379, db0, n10):r redis.Redis(hosthost, portport, db0)bigkeys {}# 用于存储每种数据类型的键及内存占用type_memory_dict {}# 扫描所有键for key in r.scan_it…...

C++中的.*运算符

看运算符重载的时候&#xff0c;看到这一句 .* :: sizeof ?: . 注意以上5个运算符不能重载。 :: sizeof ?: . 这四个好理解&#xff0c;毕竟都学过&#xff0c;但.*是什么&#xff1f; 于是自己整理了一下 .* 是一种 C 中的运算符&#xff0c;称为指针到成…...

大语言模型简史:从Transformer(2017)到DeepSeek-R1(2025)的进化之路

2025年初&#xff0c;中国推出了具有开创性且高性价比的「大型语言模型」&#xff08;Large Language Model — LLM&#xff09;DeepSeek-R1&#xff0c;引发了AI的巨大变革。本文回顾了LLM的发展历程&#xff0c;起点是2017年革命性的Transformer架构&#xff0c;该架构通过「…...

14-H指数

给你一个整数数组 citations &#xff0c;其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。 根据维基百科上 h 指数的定义&#xff1a;h 代表“高引用次数” &#xff0c;一名科研人员的 h 指数 是指他&#xff08;她&#xff09;至少发…...

Param ‘serviceName‘ is illegal, serviceName is blank

今天测试nacos服务配置拉取时报了这样一个错误&#xff0c;发现是spring.application.name空值造成的&#xff0c;但是我的bootstrap.yml文件明明配置了&#xff0c;难不成是没有加载bootstrap.yml文件&#xff1f;于是我引入了下面的依赖 <dependency><groupId>o…...

深入剖析Spring MVC

一、Spring MVC 概述 1. 什么是 Spring MVC&#xff1f; Spring MVC 是基于 Spring 框架的 Web 框架&#xff0c;它实现了 MVC 设计模式&#xff0c;将应用程序分为三个核心部分&#xff1a; Model&#xff1a;封装应用程序的数据和业务逻辑。 View&#xff1a;负责渲染数据…...

LLM:RAG

原文链接&#xff1a;LLM&#xff1a;RAG 1、RAG 概览 RAG&#xff08;Retrieval-Augmented Generation&#xff0c;检索增强生成&#xff09;是一种结合了信息检索&#xff08;IR&#xff09;和 LLM 的技术。它的核心思想是在 LLM 生成回答之前&#xff0c;通过检索相关文档…...

Linux 信号量

Linux 信号量 一、信号量基础概念1.1 同步机制的核心需求1.2 信号量的核心原理1.3 信号量类型对比 二、实战代码解析2.1 共享内存与信号量结合示例2.2 信号量类实现要点 三、关键实现细节分析3.1 初始化三步骤3.2 SEM_UNDO机制3.3 原子操作保证 四、进阶应用场景4.1 生产者-消费…...

如何优化Spark作业的性能

优化Spark作业的性能是一个综合性的任务&#xff0c;涉及多个方面的调整和优化。以下是一些关键的优化策略&#xff1a; 一、开发调优 避免创建重复的RDD&#xff1a; 对于同一份数据&#xff0c;只应该创建一个RDD&#xff0c;避免多次创建RDD来增加性能开销。在对不同的数据…...