Nginx学习笔记:常用命令端口占用报错解决Nginx核心配置文件解读
Nginx
- 1. 基础命令
- 1.1 重新加载systemd配置
- 1.2 停止Nginx服务
- 1.3 启动Nginx服务
- 1.4 重启Nginx服务
- 1.5 查看Nginx服务状态
- 1.6 测试配置和重载Nginx
- 2. 额外命令
- 2.1 启用开机自启
- 2.2 禁用开机自启
- 2.3 强制关闭所有Nginx进程
- 3. Nginx端口占用解决方案
- 3.1 查找占用端口8090的进程
- 3.2 终止占用端口的进程
- 3.3 验证端口是否已被释放
- 3.4 重新启动Nginx
- 3.5 修改Nginx配置(可选)
- 4. Nginx配置文件
- 4.1 Web前端资源目录
- 4.2 Conf 配置文件
- 4.2.1 基本配置
- 4.2.2 默认根目录
- 4.2.3 特定路径处理
- 4.3 PID(进程标识符)
- 4.3.1 nginx.conf 中的 PID
- 4.3.2 nginx.service 中的 PID
Nginx(发音为 “engine-x”)是一款高性能的开源Web服务器软件,同时也可用作反向代理、负载均衡器和HTTP缓存。最初由俄罗斯程序员Igor Sysoev开发,并于2004年首次公开发布。Nginx以其高效的并发处理能力、低资源消耗以及高可靠性而著称,特别适用于高流量网站。
1. 基础命令
这些命令适用于大多数Linux发行版,如Ubuntu, CentOS等,它们使用systemd作为初始化系统和服务管理器。
1.1 重新加载systemd配置
当您修改了Nginx的配置文件后,需要重新加载systemd以识别这些更改。
sudo systemctl daemon-reload
1.2 停止Nginx服务
sudo systemctl stop nginx
1.3 启动Nginx服务
sudo systemctl start nginx
1.4 重启Nginx服务
如果您对配置进行了更改,并希望这些更改生效,可以使用restart命令。
sudo systemctl restart nginx
1.5 查看Nginx服务状态
用于检查Nginx服务的状态,包括是否正在运行、最后一次启动时间等信息。
sudo systemctl status nginx
1.6 测试配置和重载Nginx
每次修改配置文件后,使用以下命令进行测试并重载Nginx。
sudo nginx -t # 测试配置文件是否正确
sudo systemctl reload nginx # 重新加载配置
2. 额外命令
2.1 启用开机自启
确保Nginx服务随系统启动而自动启动。
sudo systemctl enable nginx
2.2 禁用开机自启
相反地,如果我们不希望Nginx随系统启动而自动启动,可以使用如下命令。
sudo systemctl disable nginx
2.3 强制关闭所有Nginx进程
仅建议在常规停止方法(如systemctl stop nginx
)不起作用时使用。
pkill -9 nginx
请注意,直接杀掉Nginx进程(使用pkill -9 nginx
)可能会导致数据丢失或损坏,因为它不会给Nginx机会正常关闭连接和保存状态。因此,尽量使用systemctl stop
或其他推荐的方法来停止服务。
3. Nginx端口占用解决方案
错误信息 nginx: [emerg] bind() to 0.0.0.0:8090 failed (98: Address already in use)
表明端口8090已经被其他进程占用,导致Nginx无法绑定到该端口。要解决这个问题,我们需要找出并处理占用该端口的进程。以下是具体的步骤:
3.1 查找占用端口8090的进程
在Linux系统中,可以使用以下命令来查找哪个进程正在使用端口8090:
sudo lsof -i :8090
或者使用netstat
或ss
命令(如果已安装):
sudo netstat -tuln | grep :8090
sudo ss -tuln | grep :8090
这些命令将显示占用端口8090的进程ID(PID)和相关信息。
3.2 终止占用端口的进程
找到占用端口8090的进程后,你可以通过其PID终止该进程。假设PID为12345,可以使用以下命令终止它:
sudo kill 12345
如果进程无法正常终止,可以强制终止:
sudo kill -9 12345
注意:请确保你终止的是正确的进程,并且了解终止该进程可能带来的影响。
3.3 验证端口是否已被释放
再次运行上述命令(如lsof -i :8090
),确认端口8090已经不再被任何进程占用。
3.4 重新启动Nginx
现在尝试重新启动Nginx:
sudo systemctl restart nginx
或者
sudo service nginx restart
3.5 修改Nginx配置(可选)
如果我们不想终止占用端口8090的进程,可以选择修改Nginx配置文件,使用另一个未被占用的端口。编辑Nginx配置文件(通常位于 /etc/nginx/nginx.conf
或 /etc/nginx/conf.d/
目录下的某个文件),找到监听端口的部分,例如:
server {listen 8090;...
}
将其改为另一个可用端口,如8091:
server {listen 8091;...
}
然后保存更改,并重新加载Nginx配置:
sudo nginx -s reload
通过以上步骤,我们应该能够解决端口冲突的问题,并使Nginx成功启动。
4. Nginx配置文件
4.1 Web前端资源目录
假设我们的Web前端资源文件夹目录长这样:
/home/miqi/web/
├── first/ # 默认根目录
│ ├── index.html # 默认首页文件
│ ├── index.htm # 另一个默认首页文件(如果有)
│ └── resources/ # 资源文件夹
│ ├── images/ # 图片文件
│ ├── css/ # CSS 样式表
│ └── js/ # JavaScript 文件
│
├── news/ # 对应 /category/180918.html
│ ├── 180918.html # 指定的HTML文件
│ ├── index.html # 其他可能的首页文件
│ ├── index.htm # 其他可能的首页文件(如果有)
│ └── resources/ # 资源文件夹
│ ├── images/ # 图片文件
│ ├── css/ # CSS 样式表
│ └── js/ # JavaScript 文件
│
├── about/ # 对应 /category/180917.html
│ ├── 180917.html # 指定的HTML文件
│ ├── index.html # 其他可能的首页文件
│ ├── index.htm # 其他可能的首页文件(如果有)
│ └── resources/ # 资源文件夹
│ ├── images/ # 图片文件
│ ├── css/ # CSS 样式表
│ └── js/ # JavaScript 文件
│
├── online/ # 对应 /category/180920.html
│ ├── 180920.html # 指定的HTML文件
│ ├── index.html # 其他可能的首页文件
│ ├── index.htm # 其他可能的首页文件(如果有)
│ └── resources/ # 资源文件夹
│ ├── images/ # 图片文件
│ ├── css/ # CSS 样式表
│ └── js/ # JavaScript 文件
│
├── product/ # 对应 /category/180919.html
│ ├── 180919.html # 指定的HTML文件
│ ├── index.html # 其他可能的首页文件
│ ├── index.htm # 其他可能的首页文件(如果有)
│ └── resources/ # 资源文件夹
│ ├── images/ # 图片文件
│ ├── css/ # CSS 样式表
│ └── js/ # JavaScript 文件
│
├── contact/ # 对应 /category/180921.html
│ ├── 180921.html # 指定的HTML文件
│ ├── index.html # 其他可能的首页文件
│ ├── index.htm # 其他可能的首页文件(如果有)
│ └── resources/ # 资源文件夹
│ ├── images/ # 图片文件
│ ├── css/ # CSS 样式表
│ └── js/ # JavaScript 文件
│
└── client/ # 对应 /category/180928.html├── 180928.html # 指定的HTML文件├── index.html # 其他可能的首页文件├── index.htm # 其他可能的首页文件(如果有)└── resources/ # 资源文件夹├── images/ # 图片文件├── css/ # CSS 样式表└── js/ # JavaScript 文件
4.2 Conf 配置文件
这时候就会有一个位于 /usr/local/nginx/conf/nginx.conf
的Nginx服务器核心配置文件,主要用于定义服务器的全局设置、HTTP和流模块的配置参数,以及对前端响应进行精细化控制。在其中是server
字段中
server {listen 8090;server_name localhost;#charset koi8-r;#access_log logs/host.access.log main;location / {root /home/miqi/web/first/;index index.html index.htm;}location /category/180918.html {alias /home/miqi/web/news/;index 180918.html index.html index.htm;}location /category/180917.html {alias /home/miqi/web/about/;index 180917.html index.html index.htm;} location /category/180920.html {alias /home/miqi/web/online/;index 180920.html index.html index.htm;} location /category/180919.html {alias /home/miqi/web/product/;index 180919.html index.html index.htm;} location /category/180921.html {alias /home/miqi/web/contact/;index 180921.html index.html index.htm;} location /category/180928.html {alias /home/miqi/web/client/;index 180928.html index.html index.htm;}
这段Nginx配置文件定义了一个虚拟服务器,监听在8090端口,并且为不同的URL路径设置了不同的处理规则。以下是对每个部分的详细解释:
4.2.1 基本配置
server {listen 8090;server_name localhost;
listen 8090;
:指定服务器监听8090端口。server_name localhost;
:指定服务器名称为localhost
,即只响应来自本地主机的请求。
4.2.2 默认根目录
location / {root /home/miqi/web/first/;index index.html index.htm;
}
location / { ... }
:匹配根路径(/
)的所有请求。root /home/miqi/web/first/;
:指定文档根目录为/home/miqi/web/first/
。这意味着所有对根路径的请求都会从这个目录中查找文件。index index.html index.htm;
:如果请求的是一个目录,则尝试返回index.html
或index.htm
文件作为默认首页。
4.2.3 特定路径处理
接下来的部分定义了多个特定路径的处理规则,使用 alias
指令来指定这些路径对应的物理目录。
location /category/180918.html {alias /home/miqi/web/news/;index 180918.html index.html index.htm;
}
location /category/180918.html { ... }
:匹配/category/180918.html
路径的请求。alias /home/miqi/web/news/;
:将请求映射到/home/miqi/web/news/
目录下。注意,alias
会替换整个匹配部分(包括/category/180918.html
),所以实际访问的是/home/miqi/web/news/180918.html
。index 180918.html index.html index.htm;
:指定优先级最高的索引文件是180918.html
,其次是index.html
和index.htm
。
4.3 PID(进程标识符)
在Nginx的配置和管理中,nginx.conf
和 nginx.service
所涉及的PID(进程标识符)有不同的用途和配置方式。
4.3.1 nginx.conf 中的 PID
在 nginx.conf
文件中,你可以指定一个指令来定义 Nginx 主进程写入其PID的位置。这个指令是 pid
。默认情况下,Nginx 的PID文件路径可能取决于操作系统和安装方式,但通常位于 /var/run/nginx.pid
或 /usr/local/nginx/logs/nginx.pid
。你可以在 nginx.conf
中通过如下方式自定义PID文件的位置:
pid /path/to/nginx.pid;
这条指令指定了Nginx主进程将它的进程ID写入到哪个文件中。这对于控制Nginx进程(例如发送信号重启或停止服务)非常有用。
4.3.2 nginx.service 中的 PID
nginx.service
文件是 systemd 服务单元文件的一部分,用于定义如何启动和管理Nginx服务。在这个文件中,PIDFile选项用于告诉systemd在哪里找到服务的PID文件。这有助于systemd跟踪服务的状态和进程ID。如果Nginx使用默认的PID文件位置,则 nginx.service
可能包含如下行:
[Service]
PIDFile=/run/nginx.pid
这里假设PID文件位于 /run/nginx.pid
。如果你在 nginx.conf
中更改了PID文件的位置,确保同样更新 nginx.service
文件中的 PIDFile
路径以保持一致性,这样systemd才能正确地管理和监控Nginx服务。
总之,nginx.conf
中的 pid
指令用于指定Nginx应该将自己的PID写入到哪个文件,而 nginx.service
中的 PIDFile
则告知systemd该去哪里查找此PID文件,以便进行服务管理。调整这两个设置时,请确保它们指向相同的PID文件位置。
相关文章:
Nginx学习笔记:常用命令端口占用报错解决Nginx核心配置文件解读
Nginx 1. 基础命令1.1 重新加载systemd配置1.2 停止Nginx服务1.3 启动Nginx服务1.4 重启Nginx服务1.5 查看Nginx服务状态1.6 测试配置和重载Nginx 2. 额外命令2.1 启用开机自启2.2 禁用开机自启2.3 强制关闭所有Nginx进程 3. Nginx端口占用解决方案3.1 查找占用端口8090的进程3…...
C++ ——继承
体现的是代码复用的思想 1、子类继承父类,子类就拥有了父类的特性(成员方法和成员属性) 2、已存在的类被称为“基类”或者“父类”或者“超类”;新创建的类被称为“派生类”或者“子类” 注意: (1&#…...
正则表达式常用记录
1. 定义 正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex、regexp或RE),它是一种文本模式,同时也是计算机科学的一个概念,其中包括普通字符(例如,…...
redis的应用,缓存,分布式锁
1.应用 1.1可以用作缓存 作用:提交数据的查询效率,减少对数据库的访问频率 什么数据适合放入缓存 1.查询频率高,修改频率低 2.对安全系数比较低 如何实现 Service public class DeptServer {Autowiredprivate DeptMapper deptMapper;Auto…...
qt5实现表盘的旋转效果,通过提升QLabel类
因为工作需要,需要实现温度的表盘展示效果 实现思路: 通过提示声QLabel控价类,实现报盘的旋转和展示效果 1. 编写一个QLabel的类MyQLabel,实现两个方法 1. void paintEvent(QPaintEvent *event); //重绘函数 2. void valueChanged(int va…...
Flutter项目中设置安卓启动页
AndroidManifest.xml 设置 android:theme“style/LaunchTheme” <applicationandroid:label"string/app_name"android:name"${applicationName}"android:icon"mipmap/ic_launcher"android:roundIcon"mipmap/ic_launcher"android:t…...
人工智能之目标追踪DeepSort源码解读(yolov5目标检测,代价矩阵,余弦相似度,马氏距离,匹配与预测更新)
要想做好目标追踪,须做好目标检测,所以这里就是基于yolov5检测基础上进行DeepSort,叫它为Yolov5_DeepSort。整体思路是先检测再追踪,基于检测结果进行预测与匹配。 一.参数与演示 这里用到的是coco预训练人的数据集: 二.针对检测结果初始化track 对每一帧数据都输出…...
C语言之枚举类型
目录 前言 一、enum(枚举 总结 前言 在C语言中,枚举类型是一种用户自定义的数据类型,用于定义一组具名的常量集合。枚举类型可以提高代码的可读性和可维护性,同时也能够帮助程序员避免使用魔法数字。通过枚举类型,我们…...
【Python爬虫(12)】正则表达式:Python爬虫的进阶利刃
【Python爬虫】专栏简介:本专栏是 Python 爬虫领域的集大成之作,共 100 章节。从 Python 基础语法、爬虫入门知识讲起,深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑,覆盖网页、图片、音频等各类数据爬取ÿ…...
推荐一款AI大模型托管平台-OpenWebUI
推荐一款AI大模型托管平台-OpenWebUI 1. OpenWebUI 1. OpenWebUI什么? 官网地址:https://openwebui.com/ GitHub地址: https://github.com/open-webui/open-webui Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 AI 平台,旨在完全离…...
复习dddddddd
1. 思路:用队列先进先出的特性 #include <iostream> #include <vector> #include <stack> #include <cstdio> #include <algorithm> #include <cstring> #include <climits> #include <cstdlib> #include <cma…...
【3.5JavaScript】JavaScript字符串对象
文章目录 1.获取字符串长度2.大小写转换3.获取某一个字符4.截取字符串5.替换字符串6.分割字符串7.检索字符串位置8.例题:统计某一个字符的个数 在 JavaScript 中,对象是非常重要的知识点。对象分为两种:一种是 ”自定义对象“,另…...
消息队列-持续更新中
消息队列 0、消息队列官方参考文档 MQ官方参考文档 RocketMQ 官方文档: https://rocketmq.apache.org/docs/quick-start/ RocketMQ 中国开发者中心:http://rocketmq.cloud/zh-cn/ Kafka 官方文档: http://kafka.apache.org/documentation/ …...
创建一个简单的spring boot+vue前后端分离项目
一、环境准备 此次实验需要的环境: jdk、maven、nvm和node.js 开发工具:idea或者Spring Tool Suite 4,前端可使用HBuilder X,数据库Mysql 下面提供maven安装与配置步骤和nvm安装与配置步骤: 1、maven安装与配置 1…...
已知点矩阵的三个顶点坐标、行列数和行列的间距,计算得出剩余所有点的坐标
已知点矩阵的三个顶点坐标、行列数和行列的间距,计算得出剩余所有点的坐标 计算矩阵中每个点的坐标代码实现案例图调用验证 计算矩阵中每个点的坐标 给定左上角、左下角和右上角三个点的坐标,以及矩阵的行数、列数、行间距和列间距,我们可以…...
视频mp4垂直拼接 水平拼接
视频mp4垂直拼接 水平拼接 pinjie_v.py import imageio import numpy as np import os import cv2def pinjie_v(dir1,dir2,out_dir):os.makedirs(out_dir, exist_okTrue)# 获取目录下的所有视频文件video_files_1 [f for f in os.listdir(dir1) if f.endswith(.mp4)]video_fi…...
【记录54】渐变色 linear-gradient / radial-gradient
linear-gradient 线性渐变:是以直线条渐变 radial-gradient 径向渐变:是以图型形状渐变 <!-- 线性渐变(从一个方向到另一个方向 --><div style" background: linear-gradient(to right, red, blue);"></div><…...
一周学会Flask3 Python Web开发-response响应格式
锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 在HTTP响应中,数据可以通过多种格式传输。大多数情况下,我们会使用HTML格式,这也是Flask中…...
二级公共基础之数据结构与算法篇(八)排序技术
目录 前言 一、交换类排序 1.冒泡排序法 1. 冒泡排序的思想 2. 冒泡排序的实现步骤 3. 示例 4. 冒泡排序的特点 2.快速排序 1. 快速排序的核心思想 2. 快速排序的实现步骤 3. 示例代码(C语言) 4. 快速排序的特点 二、插入类排序 1. 简单插入排序 1.简单插入排…...
以ChatGPT为例解析大模型背后的技术
目录 1、大模型分类 2、为什么自然语言处理可计算? 2.1、One-hot分类编码(传统词表示方法) 2.2、词向量 3、Transformer架构 3.1、何为注意力机制? 3.2、注意力机制在 Transformer 模型中有何意义? 3.3、位置编…...
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_cpuinfo 函数
ngx_cpuinfo 声明在 src/core/ngx_core.h void ngx_cpuinfo(void); 定义在 src/core/ngx_cpuinfo.c 这里 ngx_cpuinfo 的定义可以找到 2 个 使用 gcc -E 处理一下来确认当下环境中使用的是哪一个 gcc -E src/core/ngx_cpuinfo.c \-I src/core \-I src/event \-I src/event/modu…...
python小项目编程-中级(1、图像处理)
目录 图像处理 实现 测试 unittest pytest 图像处理 实现界面化操作,使用PIL库实现简单的图像处理功能,如缩放(设置缩放比例)、旋转和滤镜、对比度调整、亮度调整、灰度图、二值化图(二值图如果使用的是彩色图片需…...
EasyExcel实现excel导入(模版上传)
目录 效果pom.xmlapplication.ymlcontrollerservice依赖类前台vue代码某个功能如果需要添加大量的数据,通过一条条的方式添加的方式,肯定不合理,本文通过excel导入的方式来实现该功能,100条数据导入成功85条,失败15条,肯定需要返回一个表格给前台或者返回1个错误excel给前…...
AI工作流+专业知识库+系统API的全流程任务自动化
我有点悲观,甚至很沮丧,因为AI留给普通人的机会不多了,这既是人类之间权力的斗争,也是硅基生命和碳基生命的斗争。AI自动化是无法避免的趋势,如果人类不能平权,那就只能跪下接受审判。 通过整合AI工作流、专…...
【C/C++】合并两个有序链表 (leetcode T21)
核心考点预览:链表 (双指针) 技巧:虚拟头结点 题目描述: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入输出示例1l1 [1,2,4], l2 [1…...
C语言进阶习题【2】(4结构体进阶)——通讯录的实现3
1. 本节在动态版本通讯录的基础上实现存储功能 在动态版本的基础上,对于通讯录的新增了存储到文件中,可以从文件中打开我们存储的通信录功能。新增函数:saveContatc()和loadContact() 2. 具体实现 2.1 contact.h /…...
Linux系统编程之无名管道
概述 在Linux系统中,无名管道是一种简单的进程间通信机制。它允许一个进程创建一对文件描述符,其中一个用于读取,另一个用于写入。当一个进程通过系统调用创建了一个无名管道后,便可以将这两个文件描述符传递给它的子进程…...
deepseek与其他大模型配合组合
DeepSeek与其他大模型的配合组合,展现了其在多个领域中的强大应用潜力和灵活性。以下是对DeepSeek与其他大模型配合组合的详细分析: 一、DeepSeek与华知大模型的组合 背景介绍: 华知大模型是同方知网与华为联手打造的,具备全学科…...
ASP.NET Core Clean Architecture
文章目录 项目地址一、1. 重点1.1 Repository数据库接口1.2 GetEventDetail 完整的Query流程1.3 创建Command并使用validation 项目地址 教程作者:ASP.NET Core Clean Architecture 2022-12 教程地址: https://www.bilibili.com/video/BV1YZ421M7UA?…...
DeepSeek安装部署笔记(一)
Ollamaopen-WebUI部署 DeepSeek安装部署笔记第一步 Ollama安装1.安装ollama:官网https://ollama.com/下载2.上面安装完成,在cmd命令行: 第二步 给DeepSeek添加OpenWebUI界面(重点)1.安装conda:用它来管理py…...
ProfiNet转EtherNet/IP罗克韦尔PLC与监控系统通讯案例
一、案例背景 在新能源产业蓬勃发展的当下,大型光伏电站作为绿色能源的重要输出地,其稳定高效的运行至关重要。某大型光伏电站占地面积广阔,内部设备众多,要保障电站的稳定运行,对站内各类设备进行集中监控与管理必不可…...
23.2 HtmlDocument类
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 HtmlDocument类提供了HTML文档的顶级编程访问,配合WebBrowser的 Document属性使用,可以获得WebBrowser当前页…...
wordpress adrotate插件 文件上传漏洞
当你爆破进wordpress后台但权限不是管理员的时,如果你有adrotate插件操作权限可以用adrotate的文件上传功能get webshell 该漏洞需要AdRotate版本 < 5.13.3 第一步按顺序点击上传文件 在这里文件一定要压缩成zip格式,上传的时候也是上传这个zip 上…...
数据分析和数据挖掘的工作内容
基本的数据分析工作通常包含以下几个方面的内容: 确定目标(输入):理解业务,确定指标口径。获取数据:数据仓库(SQL提数)、电子表格、三方接口、网络爬虫、开放数据集等。清洗数据&am…...
【Pandas】pandas Series sample
Pandas2.2 Series Computations descriptive stats 方法描述Series.align(other[, join, axis, level, …])用于将两个 Series 对齐,使其具有相同的索引Series.case_when(caselist)用于根据条件列表对 Series 中的元素进行条件判断并返回相应的值Series.drop([lab…...
qt + opengl 给立方体增加阴影
在前几篇文章里面学会了通过opengl实现一个立方体,那么这篇我们来学习光照。 风氏光照模型的主要结构由3个分量组成:环境(Ambient)、漫反射(Diffuse)和镜面(Specular)光照。下面这张图展示了这些光照分量看起来的样子: 1 环境光照(Ambient …...
buuctf-[极客大挑战 2019]Knife题解
一个很简单的web题,进入界面 网页名还加白给的shell,并且给的提示也很明显,给了一个一句话木马再加上菜刀,很怀疑是一个webshell题,那么直接打开蚁剑测试连接拿shell 用提示的一句话木马的密码,测试链接发现…...
常用电脑,护眼软件推荐 f.lux 3400K | 撰写论文 paper
常用电脑?平均每天用 5 个小时?你就要考虑用一个护眼软件了,对皮肤也好。因为电脑屏幕有辐射,比如蓝光。 f.lux 作为一款专业护眼软件,值得使用。之前用了三年的 Iris Pro,现在 f.lux 做的更好了。 使用…...
【操作幂等和数据一致性】保障业务在MySQL和COS对象存储的一致
业务场景 发布信息,更新到数据库MySQLCOS操作,更新JSON文件 不过可能存在幂等性和数据一致性的问题。 // 批量存MySQL entityPublishService.saveOrUpdateBatch(entityPublishList); // 遍历批量存COS对象存储searchEntitys.forEach(req -> {//删除…...
[答疑]领域建模:邓丽君、周杰伦和少女时代
DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 第五元素 2025-2-18 17:12 潘老师,画线的这句话,在这个类图中怎么体现呢? (回答者补注:问题的素材来自《邓丽君的领域建模》…...
【鸿蒙开发】第四十三章 Notification Kit(用户通知服务)
目录 1 简介 1.1 使用场景 1.2 能力范围 1.3 业务流程 1.4 通知样式 1.5 约束限制 1.6 与相关Kit的关系 2 请求通知授权 2.1 接口说明 2.2 开发步骤 3 管理通知角标 3.1 接口说明 3.2 开发步骤 4 管理通知渠道 4.1 通知渠道类型说明 4.2 接口说明…...
Ubuntu 20.04源码安装opencv 4.5.0
安装依赖项 sudo apt install -y g sudo apt install -y cmake sudo apt install -y make sudo apt install -y wget unzip安装opencv依赖库 sudo apt-get install build-essential libgtk2.0-dev libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev l…...
buu-get_started_3dsctf_2016-好久不见39
栈溢出外平栈 1外平栈与内平栈的区别 外平栈: 栈帧的局部变量和返回地址之间没有额外的对齐或填充。返回地址直接位于局部变量的上方(即栈顶方向)。在计算偏移时,不需要额外加 4(因为返回地址紧邻局部变量)…...
一周学会Flask3 Python Web开发-客户端状态信息Cookie以及加密
锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili HTTP是无状态(stateless)协议。也就是说,在一次请求响应结束后,服务器不会留下任何关于对…...
深入解析Qt事件循环
在Qt开发中,QApplication::exec()这行代码是每个开发者都熟悉的“魔法咒语”。为什么GUI程序必须调用它才能响应操作?为何耗时操作会导致界面冻结?本文将以事件循环为核心,揭示Qt高效运转的底层逻辑,探讨其设计哲学与最…...
python中的异常-模块-包
文章目录 异常异常的定义异常捕获语法捕获常规异常捕获指定异常捕获多个异常捕获所有异常异常else异常finally 异常传递总结 模块概念导入自定义模块及导入main方法all变量 总结 包自定义包定义pycharm中建包的基本步骤导入方式 第三方包 异常 异常的定义 当检测到一个错误时…...
AI 百炼成神:线性回归,预测房价
我们开始第一个项目——线性回归:预测房价。这是一个经典的机器学习入门项目,可以帮助你理解如何使用线性回归模型来预测连续的数值。 第一个项目:线性回归预测房价 项目目标 学习线性回归的基本概念。使用历史房价数据建立一个预测模型。理解如何评估模型的性能。项目步骤…...
Grok-3 与 DeepSeek 的技术架构与性能分析
随着 AI 大模型技术的快速发展,Grok-3(xAI)与 DeepSeek-V3/R1(深度求索)成为近期备受关注的焦点。本文将从技术架构、性能表现、成本效率和应用场景等维度,深入对比分析这两大模型的优劣势。 一、技术架构对比 1. DeepSeek-V3/R1:高效 MoE 架构与工程优化 混合专家模型…...
机器学习实战(4):逻辑回归——分类问题的基础
第4集:逻辑回归——分类问题的基础 在机器学习中,逻辑回归(Logistic Regression) 是解决分类问题的经典算法之一。尽管名字中有“回归”,但它实际上是一种分类模型,广泛应用于二分类任务(如垃圾…...
我是如何从 0 到 1 找到 Web3 工作的?
作者:Lotus的人生实验 关于我花了一个月的时间,从 0 到 1 学习 Web3 相关的知识和编程知识。然后找到了一个 Web3 创业公司实习的远程工作。 👇👇👇 我的背景: 计算机科班,学历还可以(大厂门槛水平) 毕业工…...