nginx核心配置文件及常用功能
华子目录
- `配置文件说明`
- `配置文件格式说明`
- `nginx配置文件中的变量`
- 默认`nginx.conf配置文件`格式说明
- `main全局配置`
- `events配置段`
- `nginx`配置中的`root`和`alias`
- `location用法详解`
- 虚拟主机配置
- nginx账户认证功能
- nginx自定义错误页面
- nginx自定义日志
配置文件说明
nginx官方
帮助文档
:http://nginx.org/en/docs/
nginx
的配置文件
的组成部分
:
主配置文件
:nginx.conf
子配置文件
:include conf.d/*.conf
fastcgi, uwsgi,cgi
等协议
相关的配置文件
配置文件格式说明
配置文件
由指令
与指令块
构成每条指令
以;分号
结尾,指令
与值
之间以空格
符号分隔
- 可以将
多条指令
放在同一行
,用分号分隔即可
,但可读性差
,不推荐
指令块
以{}大括号
将多条指令
组织在一起
,且可以嵌套指令块
include语句
允许组合多个配置文件
以提升可维护性
- 使用
#符号
添加注释
,提高可读性
- 使用
$符号
使用变量
部分指令
的参数
支持正则表达式
nginx配置文件中的变量
内置变量
:由Nginx模块
引入,可直接引用
自定义变量
:由用户
使用set命令
定义,格式
:set 变量名 值;
引用变量
:$变量名
默认nginx.conf配置文件
格式说明
# main配置段(全局配置)对全局生效,主要设置nginx的启动用户/组,启动的工作进程数量,工作模式,Nginx的PID路
user nginx nginx; #运行的用户和用户组
worker_processes 1; #worker进程数,根据硬件调整(通常设置为auto)
error_log /var/log/nginx/error.log; #错误日志存放目录
pid /run/nginx.pid; #指定运行master主进程的pid文件存放路径
worker_priority 0; #工作进程优先级,-20~20(19)表示进程相对于其他进程的调度优先级。优先级值越低,进程的优先级越高,意味着它更有可能获得CPU时间,优先级范围通常是从 -20(最高优先级,也称为“最实时”优先级)到 19(最低优先级,也称为“最不实时”或“最空闲”优先级)
worker_rlimit_nofile 65536; #所有worker进程能打开的文件数量上限,包括:Nginx的所有连接(例如与代理服务器的连接等),而不仅仅是与客户端的连接。另一个考虑因素是实际的并发连接数不能超过系统级别的最大打开文件数的限制,最好与ulimit -n或者limits.conf的值保持一致
daemon off|on; #用于控制Nginx是否应该以守护进程(daemon)的方式运行,off表示前台,on表示后台
master_process off|on; #用于控制Nginx是否应该以主进程(master process)和工作进程(worker processes)的模型来运行,on设置告诉Nginx在启动时创建一个主进程和多个工作进程,off设置告诉Nginx不要创建主进程,而是直接以单个进程(即工作进程)的形式运行。这意味着Nginx将不会利用主进程和工作进程的模型include /usr/share/nginx/modules/*.conf; #导入的外部文件位置#events配置段,主要影响nginx服务器与用户的网络连接,比如是否允许同时接受多个网络连接,使用哪种事件驱动模型处理请求,每个工作进程可以同时支持的最大连接数,是否开启对多工作进程下的网络连接进行序列化等
events {use epoll; #使用epo11事件驱动模型,但不推荐配置它,让nginx自己选择。Nginx支持众多的事件驱动,比如:select、poll、epoll,只能设置在events模块中设置worker_connections 1024; #每个worker进程的最大连接数量(并发数)。作为web服务器的时候最大并发数为worker_connections*worker_processes;作为反向代理的时候为(worker_connections*worker_processes)/2accept_mutex on #on为同一时刻一个请求轮流由work进程处理,为防止被同时唤醒所有worker,避免多个睡眠进程被唤醒的设置,默认为off。为on时新请求会唤醒所有worker进程,此过程也称为"惊群"。因此nginx刚安装完以后要进行适当的优化。建议设置为onmulti_accept on; #on为Nginx服务器的每个工作进程可以同时接受多个新的网络连接,此指令默认为off,即默认为一个工作进程只能一次接受一个新的网络连接,打开后几个同接受多个。建议设置为on
}#http配置段,http块是nginx服务器配置中的重要部分,缓存、代理和日志格式定义等绝大多数功能和第三方模块都可以在这设置,http块可以包含多个server块,而一个server块中又可以包含多个location块,
http {log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';#以上定义日志格式access_log /var/log/nginx/access.log main; #访问日志存储位置error_log /usr/local/nginx/logs/error.log error;sendfile on; #作为web服务器的时候打开sendfile加快静态文件传输,指定是否使用。sendfile系统调用在两个文件描述符之间直接传递数据(完全在内核中操作),从而避免了数据在内核缓冲区和用户缓冲区之间的拷贝,操作效率很高,被称之为零拷贝tcp_nopush on; #性能优化参数,数据是否立刻发送tcp_nodelay on; #性能优化参数,小数据包是否延迟发送keepalive_timeout 65; #长连接超时时间,单位是秒types_hash_max_size 4096; #性能优化参数,影响散列表的冲率include /etc/nginx/mime.types; #可解析的静态资源类型 default_type application/octet-stream; #默认文件类型include /etc/nginx/conf.d/*.conf; #加载子配置项#server配置段,设置一个虚拟机主机,可以包含自己的全局快,同时也可以包含多个location模块server {listen 80; #监听IPV4端口listen [::]:80; #监昕IPV6端口server_name localhost; #本server的名称,当访问此名称的时候,nginx会调用当前serevr内部的配置进行匹配root /usr/share/nginx/html; #网页默认目录include /etc/nginx/default.d/*.conf; #子配置文件存储路径#1ocation配置段,一般用来匹配不同的URI请求,location其实是server的一个指令,为nginx服务器提供比较多而且灵活的指令都是在location中体现的,主要是基于nginx接受到的请求字符串,对用户请求的URL进行匹配,并对特定的指令进行处理。另外很多第三方模块的配置也是在location模块中配置location / {root /usr/share/nginx/html; #相对路径网站根目录alias /usr/share/nginx/html/; #绝对路径网站根目录index index.html index.htm; #默认首页文件deny 172.168.22.11; #禁止访问的ip地址,可以为a11allow 172.168.33.44; #允许访问的ip地址,可以为a11autoindex on; #开启目录文件列表autoindex_exact_size on; #显示出文件的确切大小,单位是bytesautoindex_localtime on; #显示的文件时间为文件的服务器时间charset utf-8,gbk; #避免中文乱码auth_basic "xxxx"; #加密网页验证时的提示信息auth_basic_user_file /路径/文件名; #加密网页使用的密码验证文件}error_page 404 /404.html; #状态码为404时返回给客户端的页面location = /404.html {}error_page 500 502 503 504 /50x.html; #50x错误返回给客户端的页面location = /50x.html {}}#和邮件相关的配置
#mail {
# ...
# } mail 协议相关配置段#tcp代理配置,1.9版本以上支持
#stream {
# ...
# } stream 服务器相关配置段
#导入其他路径的配置文件
#include /apps/nginx/conf.d/*.conf
}#https虚拟主机定义
# Settings for a TLS enabled server.
#
# server {
# listen 443 ssl http2; #监听的IPV4端口
# listen [::]:443 ssl http2;
# server_name _;
# root /usr/share/nginx/html; #网页默认目录
#
# ssl_certificate "/etc/pki/nginx/server.crt"; #证书存储路径
# ssl_certificate_key "/etc/pki/nginx/private/server.key"; #密钥存储
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 10m;
# ssl_ciphers PROFILE=SYSTEM;
# ssl_prefer_server_ciphers on;
#
# # Load configuration files for the default server block.
# include /etc/nginx/default.d/*.conf;
#
# error_page 404 /404.html;
# location = /40x.html {
# }
#
# error_page 500 502 503 504 /50x.html;
# location = /50x.html {
# }
# }
}
main全局配置
main 全局配置段
常见的配置指令分类
正常运行
必备的配置
优化性能
相关的配置
- 用于
调试
及定位问题
相关的配置
事件驱动
相关的配置
user nginx nginx; #启动Nginx工作进程的用户和组
worker_processes [number | auto]; #启动Nginx工作进程的数量,一般设为和CPU核心数相同。为auto的话,有几个核,就有几个子进程
worker_cpu_affinity 00000001 00000010 00000100 00001000 #将Nginx工作进程绑定到指定的CPU核心,默认Nginx是不进行进程绑定的error_log /var/log/nginx/error.log; #错误日志存放目录
pid /run/nginx.pid; #指定运行master主进程的pid文件存放路径worker_priority 0; #工作进程优先级,-20~20(19)表示进程相对于其他进程的调度优先级。优先级值越低,进程的优先级越高,意味着它更有可能获得CPU时间,优先级范围通常是从 -20(最高优先级,也称为“最实时”优先级)到 19(最低优先级,也称为“最不实时”或“最空闲”优先级)
worker_rlimit_nofile 65536; #所有worker进程能打开的文件数量上限,包括:Nginx的所有连接(例如与代理服务器的连接等),而不仅仅是与客户端的连接。另一个考虑因素是实际的并发连接数不能超过系统级别的最大打开文件数的限制,最好与ulimit -n或者limits.conf的值保持一致daemon off|on; #用于控制Nginx是否应该以守护进程(daemon)的方式运行,off表示前台,on表示后台
master_process off|on; #用于控制Nginx是否应该以主进程(master process)和工作进程(worker processes)的模型来运行,on设置告诉Nginx在启动时创建一个主进程和多个工作进程,off设置告诉Nginx不要创建主进程,而是直接以单个进程(即工作进程)的形式运行。这意味着Nginx将不会利用主进程和工作进程的模型
worker_cpu_affinity 0001 0010 0100 1000;
4核心绑定
worker_cpu_affinity 0001 0010;
2核心绑定
核心绑定
并不是意味着
当前nginx进程
独占一核心CPU
,但是可以保证此进程
不运行在其他核心
上,这就极大减少
了nginx的工作进程
在不同的cpu核心上
的来回跳转
,减少了CPU
对进程的资源分配
与回收
以及内存管理
等,因此可以有效的提升nginx服务器
的性能
示例:
[root@nginx-node1 ~]# vim /usr/local/nginx/conf/nginx.conf
[root@nginx-node1 ~]# systemctl restart nginx[root@nginx-node1 ~]# ps -axf | grep nginx3608 pts/1 S+ 0:00 | \_ grep --color=auto nginx3602 ? Ss 0:00 nginx: master process /usr/local/nginx/sbin/nginx3603 ? S 0:00 \_ nginx: worker process3604 ? S 0:00 \_ nginx: worker process
示例:
[root@nginx-node1 ~]# vim /etc/security/limits.conf
[root@nginx-node1 ~]# sudo -u nginx ulimit -n
1024
[root@nginx-node1 ~]# vim /etc/security/limits.conf
[root@nginx-node1 ~]# sudo -u nginx ulimit -n
2048
events配置段
#events配置段,主要影响nginx服务器与用户的网络连接,比如是否允许同时接受多个网络连接,使用哪种事件驱动模型处理请求,每个工作进程可以同时支持的最大连接数,是否开启对多工作进程下的网络连接进行序列化等
events {use epoll; #使用epo11事件驱动模型,但不推荐配置它,让nginx自己选择。Nginx支持众多的事件驱动,比如:select、poll、epoll,只能设置在events模块中设置worker_connections 1024; #每个worker进程的最大连接数量(并发数)。作为web服务器的时候最大并发数为worker_connections*worker_processes;作为反向代理的时候为(worker_connections*worker_processes)/2accept_mutex on #on为同一时刻一个请求轮流由work进程处理,为防止被同时唤醒所有worker,避免多个睡眠进程被唤醒的设置,默认为off。为on时新请求会唤醒所有worker进程,此过程也称为"惊群"。因此nginx刚安装完以后要进行适当的优化。建议设置为onmulti_accept on; #on为Nginx服务器的每个工作进程可以同时接受多个新的网络连接,此指令默认为off,即默认为一个工作进程只能一次接受一个新的网络连接,打开后几个同接受多个。建议设置为on
}
- 对于运行
Nginx的服务器
,通常需要关注文件描述符
的数量限制
,因为Nginx
需要打开大量的文件描述符
来处理客户端连接
示例:
[root@nginx-node1 ~]# vim /etc/security/limits.conf
[root@nginx-node1 ~]# yum install httpd-tools -y
#测压
#-n表示请求量 -c表示并发量
[root@nginx-node1 ~]# ab -n 10000000 -c 10000 http://172.25.254.100/index.html
nginx
配置中的root
和alias
[root@nginx-node1 ~]# vim /usr/local/nginx/conf/nginx.conf
[root@nginx-node1 ~]# mkdir -p /usr/local/nginx/conf.d[root@nginx-node1 ~]# vim /usr/local/nginx/conf.d/vhost.conf
- 该
配置
是一个基于域名
的虚拟主机配置
,当访问不同域名时
,访问不同网站
[root@nginx-node1 ~]# mkdir -p /data/web/html
[root@nginx-node1 ~]# echo hello world > /data/web/html/index.html
- 测试
[root@nginx-node1 ~]# vim /usr/local/nginx/conf.d/vhost.conf
[root@nginx-node1 ~]# mkdir -p /data/web/test1
[root@nginx-node1 ~]# echo hello world 1 > /data/web/test1/index.html[root@nginx-node1 ~]# systemctl restart nginx
- 测试
- 当匹配到
location
设置的/test1
时,root
会对/data/web/
和网址上的/test1/
进行拼接
[root@nginx-node1 ~]# vim /usr/local/nginx/conf.d/vhost.conf
alias
不会进行路径的叠加
,当匹配
到/test2
后,直接访问alias设置的路径
[root@nginx-node1 ~]# systemctl restart nginx
- 测试
location用法详解
- 在一个
server
中location配置段
可存在多个
,用于实现从uri
到文件系统的路径
映射 ngnix
会根据用户请求
的uri
来检查
定义的所有location
,按一定的优先级
找出一个最佳匹配
- 而后
应用
其配置
在没有使用正则表达式
的时候
,nginx
会先在server
中的多个location中
选取匹配度最高
的一个uri
uri
是用户请求
的字符串
,即域名后面
的web文件路径
- 然后使用该
location模块
中的正则url
和字符串
,如果匹配成功
就结束搜索
,并使用此location处理此请求
格式:
location [ ~ | ~* | ^~ | = ] uri {......
}#uri表示文件路径
-
匹配规则:
-
=
精确匹配
-
~
正则匹配
,区分大小写
-
~*
正则匹配
,不区分大小写
-
^~
匹配
以某个字符串开头
,不是正则匹配
-
/
通用匹配
,如果其他location
都没有匹配
,则该location
会进行匹配
-
匹配优先级
:(~ | ~*)
只有文件路径的
^~
=
-
-
匹配优先级
:(~ | ~*)
只有文件路径的
^~
=
~和~*
的优先级相同
,谁在前面
先匹配谁
整个网址
叫url
,除域名外
的叫uri
[root@nginx-node1 ~]# vim /usr/local/nginx/conf.d/vhost.conf
server {listen 80;server_name www.nginx-test.com;#只用当访问www.nginx-test.com/match_all/ 时才会匹配到 /usr/share/nginx/html/match_all/index.htmllocation = /match_all/ {root /usr/share/nginx/html;index index.html;}#当访问 www.nginx-test.com/1.jpg 等路径时会去 /usr/share/nginx/images/1.jpg 找对应的资源location ~ \.(jpeg|jpg|png|svg)$ {root /usr/share/nginx/images;}#当访问www.nginx-test.com/bbs 时会匹配上 /usr/share/nginx/html/bbs/index.htmllocation ^~ /bbs/ {root /usr/share/nginx/html;index index.html index.htm;}#注意:上述location都找不到的话都在这里找location / {root html;index index.html index.htm;}#其/不是根目录而是统统都匹配到指定路径,而指定路径为html,即nginx的默认网页目录/usr/share/nginx/html
}
虚拟主机配置
- 基于
不同的IP
、不同的端口
以及不同的域名
实现不同的虚拟主机
,依赖于核心模块ngx_http_core_module
实现
nginx账户认证功能
- 由
ngx_http_auth_basic_module模块
提供此功能
[root@nginx-node1 ~]# htpasswd -cm /usr/local/nginx/.htpasswd admin
New password: #密码123456
Re-type new password: #密码123456
Adding password for user admin
[root@nginx-node1 ~]# vim /usr/local/nginx/conf.d/vhost.conf
[root@nginx-node1 ~]# systemctl restart nginx
- 测试
nginx自定义错误页面
自定义错误页面
,同时也可以用指定的响应状态码
进行响应
, 可用位置:http, server, location
[root@nginx-node1 ~]# vim /usr/local/nginx/conf.d/vhost.conf
状态码为404,405时
返回给客户端的页面40x.html
[root@nginx-node1 ~]# mkdir -p /data/web/errorpage
[root@nginx-node1 ~]# echo error page > /data/web/errorpage/40x.html
[root@nginx-node1 ~]# systemctl restart nginx
- 测试
nginx自定义日志
[root@nginx-node1 ~]# mkdir /var/log/nginx/
[root@nginx-node1 ~]# vim /usr/local/nginx/conf.d/vhost.conf
[root@nginx-node1 ~]# systemctl restart nginx
- 测试
[root@nginx-node1 ~]# cat /var/log/nginx/access.log
172.25.254.1 - - [01/Jan/2025:05:32:07 -0500] "GET /gagsa HTTP/1.1" 404 11 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.0.0"
[root@nginx-node1 ~]# cat /var/log/nginx/error.log
2025/01/01 05:32:07 [error] 1948#0: *1 open() "/data/web/html/gagsa" failed (2: No such file or directory), client: 172.25.254.1, server: www.huazi.org, request: "GET /gagsa HTTP/1.1", host: "www.huazi.org"
相关文章:
nginx核心配置文件及常用功能
华子目录 配置文件说明配置文件格式说明nginx配置文件中的变量默认nginx.conf配置文件格式说明main全局配置events配置段 nginx配置中的root和aliaslocation用法详解虚拟主机配置nginx账户认证功能nginx自定义错误页面nginx自定义日志 配置文件说明 nginx官方帮助文档…...
基于AT89C51单片机的可暂停八路抢答器设计
点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/90196607?spm1001.2014.3001.5503 C15 部分参考设计如下: 摘要 随着社会进步和科技发展,电子设备在各类活动中的应用日益普遍,…...
github加速源配置
访问github速度很慢? 试试一下方法 1: 编辑配置 vim /etc/docker/daemon.json 2:都复制粘贴上 { "registry-mirrors": [ "https://docker.211678.top", "https://docker.1panel.live…...
骑行解压:身心的奇妙之旅,VELO Angel Revo坐垫
在快节奏的都市生活中,骑行不仅是一种健康的生活方式,更是一种心灵的释放。从心理生理学的角度来看,骑行能够促使身体分泌内啡肽,带来愉悦感,同时,它还能转移注意力,缓解焦虑。在这场身心的奇妙…...
(七)- plane/crtc/encoder/connector objects
1,framebuffer/plane Rockchip RK3399 - DRM framebuffer、plane基础知识 - 大奥特曼打小怪兽 - 博客园 2,crtc Rockchip RK3399 - DRM crtc基础知识 - 大奥特曼打小怪兽 - 博客园 3,encoder/connector/bridge Rockchip RK3399 - DRM en…...
从零开始:如何在 .NET Core 中优雅地读取和管理配置文件
在.net中的配置文件系统支持丰富的配置源,包括文件(json、xml、ini等)、注册表、环境变量、命令行、Azure Key Vault等,还可以配置自定义配置源并跟踪配置的改变,然后按照优先级进行覆盖,总之对文件的配置有很多方法,这…...
Python中PDF转Word的技术
Python PDF转Word技术概述 在日常办公和数据处理中,经常需要将PDF文档转换为Word文档,以便进行编辑、修改或格式调整。Python作为一种强大的编程语言,提供了多种库和工具来实现这一功能。以下是对Python中PDF转Word技术的详细介绍。 一、技…...
挑战春招找到java后端实习第一天(1.1)
八股文 1.java中有哪些集合类请简单介绍一下 集合类分为两大类Collection和Map。前者是对象的集合,后者是键值对。 Collection分为List,Set,Queue三个接口。 List有LinkedList,ArrayList,Vector Set(不…...
leetcode hot 小偷
class Solution(object):def rob(self, nums):""":type nums: List[int]:rtype: int"""# 使用动态规划,把之前的给保存起来ans[0,nums[-1]]for i in range(1,len(nums)):ans.append(max(ans[-1],ans[-2]nums[-1*i-1]))return ans[-1]…...
一、Git与GitHub基础说明
Git与GitHub Git与GitHub一、Git1定义2核心功能(1) 版本控制(2) 分支管理(3) 合并操作 二、GitHub1定义2核心功能(1)远程仓库托管(2)Pull Requests(拉取请求)(3) Issue Tracking(问题跟踪)(4) 团队管理(5) 社交功能(6)个人资料和贡…...
Unity-Mirror网络框架-从入门到精通之Room示例
文章目录 前言Room示例场景设置NetworkRoomManagerSpawnerRewardRoomPlayerGamePlayer 最后 前言 在现代游戏开发中,网络功能日益成为提升游戏体验的关键组成部分。Mirror是一个用于Unity的开源网络框架,专为多人游戏开发设计。它使得开发者能够轻松实现…...
httpslocalhostindex 配置的nginx,一刷新就报404了
当你的Nginx配置导致页面刷新时报404错误时,通常是由于以下几个原因造成的: 静态文件路径配置错误:Nginx没有正确地指向静态文件的目录。前端路由问题:如果是SPA(单页应用),刷新页面时Nginx没有…...
Java重要面试名词整理(十九):Seata
文章目录 分布式事务概述实现思路:两阶段提交协议(2PC) SeataSeata的三大角色Seata的生命周期Seata解决方案 AT模式一阶段二阶段 XA模式TCC模式如何处理空回滚如何处理幂等如何处理悬挂 SAGA模式四种模式对比 分布式事务概述 在微服务架构中,完成某一个…...
OpenCV和PyQt的应用
1.创建一个 PyQt 应用程序,该应用程序能够: 使用 OpenCV 加载一张图像。在 PyQt 的窗口中显示这张图像。提供四个按钮(QPushButton): 一个用于将图像转换为灰度图一个用于将图像恢复为原始彩色图一个用于将图像进行翻…...
【Linux】进程间通信(一)
目录 一、进程间通信1.1 进程间通信目的1.2 理解进程间通信1.3 进程间通信发展1.4 进程间通信分类 二、管道2.1 什么是管道2.2 管道的原理2.3 匿名管道2.3.1 pipe函数2.3.2 匿名管道的实现2.3.3 匿名管道小结2.3.3.1 匿名管道的四种情况2.3.3.2 匿名管道的五种特性 2.3.4 匿名管…...
Fama MacBeth两步法与多因子模型的回归检验
Fama MacBeth两步法与多因子模型的回归检验 – 潘登同学的因子投资笔记 本文观点来自最近学习的石川老师《因子投资:方法与实践》一书 文章目录 Fama MacBeth两步法与多因子模型的回归检验 -- 潘登同学的因子投资笔记 多因子回归检验时序回归检验截面回归检验Fama–…...
Postman[4] 环境设置
作用:不同的环境可以定义不同的参数,在运行请求时可以根据自己的需求选择需要的环境 1.创建Environment 步骤: Environment-> ->命名->添加环境变量 2.使用Environment 步骤:Collection- >右上角选择需要的环境...
【paddle】初次尝试
张量 张量是 paddlepaddle, torch, tensorflow 等 python 主流机器学习包中唯一通货变量,因此应当了解其基本的功能。 张量 paddle.Tensor 与 numpy.array 的转化 import paddle as paddle import matplotlib.pyplot as plt apaddle.to_t…...
开源架构中的数据库选择优化版
上一篇文章推荐: 开源架构学习指南:文档与资源的智慧锦囊(New) 我管理的社区推荐:【青云交社区】和【架构师社区】 推荐技术圈福利社群:点击快速加入 开源架构中的数据库选择优化版 一、引言二、关系型开源…...
Echarts+vue电商平台数据可视化——webSocket改造项目
websocket的基本使用,用于测试前端能否正常获取到后台数据 后台代码编写: const path require("path"); const fileUtils require("../utils/file_utils"); const WebSocket require("ws"); // 创建WebSocket服务端的…...
【网络安全实验室】SQL注入实战详情
如果额头终将刻上皱纹,你只能做到,不让皱纹刻在你的心上 1.最简单的SQL注入 查看源代码,登录名为admin 最简单的SQL注入,登录名写入一个常规的注入语句: 密码随便填,验证码填正确的,点击登录…...
【信息系统项目管理师】第14章:项目沟通管理过程详解
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 一、规划沟通管理1、输入2、工具与技术3、输出二、管理沟通1、输入2、工具与技术3、输出三、监督沟通1、输入2、工具与技术3、输出一、规划沟通管理 定义:规划沟通管理是基于每个干系人或干系人群体的信息需求…...
YOLOv5部署到web端(flask+js简单易懂)
文章目录 前言最终实现效果图后端实现 主界面检测函数检测结果显示 前端实现 主界面(index.html)显示图片界面 总结 前言 最近,老板让写一个程序把yolov5检测模型部署到web端,在网页直接进行目标检测。经过1个星期的努力,终于实…...
什么是自治系统和非自治系统
自治系统 自治系统的特征是其状态方程不依赖于时间。举个简单的例子,考虑一阶常微分方程: d x d t − x \frac{dx}{dt} -x dtdx−x 这是一个经典的指数衰减过程,其中状态 (x) 随时间 (t) 衰减。这个系统是自治的,因为它的演…...
使用 CSS 的 `::selection` 伪元素来改变 HTML 文本选中时的背景颜色
定义 ::selection 伪元素: 在你的 CSS 文件中,添加 ::selection 伪元素,并设置 background-color 属性来改变选中文本的背景颜色。 示例代码: ::selection {background-color: yellow; /* 你可以根据需要更改颜色 */color: black…...
从0入门自主空中机器人-3-【环境与常用软件安装】
关于本课程: 本次课程是一套面向对自主空中机器人感兴趣的学生、爱好者、相关从业人员的免费课程,包含了从硬件组装、机载电脑环境设置、代码部署、实机实验等全套详细流程,带你从0开始,组装属于自己的自主无人机,并让…...
jmeter分布式启动
https://www.cnblogs.com/qtclm/p/11082081.html 1、代理机:输入“ipconfig”,找到IP地址,在Jmeter/bin/jmeter.properties设置remote host 启动jmeter server 1、控制机:输入“ipconfig”,找到IP地址,在J…...
【Linux】HTTP cookie与session
在登录B站时,有登录和未登录两种状态, 问题:B站是如何认识我这个登录用户的?问题:HTTP是无状态、无连接的,怎么能够记住我? HTTP协议是无状态、无连接的。比如客户端(浏览器&#…...
20. 【.NET 8 实战--孢子记账--从单体到微服务】--简易权限--补充--自动添加接口地址
在同学学习过程,部分同学向我反馈说每次新增接口都要在接口表里手动添加一条接口很麻烦,因此我把项目代码做了一个改动,使我们不需要手动添加,每次项目运行起来后就会自动把新的接口地址添加进去。 一、实现 首先,我…...
[Linux] 服务器CPU信息
(1)查看CPU信息(型号) cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c输出:可以看到有128个虚拟CPU核心,型号是后面一串 128 Intel(R) Xeon(R) Platinum 8336C CPU 2.30GHz(2&…...
java_使用阿里云oss服务存储图片
什么情况下可以使用阿里云oss服务存储图片? 对图片的访问速度有高要求时使用,方便用户快速的(比如在网页页面中)访问到图像 参考:41 尚上优选项目-平台管理端-商品信息管理模块-阿里云OSS介绍_哔哩哔哩_bilibili 1.…...
Dali 1.1.4 | 解锁版AI图像生成器,无限生成
Dali是一款先进的AI图像生成器应用程序,能够根据您的描述生成不同风格的独特图像。它不仅限于生成艺术作品,还可以创建创新的纹身设计、独一无二的标志以及超写实照片。该软件使用尖端技术,将想象力转化为现实,提供迷人的数字艺术…...
快手视频不让下载怎么保存到相册
快手,作为国内领先的短视频平台之一,吸引了无数用户发布创意视频、分享生活点滴。随着短视频版权保护和用户隐私问题的日益严重,越来越多的视频内容在平台内都采取了“不让下载”的限制。面对这一情况,很多用户都希望能够保存自己…...
Linux环境下CUDA与对应版本CuDNN的安装指南
转载:Linux环境下CUDA与对应版本CuDNN的安装指南-百度开发者中心...
mybatisPlus打印sql配置
MyBatis-Plus 提供了方便的配置方式来打印 SQL 查询语句,以便进行调试和性能分析。可以通过配置 log 来输出 SQL 语句以及执行的参数。 方法 1:通过 application.properties 或 application.yml 配置打印 SQL 可以通过配置 application.properties 或 a…...
InstructGPT:基于人类反馈训练语言模型遵从指令的能力
大家读完觉得有意义记得关注和点赞!!! 大模型进化树,可以看到 InstructGPT 所处的年代和位置。来自 大语言模型(LLM)综述与实用指南(Amazon,2023) 目录 摘要 1 引言 …...
曾仕强解读《易经》
曾仕强对《易经》的解读内容丰富、深入浅出,以下是一些主要方面: 讲解《易经》基本原理 - 阴阳之道:曾仕强将阴阳比作白天与黑夜、男人与女人等,指出阴阳看似对立,实则相辅相成,强调为人处世要把握阴阳…...
http报头解析
http报文 http报文主要有两类是常见的,第一类是请求报文,第二类是响应报文,每个报头除了第一行,都是采用键值对进行传输数据,请求报文的第一行主要包括http方法(GET,PUT, POST&#…...
什么是Sight Words(信号词)
🧡什么是Sight Words(信号词) 简单来说,Sight Words就是我们在日常英语中常用的一些基本词汇。可以把它想象成是学练英语的“基础词汇”,这些词在各种考试中经常出现,也是在生活中必不可少的。 …...
tiny RISCV项目学习
参考视频:第1期 开发环境准备 —— RISC-V囫囵吞枣式学习_哔哩哔哩_bilibili 项目地址:tinyriscv: 一个从零开始写的极简、非常易懂的RISC-V处理器核。...
LeetCode 力扣 热题 100道(二十七)除自身以外数组的乘积(C++)
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂…...
Kotlin在医疗大健康域的应用实例探究与编程剖析(上)
一、引言 1.1 研究背景与意义 在当今数字化时代,医疗行业正经历着深刻的变革。随着信息技术的飞速发展,尤其是人工智能、大数据、物联网等新兴技术的广泛应用,医疗行业数字化转型已成为必然趋势。这种转型旨在提升医疗服务的效率和质量,优化医疗资源配置,为患者提供更加…...
【Spring】事务
在软件开发中,事务确保一组操作要么全部成功,要么全部失败,这对于数据库操作尤为重要,因为任何单一操作的失败都可能导致数据不一致。Spring 事务管理通过 Transactional 注解实现,能够轻松地在数据层和业务层维护数据…...
canvas+fabric实现时间刻度尺(二)
前言 我们前面实现了时间刻度尺,鼠标移动显示时间,接下来我们实现鼠标点击某个时间进行弹框。 效果 实现 1.监听鼠标按下事件 2.编写弹框页面 3.时间转换 <template><div><canvas id"rulerCanvas" width"1200"…...
IPv6的过度技术
如何界定手动与自动? 主要是隧道目标地址能否自动获取 👯1. 双栈 必须支持IPv4和IPv6协议 链接双栈网络的接口必须同时配置v4和v6地址 路由器能够根据二层标记识别协议,type:0x0800代表IPV4,type:0x…...
介绍 Apache Spark 的基本概念和在大数据分析中的应用。
Apache Spark是一个开源的大数据处理框架,可用于高速处理和分析大规模数据集。它可以在分布式集群上运行,并且具有内存计算的能力,因此可以比传统的批处理框架更快地处理数据。 在Spark中,数据被表示为弹性分布式数据集ÿ…...
VA01/VA02检查增强
VA01/VA02检查增强 一、增强描述 VA01/VA02创建或修改SO时候,在点击“保存”按钮的节点,客户需求对一些约束条件进行检查,此处以 SO行项目对应的“利润中心”字段必输为例。通过查询更多的增强:SPRO–销售和分销–系统修正–用户…...
基于SpringBoot和Leaflet的全球机场空间分布可视化实战
目录 前言 一、航空机场的空间模型 1、空间表简介 2、数据查询 二、机场WebGIS空间分布可视化 1、后台数据查询 2、Leaflet页面开发 三、WebGIS分析 1、全球航空格局 2、我国机场影像 四、总结 前言 时光轻轻挥别2024,来到了2025年。在崭新的2025年里&am…...
FPGA交通灯实现
1 原理 FPGA(现场可编程门阵列)交通灯实现原理主要是基于硬件描述语言(如VHDL或Verilog)编程,通过FPGA内部的逻辑单元和寄存器来实现交通灯的控制功能。以下是对FPGA交通灯实现原理的详细解释: 一、交通灯的基本功能 交通灯的主要功能包括红灯、黄灯和绿灯的显示,以及…...
厦门大学联合网易提出StoryWeaver,可根据统一模型内给定的角色实现高质量的故事可视化
厦门大学联合网易提出StoryWeaver,可以根据统一模型内给定的角色实现高质量的故事可视化。可根据故事文本生成与之匹配的图像,并且确保每个角色在不同的场景中保持一致。本文的方法主要包括以下几个步骤: 角色图构建:设计一个角色…...