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

三、nginx实现lnmp+discuz论坛

lnmp 

l:linux操作系统

n:nginx前端页面

m:mysql数据库,账号密码,数据库等等都保存在这个数据库里面

p:php——nginx擅长处理的是静态页面,页面登录账户,需要请求到数据库,通过php把动态请

求转发到数据库。

如图所示:nginx和数据库mysql之间的访问以及结果的返回都需要中介php。

实现lnmp+discuz论坛

首先提前准备好mysql、php和discuz的安装包

第一步:安装配置数据库mysql

1、安装mysql的依赖环境

apt install -y libaio1 libncurses5

2、解压mysql安装包

tar  -xf  mysql-8.0.30-el7-x86_64.tar.gz

     重命名成mysql并移至/usr/local/目录下

mv mysql-8.0.30-el7-x86_64.tar.gz  mysql

mv mysql  /usr/local/

3、创建mysql账户

useradd  -s   /sbin/nologin  mysql

     创建完之后记得要查看下是否成功

     修改mysql这个目录的所有者和所在组

chown  mysql.mysql   -R   /usr/local/mysql/

4、添加mysql主配置文件

vim   /etc/my.cnf

[client]    #客户端
port = 3306    #mysql监听端口
socket=/usr/local/mysql/mysql.sock   #mysql套接字的文件

[mysqld]    #服务端
user = mysql
basedir=/usr/local/mysql     #安装目录
datadir=/usr/local/mysql/data    #数据保存目录
port = 3306
character-set-server=utf8     #指定字符集
pid-file = /usr/local/mysql/mysqld.pid    #mysql的pid文件
socket=/usr/local/mysql/mysql.sock   #mysql的套接字文件
bind-address = 0.0.0.0     #表示任意地址都可以访问
skip-name-resolve      #mysql服务器将不再尝试将主机名解析为IP地址
max_connections=2048      #最大连接数2048
default-storage-engine=INNODB      #默认存储引擎为INNODB
max_allowed_packet=16M     #允许的最大数据包16M
server-id = 1        
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

     修改配置文件所属者

chown  mysql.mysql   /etc/my.cnf

     把配置文件整个添加到系统里以便系统能识别配置文件

5、初始化mysql

./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

6、复制mysql.server文件并赋权

     将/usr/local/mysql/support-files/下的mysql.serve,复制到/etc/init.d/,并改名成mysqld

     给mysqld添加可执行权限并重启mysqld服务

chmod +x /etc/init.d/mysqld
systemctl daemon-reload
systemctl restart mysqld

这时候查看3306端口显示mysqld已启来

7、初始化mysql账户

      先初始化mysql账户,初始化账户root,初始化密码123456

     登录mysql账户 

8、实现远程连接mysql

     首先创建一个远程登录identified的mysql用户并赋权,‘@’表示任意的IP地址

create user 'root'@'%' identified by '123456';

grant all privileges on *.* root'@'%';

使用alter修改加密方式,root用户加密方式就是密码123456

最后别忘了结束语flush,刷新权限

这时候我们使用Navicat便可实现远程连接

第二步:安排安装配置php

1、安装php依赖环境

apt-get install -y libgd-dev libjpeg8-dev libpng-dev libfreetype6-dev libxml2-dev zlib1g-dev libcurl4-openssl-dev libssl-dev libonig-dev libsqlite3-dev

2、解压安装php

     在安装包里面创建一个组nobody

     安装php组件

./configure \
--prefix=/usr/local/php \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-pdo-mysql \
--with-openssl \
--with-sqlite-devel \
--with-oniguruma-devel \
--enable-fpm \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip

最后安装php

make -j 4 && make install

3、配置php主配置文件php.ini

先创建两个软连接,使系统能识别php相关命令

php三个配置文件

  • php.ini:主配置文件
  • php-fpm.conf:进程服务端的配置文件
  • www.conf:扩展配置文件

三个配置文件都有,但是名字并不是这个,都需要我们改名配置。

首先我们将php源码包里面的主配置文件移动并修改名字到指定位置

修改php.ini配置文件,具体操作如下

  • #定义时区
  • #定义mysql套接字的文件

4、配置php进程服务端的配置文件php-fpm.conf

首先将指定目录下的php-fpm.conf.default文件复制成php-fpm.conf

接着vim配置php-fpm.conf,修改如下两行

5、配置php扩展配置文件www.conf

首先在指定目录下还是老样子改名,这个文件不需要配置

6、启动php

首先启动配置文件,操作命令如下

  • php-fpm:是一个fastcgi的管理工具,nginx的动态请求实际上是由php-fpm来处理
  • 9000:是php默认端口

接着把源码包的php-fpm.service复制到系统管理服务目录下,使系统可以直接控制php服务

最后重启php服务

注意要查看日志是否重启成功,防止假启动。

第三步:配置nginx

修改nginx主配置文件,添加一个location,并修改主location,配置和注释如下

配置完之后,重启nginx服务

第四步:安装配置discuz

1、首先给discuz创建一个数据库,给论坛使用,具体操作如下

CREATE DATABASE bbs;

CREATE USER 'bbsuser'@'%' IDENTIFIED BY 'admin123';
GRANT ALL PRIVILEGES ON bbs.* TO 'bbsuser'@'%';
FLUSH PRIVILEGES;

CREATE USER 'bbsuser'@'localhost' IDENTIFIED BY 'admin123';
GRANT ALL PRIVILEGES ON bbs.* TO 'bbsuser'@'localhost';
FLUSH PRIVILEGES;

2、接着我们测试nginx访问数据库是不是正常

我们新建一个目录/var/www/html/(nginx配置文件里面我们定义好的location),在它的里面创建一个脚本文件 index.php,添加如下,表示如果正常显示success,失败则是Fail。

这时候我们访问nginx的index.php这个location,显示成功

3、安装论坛

首先解压Discuz_X3.5_SC_UTF8.zip

unzip  Discuz_X3.5_SC_UTF8.zip   -D   /opt/Dis

接着将Dis目录下的upload文件夹复制到指定目录/var/www/html/下,并改名成bbs

然后给bbs修改权限

最后我们进入bbs/config/目录下,将如下两个文件复制重命名

并给重新赋权

第五步:实现论坛

我们登录http://192.168.254.14/bbs/install/index.php

实现安装论坛

 最后我们登录论坛http://192.168.254.14/bbs/index.php

相关文章:

三、nginx实现lnmp+discuz论坛

lnmp l:linux操作系统 n:nginx前端页面 m:mysql数据库,账号密码,数据库等等都保存在这个数据库里面 p:php——nginx擅长处理的是静态页面,页面登录账户,需要请求到数据库&#…...

OpenCV相机标定与3D重建(15)计算给定图像点对应的极线(epipolar lines)函数computeCorrespondEpilines()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 计算给定图像点对应的极线(epipolar lines)。 对于立体图像对中一个图像的点,计算这些点在另一个图像中对应的…...

【MySQL 进阶之路】了解 性能优化 与 设计原则

1.B树的优势 “矮胖”结构: 矮:B树的每个节点存储更多的关键字,从而减少了树的层级(最多三层),减少了磁盘I/O操作,提高了查询效率。胖:叶子节点存储实际的数据,并使用双…...

【银河麒麟高级服务器操作系统】修改容器中journal服务日志存储位置无效—分析及解决方案

了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer.kylinos.cn 文档中心:https://documentkylinos.cn 服务器环境以及配置 【机型】 整机类型/架构&am…...

轻量级的 HTML 模板引擎

Mustache 简介:Mustache 是一个非常简单的逻辑少的模板引擎,支持 HTML 文件中的占位符替换。它不会执行复杂的逻辑,只支持简单的变量替换。 安装: npm install mustache示例: const Mustache require(mustache);c…...

SQL 查询秘籍:提升你数据库技能的实用指南

目录 一、常用表表达式(CTEs) (一)快速了解 (二)上手演练 练习一:使用 CTE 来分解一般查询逻辑 练习二:使用 CTE 来分解复杂的查询逻辑 二、递归CTEs (一&#xf…...

Unity背包道具拖拽(极简版实现)

(感觉Csdn代码页面可以再大一点或者加个放大功能 不然得划着看不太舒服) 1.关键接口,三个拖拽相关的 2.关键参数,PointerEventData 一直没仔细看过,其实有包含鼠标相关的很多参数,鼠标点击次数&#xff…...

Vins_Fusion_gpu中source setup.bash

文章目录 source setup.bashsetup.bashsetup.sh脚本的主要功能脚本的详细解释1. **初始化和检查**2. **检测操作系统**3. **设置环境变量**4. **记住 shell 类型**5. **调用 Python 脚本生成环境变量**6. **加载环境钩子**7. **清理** 总结 _setup_util.py_setup_util.py 的完整…...

appium学习之二:adb命令

1、查看设备 adb devices 2、连接 adb connect IP:端口 3、安装 adb install xxx.apk 4、卸载 adb uninstall 【包名】 5、把对应目录下的1.txt文件传到手机sdcard下 adb push 1.txt /sdcard 6、进入对应的设备里 adb shell 7、切入sdcard目录 cd /sdcard 8、ls 查…...

Docker 安装 sentinel

Docker 安装系列 1、拉取 [rootTseng ~]# docker pull bladex/sentinel-dashboard Using default tag: latest latest: Pulling from bladex/sentinel-dashboard 4abcf2066143: Pull complete 1ec1e81da383: Pull complete 56bccb36a894: Pull complete 7cc80011dc6f: Pull…...

selinux

项目使用: neverallow 报错: 改法:typeattribute system_server system_writes_mnt_vendor_violators; selinux目录: Android/lagvm/LINUX/android/device/qcom/sepolicy_vndr Android/lagvm/LINUX/android/vendor/jidu/sepoli…...

C++11新特性之线程std::atomic

C std::atomic C 中 std::atomic 的定义及功能 std::atomic 是 C 标准库中提供的一种模板类,主要用于实现 原子操作,以保证多线程环境下对共享变量的安全操作。它提供了一种无需使用互斥锁即可安全访问共享数据的机制,避免了竞争条件。 特…...

MySQL中的通配符

1. 百分号 % 内部工作原理: 代表零个、一个或多个任意字符。LIKE A%:MySQL会从索引(如果存在)中查找所有以 "A" 开头的记录。如果没有索引,则需要扫描整个表。MySQL解析器将模式转换为可执行的形式&#x…...

【ETCD】【源码阅读】stepWithWaitOption方法解析

在分布式系统中,ETCD 作为一个强一致性、高可用的 key-value 存储系统,广泛应用于服务发现、配置管理等场景。ETCD 在内部采用了 Raft 协议来保证集群的一致性,而日志预提案(log proposal)是 Raft 协议中至关重要的一部…...

F12抓包01:启动、面板功能介绍、语言设置、前端样式调试

浏览器检查工具通常用来作为浏览器web服务测试过程中,辅助测试、排查问题、定位缺陷的工具。 本文以mac系统下,当前比较常用的Chrome浏览器为例,讲解“检查”工具的常用功能操作方法。 一、打开方式 **1、****鼠标操作:**浏览器…...

用前端html如何实现2024烟花效果

用HTML、CSS和JavaScript编写的网页&#xff0c;主要用于展示“2024新年快乐&#xff01;”的文字形式烟花效果。下面是对代码主要部分的分析&#xff1a; HTML结构 包含三个<canvas>元素&#xff0c;用于绘制动画。引入百度统计的脚本。 CSS样式 设置body的背景为黑…...

Maven学习(传统Jar包管理、Maven依赖管理(导入坐标)、快速下载指定jar包)

目录 一、传统Jar包管理。 &#xff08;1&#xff09;基本介绍。 &#xff08;2&#xff09;传统的Jar包导入方法。 1、手动寻找Jar包。并放置到指定目录下。 2、使用IDEA的库管理功能。 3、配置环境变量。 &#xff08;3&#xff09;传统的Jar包管理缺点。 二、Maven。 &#…...

mac电脑吧iso文件制作成u盘启动

1 查看u盘的具体路径 diskutil list 根据容量确认路径 /dev/disk2 2、卸载u盘 diskutil unmountDisk /dev/disk2 3、把iso文件写入u盘 sudo dd if/Users/dengjinshan/Downloads/Win11_24H2_Chinese_Simplified_x64.iso of/dev/disk2 bs1m 4、弹出u盘 diskutil eject /dev/dis…...

MySQL数据库的数据类型

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 MySQL数据库的数据类型 收录于专栏[MySQL] 本专栏旨在分享学习MySQL的一点学习笔记&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 数据类型分类 ​…...

【golang】匿名内部协程,值传递与参数传递

代码例子 下面代码的区别是直接调用循环变量&#xff0c;这里使用的就是这个变量的引用&#xff0c;而不是将参数的副本传递给协程执行 for task : range taskChan {wg.Add(1)go func() {defer wg.Done()task.Do() // 使用外部循环变量}() }func DistributeTasks(taskChan &…...

ByteByteGo-Top 9 HTTP Request Methods 9种HTTP请求方法

更详细准确的描述直接参考 https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Methods/CONNECT ​​​​​本片文章出自 EP85: Top 9 HTTP Request Methods - ByteByteGo Newsletter http request methods 1&#xff0c;GET 从服务器获取资源。 具有幂等性&#xff08;idempo…...

vue3实际案例分析:展示Vue拖拽功能的实现和效果

在现代前端开发中&#xff0c;交互式的用户界面是提升用户体验的关键因素之一。Vue.js&#xff0c;作为一个渐进式JavaScript框架&#xff0c;提供了灵活的组件系统和响应式数据绑定&#xff0c;使得实现复杂的用户交互变得简单。拖拽功能是其中一个常见的交互模式&#xff0c;…...

EasyExcel使用管道流连接InputStream和OutputStream

前言 Java中的InputSteam 是程序从其中读取数据&#xff0c; OutputSteam是程序可以往里面写入数据。 如果我们有在项目中读取数据库的记录&#xff0c; 在转存成Excel文件, 再把文件转存到OSS中。 生成Excel使用的是阿里的EasyExcel 。 他支持Output的方式写出文件内容。 而…...

源码分析之Openlayers中的ZoomToExtent控件

概述 在 Openlayers 中&#xff0c;ZoomToExtent控件可能用的不是很多&#xff0c;它主要用于将地图视图缩放到指定范围&#xff0c;应用场景就是重置地图、恢复初始状态。但是一般情况下&#xff0c;重置地图可能还会有其它操作&#xff0c;比如清除地图上绘制的点线面或者显…...

Acwing 算法基础课 数学知识 线性筛

线性筛素数 也叫欧拉筛。 int pr[maxn]; bool flg[maxn]; int main() {for (int i 2; i < maxn; i) {if (!flg[i]) pr[pr[0]] i;for (int j 1; i * pr[j] < n && j < pr[0]; j) {flg[i * pr[j]] 1;if (i % pr[j] 0) break; // 重点}} }这样筛的话&…...

K8s驱逐阈值调整

要在 Kubernetes 中调整 kubelet 驱逐阈值&#xff0c;特别是针对 imagefs 和 nodefs 的大小阈值&#xff0c;你可以通过修改 kubelet 的启动参数来实现。这些参数定义了在触发 Pod 驱逐之前&#xff0c;节点上的资源使用情况必须满足的硬性条件。 根据你提供的文件内容&#…...

【密码学】BUUCTF Crypto 1 - 12 题 WriteUp

今天&#xff0c;我在 BUUCTF 网站的 crypto section 开启了一场充满挑战的密码学之旅。 这次我一口气完成了 12 个板块的任务&#xff0c;虽然耗时较长&#xff0c;但每一次解密成功的瞬间都让我无比满足&#xff0c;那种沉浸在密码世界里的感觉真的很棒。 接下来&#xff0…...

【文献阅读】使用深度语音后验改进独立于说话者的构音障碍可懂度分类

原文名称: IMPROVED SPEAKER INDEPENDENT DYSARTHRIA INTELLIGIBILITY CLASSIFICATION USING DEEPSPEECH POSTERIORS 本文探讨了利用DeepSpeech后验概率改进说话人无关的构音障碍可理解性分类方法。作者提出了一个基于DeepSpeech(一种端到端的语音转文本引擎)输出的新特征集…...

Image Stitching using OpenCV

文章目录 简介图像拼接管道特征检测和提取特征检测特征提取 特征匹配强力匹配FLANN&#xff08;近似最近邻快速库&#xff09;匹配 单应性估计扭曲和混合结论 使用opencv进行图像拼接 原为url: https://medium.com/paulsonpremsingh7/image-stitching-using-opencv-a-step-by-s…...

如何将CSDN的文章保存为PDF?

目录 1、打开CSDN文章2、按F12或者鼠标右键选择检查并进入控制台3、在控制台输入以下代码4、然后回车&#xff08;Enter&#xff09;如果纵向显示不全就横向 1、打开CSDN文章 2、按F12或者鼠标右键选择检查并进入控制台 3、在控制台输入以下代码 (function(){ $("#side&q…...

设计模式之工厂模式:从汽车工厂到代码工厂

~犬&#x1f4f0;余~ “我欲贱而贵&#xff0c;愚而智&#xff0c;贫而富&#xff0c;可乎&#xff1f; 曰&#xff1a;其唯学乎” 工厂模式概述 想象一下你走进一家4S店准备买车。作为顾客&#xff0c;你不需要知道汽车是如何被制造出来的&#xff0c;你只需要告诉销售顾问&a…...

在 Ubuntu 20.04 上离线安装和配置 Redis

下面是从零开始配置 Redis 的完整步骤&#xff0c;包括从安装 Redis 到离线安装 Redis 包的步骤。本文将覆盖如何从下载 Redis 安装包、手动安装 Redis、创建所需目录、配置 Redis、以及如何配置 Redis 为系统服务&#xff0c;确保服务可以在启动时自动运行。 步骤 1: 准备环境…...

Redis的哨兵机制

目录 1. 文章前言2. 基本概念2.1 主从复制的问题2.2 人工恢复主节点故障2.3 哨兵机制自动恢复主节点故障 3. 安装部署哨兵&#xff08;基于docker&#xff09;3.1 安装docker3.2 编排redis主从节点3.3 编排redis-sentinel节点 4. 重新选举5. 选举原理6. 总结 1. 文章前言 &…...

服务器数据恢复—热备盘上线过程中硬盘离线导致raid5阵列崩溃的数据恢复案例

服务器数据恢复环境&#xff1a; 两组分别由4块SAS接口硬盘组建的raid5阵列&#xff0c;两组raid5阵列划分LUN并由LVM管理&#xff0c;格式化为EXT3文件系统。 服务器故障&#xff1a; RAID5阵列中一块硬盘未知原因离线&#xff0c;热备盘自动激活上线替换离线硬盘。在热备盘上…...

Android12 设置无home属性的apk为launcher

目标apk的包类名 QSSI.12/device/qcom/qssi/system.prop// add start target_app_package_name=com.mangechargespot.app target_app_class_name=com.mangechargespot.app.ui.activity.SplashActivity // add end...

STM32F407+LAN8720A +LWIP +FreeRTOS ping通

使用STM32CUBEIDE自带的 LWIP和FreeROTS 版本说明STM32CUBEIDE 操作如下1. 配置RCC/SYS2. 配置ETH/USART3. 配置EHT_RESET/LED4. 配置FreeRTOS5. 配置LWIP6. 配置时钟7. 生成单独的源文件和头文件,并生成代码8. printf重定义9. ethernetif.c添加lan8720a复位10. MY_LWIP_Init …...

构建虚幻引擎中的HUD与UI

在游戏开发中,用户界面(UI)和头部显示(HUD)是玩家体验的重要组成部分。它们提供了关键信息,并增强了游戏的互动性。虚幻引擎(Unreal Engine, UE)以其强大的可视化脚本系统Blueprint和C++ API支持,为开发者提供了一个灵活且功能丰富的环境来创建复杂的UI和HUD元素。 本…...

EXCEL数据清洗的几个功能总结备忘

目录 0 参考教材 1 用EXCEL进行数据清洗的几个功能 2 删除重复值&#xff1a; 3 找到缺失值等 4 大小写转换 5 类型转化 6 识别空格 0 参考教材 精通EXCEL数据统计与分析&#xff0c;中国&#xff0c;李宗璋用EXCEL学统计学&#xff0c;日EXCEL统计分析与决策&#x…...

【CSS in Depth 2 精译_076】12.4 @font-face 的工作原理

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第四部分 视觉增强技术 ✔️【第 12 章 CSS 排版与间距】 ✔️ 12.1 间距设置 12.1.1 使用 em 还是 px12.1.2 对行高的深入思考12.1.3 行内元素的间距设置 12.2 Web 字体12.3 谷歌字体12.4 font-fac…...

深入源码解析:Spring Boot 如何加载 Servlet 、Filter 与 Listener

我们知道&#xff0c;Spring Boot 是在 Spring MVC 的基础上进行了封装&#xff0c;以简化开发者的工作量。尽管如此&#xff0c;Spring Boot 的底层架构依然离不开 Spring MVC 的核心组件&#xff0c;如 Servlet、Filter、Listener&#xff0c;以及RequestMappingHandlerMappi…...

Vue 让视图区域滑到指定位置、回到顶部

滑倒指定位置&#xff1a;获取指定的dom&#xff0c;然后用scrollIntoView使dom出现在视图区域 回到顶部&#xff1a;操作父级dom的scrollTop 0&#xff0c;让该父级下的列表回到顶部 代码如下 <template><div class"testDemo"><div><el-bu…...

C# 属性(Property)

C# 属性(Property) C# 中的属性(Property)是一种用于访问和设置类或结构成员的值的特殊类型的方法。属性允许开发者以字段的形式访问方法,提供了更为安全和灵活的数据封装。在本文中,我们将深入探讨 C# 属性的概念、用途、以及如何有效地使用它们。 属性的定义 属性由…...

Ubuntu20.04调整swap分区大小笔记

Ubuntu20.04调整swap分区大小笔记 参考&#xff1a;https://blog.csdn.net/sunyuhua_keyboard/article/details/142485764 第一步 禁用swap $ cat /etc/fstab # /etc/fstab: static file system information. # # Use blkid to print the universally unique identifier fo…...

【 JAVA中常见的集合操作】

JAVA中常见的集合操作 Java 提供了丰富的集合框架&#xff08;Java Collections Framework&#xff09;&#xff0c;包括多种集合接口和实现类。集合操作可以分为基本操作和高级操作。下面介绍一些常见的集合操作&#xff0c;并给出相应的代码示例。 基本集合操作 创建集合 …...

Kudu 源码编译-aarch架构 1.17.1版本

跟着官方文档编译 第一个问题&#xff1a;在make阶段时会报的问题&#xff1a; kudu/src/kudu/util/block_bloom_filter.cc:210:3: error: ‘vst1q_u32_x2’ was not declared in this scope kudu/src/kudu/util/block_bloom_filter.cc:436:5: error: ‘vst1q_u8_x2’ was no…...

JavaEE多线程案例之阻塞队列

上文我们了解了多线程案例中的单例模式&#xff0c;此文我们来探讨多线程案例之阻塞队列吧 1. 阻塞队列是什么&#xff1f; 阻塞队列是⼀种特殊的队列.也遵守"先进先出"的原则. 阻塞队列是⼀种线程安全的数据结构,并且具有以下特性: 当队列满的时候,继续⼊队列就会…...

Java Web 开发学习中:过滤器与 Ajax 异步请求

一、过滤器 Filter&#xff1a; 过滤器的概念与用途 在一个庞大的 Web 应用中&#xff0c;有许多资源需要受到保护或进行特定的预处理。过滤器就像是一位智能的守卫&#xff0c;站在资源的入口处&#xff0c;根据预先设定的规则&#xff0c;决定哪些请求可以顺利访问资源&…...

git SSL certificate problem: unable to get local issuer certificate

Git 客户端将会验证服务器端提供的SSL证书是否由受信任的证书颁发机构&#xff08;Certification Authority&#xff0c;CA&#xff09;签发。如果Git客户端无法找到或验证本地签发者证书&#xff0c;就会出现 unable to get local issuer certificate 或类似的错误。 该问题一…...

Vue.js 响应接口

Vue.js 响应接口 Vue.js,作为一个流行的前端JavaScript框架,以其响应式数据绑定和组件化开发而闻名。响应式系统是Vue.js的核心特性之一,它允许开发者创建高度动态和交互式的用户界面。本文将深入探讨Vue.js的响应接口,包括其工作原理、使用方法和最佳实践。 响应式原理 …...

vue2-代理打包问题;CORS针对AJAX 请求,而不适用于资源请求

打包后请求被转发出现问题&#xff08;如返回 405 Method Not Allowed&#xff09;&#xff0c;通常是由以下原因导致的&#xff1a; 1. 代理配置未生效 原因分析 在开发环境中&#xff0c;Vue CLI 的 devServer.proxy 仅在本地开发服务器&#xff08;npm run serve&#xff…...