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

基于 Nginx 的网站服务器与 LNMP 平台搭建指南

一,Nginx概述

(一)Nginx的作用

Nginx在网络服务器架构中扮演着多面的角色。其初始设定专注于静态网络数据的处理,能高效地为用户提供诸如HTML,CSS,JavaScript等静态资源。当面对动态数据时,借助php - fpm模块,Nginx能够解析php源代码,实现动态页面的生成与展示。在处理动态网络数据的策略上,动静分离是一大亮点。通过合理配置,静态资源由Nginx直接处理,而涉及动态数据处理的请求则被转发至专门的后端服务器,如Apache,如此一来,既充分发挥了Nginx在处理静态资源方面的优势,又借助后端服务器的动态处理能力,实现整个网站系统的搞笑运作。此外,Nginx的反向代理功能结合正则表达式,不仅能够精准地实现动静分离,还能对数据流量进行限速,有效防止恶意流量攻击或因流量过大导致服务器过载,确保服务器的稳定运行与数据的安全传输。

(二)Nginx优势

在高并发处理能力方面,Nginx表现卓越,每秒可处理30000至50000个并发请求。这得益于其高效的事件驱动模块和异步非堵塞的处理机制。与传统的服务器架构相比,当面对大量并发连接时,Nginx无需为每个连接创建独立的线程或者进程,而是通过少量的进程或线程高效地处理众多连接事件,极大地减少了系统资源的消耗。从硬件资源占用角度来看,Nginx极为“节俭”。它在运行过程中对CPU,内存等硬件资源的需求相对较低,能够在有限的硬件资源条件下,稳定地运行并提供优质的服务,这使得企业在搭建网站服务器时,可以在不投入大量昂贵硬件设备的情况下,依然能够应对高流量的访问需求,降低了运营成本。响应速度快是Nginx的又一显著优势。无论是处理静态资源请求还是动态页面的生成与响应,Nginx都能迅速地将数据返回给客户端。其内部优化的算法和高效的缓存机制,使得在面对重复请求时,能够快速地从缓存中获取数据,减少了数据处理和传输的时间,为用户带来流畅的浏览体验。

二,Nginx配置文件组成

(一)全局配置文件

全局配置文件犹如Nginx服务器的“总纲”,其中国所设定的参数会在整个服务器运行期间发挥基础性的作用,影响着服务器的核心运行逻辑与整体性能表现。例如,配置文件中的用户权限设置,日志记录的基本路径与级别等参数,会贯穿于服务器的各个操作环节,从启动时的资源初始化到运行过程中的数据处理与交互,都受到全局配置文件的制约与引导。

(二)I/O事件配置

I/O时间配置是Nginx性能优化的关键所在。在这部分配置中,可以精细地调整与输入输出操作相关的参数,如连接超时时间,缓冲区大小等。通过合理地设置这些参数,能够使Nginx更好地适应不同网络环境和业务需求。例如,在高延迟的网络环境中,,可以适当增大连接超时时间,以避免网络波动导致链接终端;而在处理大量小文件传输的场景下,优化缓冲区大小则可以提高数据传输效率,减少数据拷贝次数,从而显著提升服务器的数据处理吞吐量与响应速度。

(三)http配置

http配置主要聚焦于虚拟主机的架构与管理。在这一区域内,可以为不同的域名,IP地址或端口定义独立的虚拟主机配置。每个虚拟主机就像是一个独立的网站服务器,拥有自己的域名解析,网站根目录,访问日志设置等。通过这种灵活的配置方法,一台物理服务器可以轻松地承载多个网站应用,实现资源的高效利用与网站的隔离管理,满足企业多站点运营的需求。

三,安装配置Nginx服务器

(一)创建管理Nginx服务组和用户

在CentOS系统环境下,构建Nginx服务的第一步是创建专门的服务组和用户。执行以下命令:

[root@centos01 ~]# groupadd nginx
[root@centos01 ~]# useradd -M -s /sbin/nologin -g nginx nginx

(二)安装依赖程序

Nginx的正确编译与运行依赖于一些特定的程序库,使用yum命令安装这些依赖程序:

[root@centos01 ~]# yum -y install pcre-devel zlib-devel

pcre - devel 库为Nginx提供了强大的正则表达式支持,使其在处理URL重写,访问控制等功能是更加灵活高效;zlib - devel库则用于实现数据的压缩与解压缩功能,在网络传输过程中们可以对数据进行压缩,减少传输宽带的占用,提高数据传输效率。

(三)解压Nginx

将Nginx安装包解压到指定的目录,并进入解压后的源文件目录:

[root@centos01 ~]# tar zxf /mnt/nginx-1.6.0.tar.gz -C /usr/src/
[root@centos01 ~]# cd /usr/src/nginx-1.6.0/

此操作将Nignx的安装包解压到/usr/src/目录下,为后续的编译和安装操作做好准备。进入解压后的目录,方便执行后续的配置命令。

(四)配置Nginx服务

执行配置命令:

[root@centos01 nginx-1.6.0]#./configure --prefix=/usr/local/nginx/ --user=nginx --group=nginx --with-http_stub_status_module

”--prefix=/usr/local/nginx/“参数明确了Nginx的安装路径,将其安装在/usr/local/nginx/目录下,便于统一管理和维护;”--user=nginx“和”--group=nginx“参数指定了Nginx运行时所使用的用户和组,确保服务以专门的用户身份运行,遵循最小权限原则,提高系统安全性;”--with-http_status_module“模块,该模块能够提供Nginx的运行状态信息,如当前连接数,请求处理情况等,方便管理员实时监控服务器的运行状态并进行性能分析与故障排查。

(六)优化Nginx命令

通过创建符号链接来优化Nginx命令的使用便捷性:

[root@centos01 nginx-1.6.0]# ln -s /usr/local/sbin/* /usr/local/sbin/
[root@centos01 nginx-1.6.0]# cd

这一操作使得在系统的任意路径下都能够直接使用 Nginx 命令,无需输入完整的命令路径,提高了操作效率,尤其是在进行脚本编写或命令行快速操作时,更为便捷。

(七)Nginx命令的基础使用

查看Nginx版本:

[root@centos01 ~]# nginx -v

此命令简洁地输出 Nginx 的版本信息,帮助管理员快速确认当前服务器所安装的 Nginx 版本,以便在进行升级或故障排查时参考。

查看主配值文件是否存在错误:

[root@centos01 ~]# nginx -t

在对 Nginx 配置文件进行修改后,使用该命令可以在不启动或重启服务的情况下,快速检查配置文件的语法正确性。如果配置文件存在错误,命令会输出详细的错误信息,提示管理员进行修正,避免因配置错误导致服务启动失败或运行异常。

(八)Nginx目录作用

查看Nginx安装根目录:

[root@centos01 ~]# ls -ld /usr/local/nginx/

该命令展示了 Nginx 安装根目录的详细信息,包括权限设置、所有者等。在 Nginx 安装根目录下,包含了几个重要的子目录:

conf:存放主配置文件,如 nginx.conf。此文件是 Nginx 服务器的核心配置文件,包含了全局配置、虚拟主机配置、http 模块配置等众多关键信息。管理员通过编辑该文件,可以实现对 Nginx 服务器的全方位定制,从服务器的基本运行参数到各个虚拟主机的详细设置,都在这个文件中进行定义。

html:作为默认网站根目录,在初始状态下,存放着 Nginx 的默认页面文件。当用户访问服务器的根域名且未指定具体的页面路径时,Nginx 会从这个目录中查找并返回默认的页面文件。管理员可以将自己的网站文件放置在此目录下,或者根据虚拟主机的配置,将不同虚拟主机的网站文件放置在对应的目录中,并在配置文件中指定相应的根目录路径。

logs:用于存储 Nginx 的各类日志文件,如 access.log(访问日志)、error.log(错误日志)等。访问日志记录了用户对服务器的访问请求信息,包括访问时间、访问的 URL、客户端 IP 地址等,这些信息对于分析用户行为、统计流量数据以及安全审计都具有重要价值;错误日志则记录了 Nginx 在运行过程中遇到的各种错误信息,如配置错误、模块加载失败、文件读取错误等,管理员通过查看错误日志,可以快速定位和解决服务器运行过程中出现的问题。

sbin:包含 Nginx 服务命令,如启动、停止、重启等操作的可执行文件。这些命令是管理员对 Nginx 服务进行日常管理的重要工具,通过在命令行中执行相应的命令,可以灵活地控制 Nginx 服务的运行状态,实现服务器的启动与停止、配置文件的重新加载等操作。

四,配置虚拟机主机

(一)Nginx服务:

启动Nginx服务:

[root@centos01 ~]# nginx

此命令启动 Nginx 服务,在启动过程中,Nginx 会读取配置文件中的参数,初始化服务器资源,创建监听套接字,准备接收客户端的连接请求。如果配置文件正确且系统资源充足,服务将顺利启动并开始处理用户请求。

查看Nginx服务运行状态:

[root@centos01 ~]# netstat -anptu | grep nginx

该命令通过 netstat 工具查看当前系统中与 Nginx 相关的网络连接信息。输出结果包括 Nginx 监听的端口、连接的客户端 IP 地址以及对应的进程 ID 等信息。管理员可以根据这些信息判断 Nginx 服务是否正常运行,是否有客户端连接,以及连接的数量和状态等,从而及时发现潜在的问题或异常情况。

停止Nginx服务:

[root@centos01 ~]# killall nginx

或者使用更优雅的停止方式:

[root@centos01 ~]# killall -s QUIT nginx

“killall nginx” 命令直接向 Nginx 进程发送终止信号,强制停止服务。这种方式适用于需要立即停止服务的紧急情况,但可能会导致一些正在处理的请求中断。而 “killall -s QUIT nginx” 命令则向 Nginx 进程发送 QUIT 信号,使 Nginx 进程在处理完当前的请求后再停止服务,相对更加 “温和”,能够避免数据丢失或请求中断带来的不良影响。

重启Nginx服务:

[root@centos01 ~]# killall -s HUP nginx

此命令向 Nginx 进程发送 HUP 信号,促使 Nginx 重新加载配置文件并重启服务。在修改了 Nginx 配置文件后,使用该命令可以使新的配置生效,而无需完全停止和重新启动服务,从而减少服务中断的时间,提高服务器的可用性。

(二)Nginx服务控制脚本

创造脚本:

[root@centos01 ~]# vim /etc/init.d/nginx

脚本内容如下:

#!/bin/bash
# chkconfig: 35 80 21
# description: Nginx Service Control Script# Nginx 可执行文件路径
NGINX_CMD="/usr/local/nginx/sbin/nginx"
# Nginx 进程 PID 文件路径
NGINX_PID="/usr/local/nginx/logs/nginx.pid"# 检查 Nginx 是否已经在运行
is_running() {if [ -f "$NGINX_PID" ]; thenpid=$(cat "$NGINX_PID")if ps -p $pid > /dev/null 2>&1; thenreturn 0endendreturn 1
}# 启动 

相关文章:

基于 Nginx 的网站服务器与 LNMP 平台搭建指南

一,Nginx概述 (一)Nginx的作用 Nginx在网络服务器架构中扮演着多面的角色。其初始设定专注于静态网络数据的处理,能高效地为用户提供诸如HTML,CSS,JavaScript等静态资源。当面对动态数据时,借助php - fpm模块,Nginx能够解析php源代码,实现动态页面的生成与展示。在处理…...

OpenCV计算机视觉 03 椒盐噪声的添加与常见的平滑处理方式(均值、方框、高斯、中值)

上一篇文章:OpenCV计算机视觉 02 图片修改 图像运算 边缘填充 阈值处理 添加椒盐噪声 def add_peppersalt_noise(image, n10000):result image.copy()h, w image.shape[:2] # 获取图片的高和宽for i in range(n): # 生成n个椒盐噪声x np.random.randint(…...

WPF自定义窗口 输入验证不生效

WPF自定义窗口 输入验证不生效 WPF ValidationRule 不生效 WPF ValidationRule 不生效 解决方案&#xff1a;在WindowStyle的Template中添加AdornerDecorator标签。 <Style x:Key"WindowStyle1" TargetType"{x:Type Window}"><Setter Property&…...

【MySQL】 SQL优化讲解

一、优化前的思考 在定位到慢查询后&#xff0c;面试官常问如何优化或分析慢查询的SQL语句。若存在聚合查询、多表查询&#xff0c;可尝试优化SQL语句结构&#xff0c;如多表查询可新增临时表&#xff1b;若表数据量过大&#xff0c;可添加索引&#xff0c;但添加索引后仍慢则…...

05.HTTPS的实现原理-HTTPS的握手流程(TLS1.2)

05.HTTPS的实现原理-HTTPS的握手流程&#xff08;TLS1.2&#xff09; 简介1. TLS握手过程概述2. TLS握手过程细化3. 主密钥&#xff08;对称密钥&#xff09;生成过程4. 密码规范变更 简介 主要讲述了混合加密流程完成后&#xff0c;客户端和服务器如何共同获得相同的对称密钥…...

Java获取自身被调用点

1. 场景 打印日志的时候&#xff0c;需要获取是在哪个地方被调用了&#xff0c;把调用点的信息一并打印出来。 2. 获取自身被调用点的方法 可以通过获取线程的调用栈&#xff0c;遍历后找到调用点。 3. 代码实现 import java.text.SimpleDateFormat; import java.util.Dat…...

有序之美:C++ Set的哲学与诗意

文章目录 前言一.C set 的概念1.1 set 的定义1.2 set 的特点二. set 的构造方法2.1 常见构造函数2.1.1 示例&#xff1a;不同构造方法 2.2 相关文档 三.set 的常用操作3.1 插入操作详解3.1.1 使用 insert() 插入元素3.1.2 使用 emplace() 插入元素3.1.3 插入区间元素 3.2 查找操…...

22. 仿LISP运算

题目描述 LISP语言唯一的语法就是括号要配对 形如(OP P1 P2 ...)&#xff0c;括号内元素由单个空格分割。其中第一个元素OP为操作符&#xff0c;后续元素均为其参数&#xff0c;参数个数取决于操作符类型。注意:参数P1,P2也有可能是另外一个嵌套的(OP P1 P2...)&#xff0c;当前…...

大模型应用技术系列(三): 深入理解大模型应用中的Cache:GPTCache

前言 无论在什么技术栈中,缓存都是比较重要的一部分。在大模型技术栈中,缓存存在于技术栈中的不同层次。本文将主要聚焦于技术栈中应用层和底层基座之间中间件层的缓存(个人定位),以开源项目GPTCache(LLM的语义缓存)为例,深入讲解这部分缓存的结构和关键实现。 完整技术…...

MATLAB语言的网络编程

标题&#xff1a;MATLAB中的网络编程&#xff1a;深入探索与实践 一、引言 在现代科学和工程领域中&#xff0c;网络编程已经成为了数据处理、信号分析、模型构建等众多任务中不可或缺的一环。MATLAB作为一款强大的数学计算软件&#xff0c;不仅提供了丰富的数值计算功能&…...

边缘计算收益稳定

要使自己的PCDN&#xff08;Personal Content Delivery Network&#xff0c;个人内容分发网络&#xff09;收益更稳定&#xff0c;可以从以下几个方面进行努力&#xff1a; 一、选择合适的PCDN平台 平台稳定性&#xff1a;选择技术成熟、稳定性高的PCDN平台&#xff0c;确保内…...

计算机网络 (7)物理层下面的传输媒体

一、定义与位置 物理层是计算机网络体系结构的最低层&#xff0c;它位于传输媒体&#xff08;传输介质&#xff09;之上&#xff0c;主要作用是为数据链路层提供一个原始比特流的物理连接。这里的“比特流”是指数据以一个个0或1的二进制代码形式表示。物理层并不是特指某种传输…...

【GoPL】1.2 命令行参数

1.2 命令行参数 24-12-26 大部分程序处理输入&#xff0c;然后产生一些输出&#xff0c;这大概有点像计算的定义 但是程序怎么操作输入的数据&#xff1f;(用参数来操作)输入可能来自文件、网络连接、用户的键盘输入、命令行参数(不同的编程范式) os包提供函数和其他值来处理…...

高精度问题

目录 算法实现基础 高精度加法AB 测试链接 源代码 代码重点 高精度减法A-B 测试链接 源代码 代码重点 高精度乘法A*b和A*B 测试链接 源代码 代码重点 高精度除法A/b和A/B 测试链接 源代码 代码重点 高精度求和差积商余 算法实现基础 本算法调用STL…...

【无线通信】蜂窝系统——干扰与系统容量

干扰是蜂窝无线系统性能的主要限制因素。干扰来源包括同一小区中的其他移动终端、邻近小区正在进行的通话、其他基站在同一频段内的工作信号&#xff0c;或者任何不属于蜂窝系统的设备偶然向蜂窝频段泄漏信号。语音信道中的干扰会导致串音&#xff0c;使得用户在通话时听到背景…...

深入探索仓颉编程语言:函数与结构类型的终极指南

引言 仓颉编程语言是一种现代化、语法精炼的编程语言&#xff0c;其设计目标是提供高度的灵活性与高性能的执行效率。函数与结构类型是仓颉语言的两大基础模块&#xff0c;也是开发者需要掌握的核心。本文将详细讲解仓颉语言中函数和结构类型的特性&#xff0c;辅以代码实例和…...

010-spring-后置处理器(重要)

org.mybatis.spring.mapper.MapperScannerConfigurer...

SQL实现新年倒计时功能

马上就到 2025 年了&#xff0c;给大家分享一个使用 SQL 实现的新年倒计时功能。 以下是 PostgreSQL 语法&#xff1a; DO $$ DECLAREdiff INTERVAL; BEGINRAISE NOTICE 2025新年倒计时开始&#xff1a;;LOOP-- 计算当前时间距离2025年的时间间隔diff age(timestamp 2025-01…...

list模拟实现

目录 节点结构 构造函数 insert erase push_back push_front pop_front pop_back 拷贝构造 析构函数 赋值重载 正向迭代器实现 clear 反向迭代器实现 测试list 附完整代码 参照数据结构篇: 带头双向循环链表 节点结构 namespace dck {template <class T&g…...

JVM【Java虚拟机】基础知识(五)

1. 双亲委派机制 由于Java虚拟机中有多个类加载器&#xff0c;双亲委派机制的核心是解决一个类到底由谁加载的问题。 &#x1f4a1;双亲委派机制有什么用&#xff1f; 1.保证类加载的安全性 通过双亲委派机制避免恶意代码替换JDK中的核心类库&#xff0c;比如java.lang.Str…...

阿尔萨斯(JVisualVM)JVM监控工具

文章目录 前言阿尔萨斯(JVisualVM)JVM监控工具1. 阿尔萨斯的功能2. JVisualVM启动3. 使用 前言 如果您觉得有用的话&#xff0c;记得给博主点个赞&#xff0c;评论&#xff0c;收藏一键三连啊&#xff0c;写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差&#xff…...

Vue BPMN Modeler流程图

1、参考地址 git clone https://github.com/evanyangg/vue-bpmn-modeler.git 2、安装bpmn.js npm install bpmn-js --save 3、使用bpmn.js <template><div class"containers"><div class"canvas" ref"canvas"></div&g…...

python通过正则匹配SQL

pattern r"(?:[^;]|(?:\\.|[^])*);" sql_list [match.group().strip() for match in re.finditer(pattern, execute_sql) if match.group().strip()]for sql in sql_list:print(sql)(?:[^;]|(?:\\.|[^])*); 匹配 连续的非分号内容 或 单引号包裹的字符串&#…...

设置首选网络类型以及调用Android框架层的隐藏API

在Android SDK中提供的framework.jar是阉割版本的&#xff0c;比如有些类标记为hide&#xff0c;这些类不会被打包到这个jar中&#xff0c;而有些只是类中的某个方法或或属性被标记为hide&#xff0c;则这些类或属性会被打包到framework.jar&#xff0c;但是我们无法调用&#…...

观察者模式和发布-订阅模式有什么异同?它们在哪些情况下会被使用?

大家好&#xff0c;我是锋哥。今天分享关于【观察者模式和发布-订阅模式有什么异同&#xff1f;它们在哪些情况下会被使用&#xff1f;】面试题。希望对大家有帮助&#xff1b; 观察者模式和发布-订阅模式有什么异同&#xff1f;它们在哪些情况下会被使用&#xff1f; 1000道 …...

如何保证mysql数据库到ES的数据一致性

1.同步双写方案 在代码中对数据库和ES进行双写操作&#xff0c;确保先更新数据后更新ES。 优点&#xff1a; 数据一致性&#xff1a;双写策略可以保证在MySql和Elasticsearch之间数据的强一致性&#xff0c;因为每次数据库的变更都会在Elasticsearch同步反映。实时性&#xf…...

RabbitMQ 的7种工作模式

RabbitMQ 共提供了7种⼯作模式,进⾏消息传递,. 官⽅⽂档:RabbitMQ Tutorials | RabbitMQ 1.Simple(简单模式) P:⽣产者,也就是要发送消息的程序 C:消费者,消息的接收者 Queue:消息队列,图中⻩⾊背景部分.类似⼀个邮箱,可以缓存消息;⽣产者向其中投递消息,消费者从其中取出消息…...

红黑树 Red-Black Tree介绍

1. 红黑树的定义 红黑树是一种具有如下性质的二叉搜索树&#xff1a; 每个节点是红色或黑色。根节点是黑色。所有叶子节点都是黑色的空节点&#xff08;NIL节点&#xff09;&#xff0c;即哨兵节点。如果一个节点是红色&#xff0c;那么它的子节点一定是黑色。&#xff08;不存…...

我的创作纪念日—致敬未来的自己

机缘 为什么想去写文章呢&#xff1f; 1、想把自己学的知识和技能做一个总结。 2、想给多年后的自己留下一些财富。 3、希望自己分享的知识和经验也能帮到其他有需要的人 收获 在创作的过程中都有哪些收获&#xff1f; 1、每次对知识的总结&#xff0c;都让我的技能更加的…...

Android Studio IDE环境配置

​需要安装哪些东西&#xff1a; Java jdk Java Downloads | OracleAndroid Studio 下载 Android Studio 和应用工具 - Android 开发者 | Android DevelopersAndroid Sdk 现在的Android Studio版本安装时会自动安装&#xff0c;需要注意下安装的路径Android Studio插件…...

matlab中的cell

在MATLAB中&#xff0c;cell 是一种非常重要的数据类型&#xff0c;它能够存储不同类型和大小的数据&#xff0c;这使得它非常灵活&#xff0c;适用于处理复杂的数据结构。 1. 基本介绍 cell 类型的变量可以存储不同类型的数据&#xff0c;如数值、字符、结构体、甚至其他的 …...

Vue项目中env文件的作用和配置

在实际项目的开发中&#xff0c;我们一般会经历项目的开发阶段、测试阶段和最终上线阶段&#xff0c;每一个阶段对于项目代码的要求可能都不尽相同&#xff0c;那么我们如何能够游刃有余的在不同阶段下使我们的项目呈现不同的效果&#xff0c;使用不同的功能呢&#xff1f;这里…...

基于致远OA+慧集通平台的企业主数据管理设计方案(一)

目标 1、实现集团组织主数据的集中统一管理&#xff0c;包括到主数据在致远中的审批新增、编辑、分发等操作&#xff1b; 2、实现集团用户系统权限的集中管理&#xff0c;统一在致远平台中为用户配置各系统中的权限&#xff0c;配置完成后&#xff0c;可以自动或手动的分发到…...

vue前端实现同步发送请求,可设置并发数量【已封装】

新建 TaskManager.js export default class TaskManager {constructor(maxConcurrentTasks 1) {// 最大并发任务数// to do// 并发任务数大于1 接口开始有概率返回空值&#xff0c;推测是后端问题this.maxConcurrentTasks maxConcurrentTasks;this.currentTasks 0;this.tas…...

vue3使用vant日历组件(calendar),自定义日历下标的两种方法

在vue3中使用vant日历组件&#xff08;calendar&#xff09;自定义下标的两种方法&#xff0c;推荐使用第二种&#xff1a; 日期下方加小圆点&#xff1a; 一、使用伪元素样式实现(::after伪元素小圆点样式会被覆盖&#xff0c;只能添加一个小圆点) 代码如下&#xff08;示例…...

Java线程池面试题

为什么要用线程池 降低资源消耗&#xff1a;通过重复利用已创建的线程降低线程创建和销毁造成的消耗提高响应速度&#xff1a;当任务到达时&#xff0c;任务可以不需要等到线程创建就能立即执行方便管理线程&#xff1a;线程是稀缺资源&#xff0c;如果无条件地创建&#xff0…...

我的 2024 年终总结

2024 年&#xff0c;我离开了待了两年的互联网公司&#xff0c;来到了一家聚焦教育机器人和激光切割机的公司&#xff0c;没错&#xff0c;是一家硬件公司&#xff0c;从未接触过的领域&#xff0c;但这还不是我今年最重要的里程碑事件 5 月份的时候&#xff0c;正式提出了离职…...

Mysql8 数据库安装及主从配置

一、MySQL8 安装 下载 MySQL 8 的安装包并将其上传到服务器。将安装包解压到指定的目录&#xff0c;例如 /opt/mysql8。创建一个名为 mysql 的用户组和一个名为 mysql 的用户&#xff0c;并将用户添加到组中。同时&#xff0c;设置用户密码并更改用户的主目录和默认 shell。配…...

Unity中UGUI的Button动态绑定引用问题

Unity中UGUI的Button动态绑定引用问题 问题代码修改代码如下总结 问题代码 Button动态绑定几个连续的按钮事件时使用for循环的i做按钮的id发现按钮点击对应不上。如下代码 for (int i 0; i < 10; i) {btn[i].onClick.AddListener(() >{Click(i);}); }/// <summary&…...

测试基础之测试分类

软件测试是确保软件产品满足预期功能、性能和用户体验要求的关键环节。它的主要目的是通过系统化的方法发现并修复软件中的缺陷&#xff0c;从而提高软件的质量和可靠性。在软件开发生命周期的不同阶段执行测试&#xff0c;以尽早发现潜在的错误或类型&#xff0c;早期发现缺陷…...

VS2022 中的 /MT /MTd /MD /MDd 选项

我们有时编译时,需要配置这个 运行库,指定C/C++运行时库的链接方式。 如下图 那么这些选项的含义是什么? /MT:静态链接多线程库 /MT选项代表“Multi-threaded Static”,即多线程静态库。选择此选项时,编译器会从运行时库中选择多线程静态连接库来解释程序中的代码,…...

socket.io

import { ref } from "vue" import io from "socket.io-client" import { getToken } from "./auth" const socket ref(null) const serverUri import.meta.env.VITE_APP_API_URL// 你的服务器地址 // const serverUri "http://172.16.3…...

latex常见问题汇总

文章目录 单行多图显示双栏插入图片 单行多图显示 \begin{figure}[t!] % case 1\centering\setlength{\tabcolsep}{0.5pt} % 图片之间的距离为0.5 point\begin{tabular}{ccc}\includegraphics[width0.30\linewidth, height0.33\linewidth]{pic/xuLun/thin.png} &\includeg…...

从数据到决策:如何利用多维度交叉分析提升企业整体效能

随着“GenAI”技术的崛起&#xff0c;数据分析在各行各业的应用也发生了深远的变化。IDC中国的调研数据显示&#xff0c;68%的企业在落地GenAI应用时认为&#xff0c;梳理和整合内部数据资产是首要任务&#xff1b;66%的企业则表示&#xff0c;搭建数据湖等数据底座是推动智能化…...

Nmap基础入门及常用命令汇总

Nmap基础入门 免责声明&#xff1a;本文单纯分享技术&#xff0c;请大家使用过程中遵守法律法规~ 介绍及安装 nmap是网络扫描和主机检测的工具。作为一个渗透测试人员&#xff0c;必不可少的就是获取信息。那么nmap就是我们从互联网上获取信息的途径&#xff0c;我们可以扫描互…...

【gopher的java学习笔记】spring web接口404了怎么办

今天新搭了一个spring boot带spring web的工程&#xff0c;不得不说&#xff0c;这java的生态是比golang要齐全一点&#xff0c;各种脚手架工程应有尽有。 因为我们的目标是有个web service&#xff0c;所以spring boot的工程搭好之后&#xff0c;就寻思着给这个spring应用添加…...

constexpr 的概念及用途

constexpr 的概念及用途 constexpr 是 C11 引入的关键字&#xff0c;用于定义常量表达式。常量表达式是指在编译时能够求值的表达式&#xff0c;也就是说&#xff0c;constexpr 用来标识那些编译器在编译时就可以计算结果的变量、函数或对象。 constexpr 在 C 中非常重要&…...

开放世界目标检测 Grounding DINO

开放世界目标检测 Grounding DINO flyfish Grounding DINO 是一种开创性的开放集对象检测器&#xff0c;它通过结合基于Transformer的检测器DINO与基于文本描述的预训练技术&#xff0c;实现了可以根据人类输入&#xff08;如类别名称或指代表达&#xff09;检测任意对象的功…...

【Spring】基于XML的Spring容器配置—— <import>标签的使用

Spring容器是Spring框架的核心部分&#xff0c;负责管理应用程序中的对象及其生命周期。Spring容器的配置方式有多种&#xff0c;其中基于XML的配置方式仍然被广泛使用&#xff0c;尤其是在一些老旧项目中。本文将详细介绍Spring容器配置中的<import>标签的使用&#xff…...

GemPy 3 地质建模快速入门指南

GemPy 3简介 GemPy 3是一款基于Python的开源三维结构地质建模软件。 GemPy 3由德国的Terranigma Solutions公司维护&#xff0c;并在GitHub上进行开源开发。它允许用户从界面和方向数据中自动创建复杂的地质模型&#xff0c;并支持随机建模以解决参数和模型不确定性问题。新版…...