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

nginx配置文件介绍及示例

一、nginx配置文件一共有main,http,server,location,upstream,stream,events7个块。

step 1: main 块

作用:main 块是 Nginx 配置文件的顶级块,用于设置一些全局的参数和配置,这些配置会影响整个 Nginx 服务器的运行行为。
常见配置指令:
user:指定 Nginx 工作进程运行的用户和用户组,例如 user nginx nginx;。
worker_processes:设置 Nginx 工作进程的数量,一般根据服务器的 CPU 核心数来确定,如 worker_processes 4; 表示启动 4 个工作进程。
error_log:定义错误日志的路径和级别,如 error_log /var/log/nginx/error.log error;。
pid:指定 Nginx 主进程的进程 ID 文件的路径,例如 pid /var/run/nginx.pid;。

step 2:http 块

作用:http 块用于配置 HTTP 相关的功能和参数,包括服务器虚拟主机的定义、请求处理规则、缓存设置、日志配置等,是 Nginx 处理 HTTP 流量的核心配置部分。
常见配置指令:
server:用于定义一个虚拟主机,在其中可以配置监听端口、域名、请求处理的 location 等,例如:
access_log:配置访问日志的路径和格式,如 access_log /var/log/nginx/access.log combined;。
sendfile:设置是否启用 sendfile 功能来提高文件传输效率,如 sendfile on;。
gzip:开启或关闭 Gzip 压缩,并配置相关参数,如压缩级别、压缩的 MIME 类型等。

step 3:server 块

作用:server 块定义了一个虚拟主机,用于处理特定域名或 IP 地址的 HTTP 请求。一个 http 块中可以包含多个 server 块,每个 server 块对应一个不同的虚拟主机。
常见配置指令:
listen:指定虚拟主机监听的端口,如 listen 80; 或 listen 443 ssl; 表示监听 80 端口或 443 端口并启用 SSL。
server_name:设置虚拟主机对应的域名或 IP 地址,可以是单个域名,也可以是多个域名的列表,如 server_name example.com www.example.com;。
location:用于配置针对不同 URL 路径的请求处理规则。

step 4:location 块

作用:location 块用于根据请求的 URL 路径来匹配并处理请求,可以在 server 块内定义多个 location 块,以实现对不同路径的请求进行不同的处理。
常见配置指令:
root:指定请求的根目录,如 root /var/www/html; 表示将以该目录作为请求的根目录来查找文件。
index:设置默认的索引文件,如 index index.html index.htm; 表示当请求的路径为目录时,优先查找并返回这些索引文件。
proxy_pass:用于将请求反向代理到后端服务器,如 proxy_pass http://backend_server; 表示将请求转发到名为 backend_server 的后端服务器。

step 5:upstream 块

作用:upstream 块用于定义一组后端服务器,以便在进行反向代理或负载均衡时使用,可以在 http 块或 server 块中使用。
常见配置指令:
server:指定后端服务器的地址和端口,如 server backend1.example.com; 或 server backend2.example.com:8080;。
weight:为后端服务器设置权重,用于负载均衡时调整服务器的负载分配比例,如 server backend1.example.com weight=3; 表示该服务器的权重为 3,相对权重更高,会接收更多的请求。

step 6:stream 块

作用:stream 块用于处理 TCP 和 UDP 流量,类似于 http 块对 HTTP 流量的处理,可以定义 TCP 或 UDP 服务器、负载均衡等配置。
常见配置指令:
server:在 stream 块中定义一个 TCP 或 UDP 服务器,如 server { listen 1234; proxy_pass backend_server:5678; } 表示监听 1234 端口,并将流量代理到后端服务器的 5678 端口。
upstream:与 http 中的 upstream 类似,用于定义一组后端的 TCP 或 UDP 服务器,实现流量的负载均衡。

step 7:events 块

作用:events 块用于配置 Nginx 的事件处理模型相关的参数,主要影响 Nginx 对连接的处理方式和性能表现。
常见配置指令:
worker_connections:设置每个工作进程允许的最大连接数,例如 worker_connections 1024; 表示每个工作进程最多可以处理 1024 个并发连接。
use:指定使用的事件处理模型,如 use epoll; 表示使用 epoll 模型,不同的操作系统可能支持不同的事件处理模型,选择合适的模型可以提高性能。

二、常用的配置示例。

示例一:三节点192.168.0.90:81,192.168.0.91:81,192.168.0.92:81配置负载均衡,监听端口为80。

http {upstream backend_servers {server 192.168.0.90:81;server 192.168.0.92:81;server 192.168.0.91:81;}server {listen 80;server_name your_domain_name;  # 替换为你的域名或IP地址(如果需要通过域名访问)location / {proxy_pass http://backend_servers;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}}
}

示例二:三节点192.168.0.90:81,192.168.0.91:81,192.168.0.92:81配置负载均衡,监听端口为80,算法为加权轮询,30秒内如果有3次连接失败,停止向该服务器转发请求。

http {upstream backend_servers {server 192.168.0.90:81 weight=3 max_fails=3 fail_timeout=30s;server 192.168.0.92:81 weight=1 max_fails=3 fail_timeout=30s;server 192.168.0.91:81 weight=2 max_fails=3 fail_timeout=30s;}server {listen 80;server_name your_domain_name;  # 替换为你的域名或IP地址(如果需要通过域名访问)location / {proxy_pass http://backend_servers;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}}
}

示例三:三节点192.168.0.90:81,192.168.0.91:81,192.168.0.92:81配置负载均衡,监听端口为80;算法为加权轮询,30秒内如果有3次连接失败,停止向该服务器转发请求;开启与后端服务器的长连接。

http {upstream gdmp_servers {server 192.168.0.90:81 weight=3 max_fails=3 fail_timeout=30s;server 192.168.0.92:81 weight=1 max_fails=3 fail_timeout=30s;server 192.168.0.91:81 weight=2 max_fails=3 fail_timeout=30s;     }server {listen 80;server_name your_domain_name;  # 替换为你的域名或IP地址(如果需要通过域名访问)location / {#转发的后端服务器地址proxy_pass http://gdmp;#代理请求头中客户端请求的目标域名或 IP 地址和端口号proxy_set_header Host $host;#获取真实客户端 IP 地址proxy_set_header X-Real-IP $remote_addr;# 开启与后端服务器的长连接proxy_http_version 1.1;proxy_set_header Connection "";}}
}

示例四:三节点192.168.0.90:81,192.168.0.91:81,192.168.0.92:81配置负载均衡,监听端口为80;算法为加权轮询,30秒内如果有3次连接失败,停止向该服务器转发请求;开启与后端服务器的长连接,配置超时时间。

http {upstream gdmp_servers {server 192.168.0.90:81 weight=3 max_fails=3 fail_timeout=30s;server 192.168.0.92:81 weight=1 max_fails=3 fail_timeout=30s;server 192.168.0.91:81 weight=2 max_fails=3 fail_timeout=30s;# 设置连接超时时间为300秒keepalive_timeout 300s;       }server {listen 80;server_name your_domain_name;  # 替换为你的域名或IP地址(如果需要通过域名访问)# 设置连接后端服务器的超时时间为300秒proxy_connect_timeout 300s;# 设置从后端服务器读取数据的超时时间为300秒proxy_read_timeout 300s;# 设置向后端服务器发送数据的超时时间为300秒proxy_send_timeout 300slocation / {#转发的后端服务器地址proxy_pass http://gdmp;#代理请求头中客户端请求的目标域名或 IP 地址和端口号proxy_set_header Host $host;#获取真实客户端 IP 地址proxy_set_header X-Real-IP $remote_addr;# 开启与后端服务器的长连接proxy_http_version 1.1;proxy_set_header Connection "";}}
}

示例五:三节点192.168.0.90:81,192.168.0.91:81,192.168.0.92:81配置负载均衡,监听端口为80;算法为加权轮询,30秒内如果有3次连接失败,停止向该服务器转发请求;开启与后端服务器的长连接,配置超时时间,配置错误页面跳转,配置日志。

http {#自定义日志格式log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';# 配置访问日志,使用了名为main的日志格式access_log /var/log/nginx/access.log main;# 配置错误日志,默认日志级别error_log /var/log/nginx/error.log;upstream gdmp_servers {server 192.168.0.90:81 weight=3 max_fails=3 fail_timeout=30s;server 192.168.0.92:81 weight=1 max_fails=3 fail_timeout=30s;server 192.168.0.91:81 weight=2 max_fails=3 fail_timeout=30s;# 设置连接超时时间为300秒keepalive_timeout 300s;       }server {listen 80;server_name your_domain_name;  # 替换为你的域名或IP地址(如果需要通过域名访问)# 设置连接后端服务器的超时时间为300秒proxy_connect_timeout 300s;# 设置从后端服务器读取数据的超时时间为300秒proxy_read_timeout 300s;# 设置向后端服务器发送数据的超时时间为300秒proxy_send_timeout 300slocation / {#转发的后端服务器地址proxy_pass http://gdmp;#代理请求头中客户端请求的目标域名或 IP 地址和端口号proxy_set_header Host $host;#获取真实客户端 IP 地址proxy_set_header X-Real-IP $remote_addr;# 开启与后端服务器的长连接proxy_http_version 1.1;proxy_set_header Connection "";}# 配置错误页面跳转error_page 500 502 503 504 /error.html;location = /error.html {internal;root /usr/share/nginx/html;}# 配置访问日志,访问日志使用了combined这种预定义的日志格式access_log /var/log/nginx/example.com_access.log combined;# 配置错误日志,只记录警告及更严重级别的错误信息。error_log /var/log/nginx/example.com_error.log warn;}
}

示例六:三节点192.168.0.90:81,192.168.0.91:81,192.168.0.92:81配置负载均衡,监听端口为80;算法为加权轮询,30秒内如果有3次连接失败,停止向该服务器转发请求;开启与后端服务器的长连接,配置超时时间,配置错误页面跳转,配置日志,配置发送文件。

http {#自定义日志格式log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';# 配置访问日志,使用了名为main的日志格式access_log /var/log/nginx/access.log main;# 配置错误日志,默认日志级别error_log /var/log/nginx/error.log;upstream gdmp_servers {server 192.168.0.90:81 weight=3 max_fails=3 fail_timeout=30s;server 192.168.0.92:81 weight=1 max_fails=3 fail_timeout=30s;server 192.168.0.91:81 weight=2 max_fails=3 fail_timeout=30s;# 设置连接超时时间为300秒keepalive_timeout 300s;       }server {listen 80;server_name your_domain_name;  # 替换为你的域名或IP地址(如果需要通过域名访问)# 设置连接后端服务器的超时时间为300秒proxy_connect_timeout 300s;# 设置从后端服务器读取数据的超时时间为300秒proxy_read_timeout 300s;# 设置向后端服务器发送数据的超时时间为300秒proxy_send_timeout 300s#启用 sendfile 机制来处理文件传输sendfile        on;#Nginx 会尝试将多个小的数据包合并成一个较大的数据包,然后再一次性发送给客户端tcp_nopush      on;#TCP 连接上禁用 Nagle 算法tcp_nodelay     on;location / {#转发的后端服务器地址proxy_pass http://gdmp;#代理请求头中客户端请求的目标域名或 IP 地址和端口号proxy_set_header Host $host;#获取真实客户端 IP 地址proxy_set_header X-Real-IP $remote_addr;# 开启与后端服务器的长连接proxy_http_version 1.1;proxy_set_header Connection "";}# 配置错误页面跳转error_page 500 502 503 504 /error.html;location = /error.html {internal;root /usr/share/nginx/html;}# 配置访问日志,访问日志使用了combined这种预定义的日志格式access_log /var/log/nginx/example.com_access.log combined;# 配置错误日志,只记录警告及更严重级别的错误信息。error_log /var/log/nginx/example.com_error.log warn;}
}

示例七:三节点192.168.0.90:81,192.168.0.91:81,192.168.0.92:81配置负载均衡,监听端口为80;算法为加权轮询,30秒内如果有3次连接失败,停止向该服务器转发请求;开启与后端服务器的长连接,配置超时时间,配置错误页面跳转,配置日志,配置发送文件,开启gzip压缩。

http {#自定义日志格式log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';# 配置访问日志,使用了名为main的日志格式access_log /var/log/nginx/access.log main;# 配置错误日志,默认日志级别error_log /var/log/nginx/error.log;upstream gdmp_servers {server 192.168.0.90:81 weight=3 max_fails=3 fail_timeout=30s;server 192.168.0.92:81 weight=1 max_fails=3 fail_timeout=30s;server 192.168.0.91:81 weight=2 max_fails=3 fail_timeout=30s;# 设置连接超时时间为300秒keepalive_timeout 300s;       }server {listen 80;server_name your_domain_name;  # 替换为你的域名或IP地址(如果需要通过域名访问)# 设置连接后端服务器的超时时间为300秒proxy_connect_timeout 300s;# 设置从后端服务器读取数据的超时时间为300秒proxy_read_timeout 300s;# 设置向后端服务器发送数据的超时时间为300秒proxy_send_timeout 300s#启用 sendfile 机制来处理文件传输sendfile        on;#Nginx 会尝试将多个小的数据包合并成一个较大的数据包,然后再一次性发送给客户端tcp_nopush      on;#TCP 连接上禁用 Nagle 算法tcp_nodelay     on;location / {#转发的后端服务器地址proxy_pass http://gdmp;#代理请求头中客户端请求的目标域名或 IP 地址和端口号proxy_set_header Host $host;#获取真实客户端 IP 地址proxy_set_header X-Real-IP $remote_addr;# 开启与后端服务器的长连接proxy_http_version 1.1;proxy_set_header Connection "";}# 配置错误页面跳转error_page 500 502 503 504 /error.html;location = /error.html {internal;root /usr/share/nginx/html;}# 配置访问日志,访问日志使用了combined这种预定义的日志格式access_log /var/log/nginx/example.com_access.log combined;# 配置错误日志,只记录警告及更严重级别的错误信息。error_log /var/log/nginx/example.com_error.log warn;#开启gzipgzip on;#开启静态页面压缩gzip_static on;#特定浏览器禁用 gzip 压缩的指令,解决浏览器兼容性问题gzip_disable "MSIE [1-6].";#压缩级别5gzip_comp_level 5;#只有文件大小在 1 千字节及以上的文件才会被压缩gzip_min_length 1k;#启用4 个缓冲区来用于 gzip 压缩;每个缓冲区的大小为 16 千字节gzip_buffers    4 16k;#压缩的对象类型gzip_types text/xml text/csstext/plaintext/csvtext/javascripttext/jsontext/x-componentapplication/javascriptapplication/x-javascriptapplication/xmlapplication/jsonapplication/xhtml+xmlapplication/rss+xmlapplication/atom+xmlapplication/x-font-ttfapplication/x-web-app-manifest+jsonapplication/vnd.ms-fontobjectimage/svg+xmlimage/x-iconfont/ttffont/opentype;#不会在响应头中添加Vary: Accept-Encoding字段gzip_vary off;}
}

示例八:三节点192.168.0.90:81,192.168.0.91:81,192.168.0.92:81配置负载均衡,监听端口为80;算法为加权轮询,30秒内如果有3次连接失败,停止向该服务器转发请求;开启与后端服务器的长连接,配置超时时间,配置错误页面跳转,配置日志,配置发送文件,开启gzip压缩,配置ssl证书。

http {#自定义日志格式log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';# 配置访问日志,使用了名为main的日志格式access_log /var/log/nginx/access.log main;# 配置错误日志,默认日志级别error_log /var/log/nginx/error.log;upstream gdmp_servers {server 192.168.0.90:81 weight=3 max_fails=3 fail_timeout=30s;server 192.168.0.92:81 weight=1 max_fails=3 fail_timeout=30s;server 192.168.0.91:81 weight=2 max_fails=3 fail_timeout=30s;# 设置连接超时时间为300秒keepalive_timeout 300s;       }server {listen 80;server_name your_domain_name;  # 替换为你的域名或IP地址(如果需要通过域名访问)# 设置连接后端服务器的超时时间为300秒proxy_connect_timeout 300s;# 设置从后端服务器读取数据的超时时间为300秒proxy_read_timeout 300s;# 设置向后端服务器发送数据的超时时间为300秒proxy_send_timeout 300s#启用 sendfile 机制来处理文件传输sendfile        on;#Nginx 会尝试将多个小的数据包合并成一个较大的数据包,然后再一次性发送给客户端tcp_nopush      on;#TCP 连接上禁用 Nagle 算法tcp_nodelay     on;location / {#转发的后端服务器地址proxy_pass http://gdmp;#代理请求头中客户端请求的目标域名或 IP 地址和端口号proxy_set_header Host $host;#获取真实客户端 IP 地址proxy_set_header X-Real-IP $remote_addr;# 开启与后端服务器的长连接proxy_http_version 1.1;proxy_set_header Connection "";}# 配置错误页面跳转error_page 500 502 503 504 /error.html;location = /error.html {internal;root /usr/share/nginx/html;}# 配置访问日志,访问日志使用了combined这种预定义的日志格式access_log /var/log/nginx/example.com_access.log combined;# 配置错误日志,只记录警告及更严重级别的错误信息。error_log /var/log/nginx/example.com_error.log warn;#开启gzipgzip on;#开启静态页面压缩gzip_static on;#特定浏览器禁用 gzip 压缩的指令,解决浏览器兼容性问题gzip_disable "MSIE [1-6].";#压缩级别5gzip_comp_level 5;#只有文件大小在 1 千字节及以上的文件才会被压缩gzip_min_length 1k;#启用4 个缓冲区来用于 gzip 压缩;每个缓冲区的大小为 16 千字节gzip_buffers    4 16k;#压缩的对象类型gzip_types text/xml text/csstext/plaintext/csvtext/javascripttext/jsontext/x-componentapplication/javascriptapplication/x-javascriptapplication/xmlapplication/jsonapplication/xhtml+xmlapplication/rss+xmlapplication/atom+xmlapplication/x-font-ttfapplication/x-web-app-manifest+jsonapplication/vnd.ms-fontobjectimage/svg+xmlimage/x-iconfont/ttffont/opentype;#不会在响应头中添加Vary: Accept-Encoding字段gzip_vary off;#证书路径ssl_certificate  /etc/nginx/cert/gdmp.com.pem;#证书密钥路径ssl_certificate_key  /etc/nginx/cert/gdmp.com.key;# SSL 会话超时时间为5分钟ssl_session_timeout 5m;#允许使用的加密算法套件ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;#指定服务器支持的 SSL/TLS 协议版本ssl_protocols TLSv1 TLSv1.1 TLSv1.2;#优先选择服务器配置的加密算法套件ssl_prefer_server_ciphers on;    }
}

示例九:三节点192.168.0.90:81,192.168.0.91:81,192.168.0.92:81配置负载均衡,监听端口为80;算法为hash,30秒内如果有3次连接失败,停止向该服务器转发请求;开启与后端服务器的长连接,配置超时时间,配置错误页面跳转,配置日志,配置发送文件,开启gzip压缩,配置ssl证书。

http {#自定义日志格式log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';# 配置访问日志,使用了名为main的日志格式access_log /var/log/nginx/access.log main;# 配置错误日志,默认日志级别error_log /var/log/nginx/error.log;upstream gdmp_servers {hash $remote_addr consistent;  # 通过配置一致性 hash 来防止调度异常server 192.168.0.90:81 weight=3 max_fails=3 fail_timeout=30s;server 192.168.0.92:81 weight=1 max_fails=3 fail_timeout=30s;server 192.168.0.91:81 weight=2 max_fails=3 fail_timeout=30s;# 设置连接超时时间为300秒keepalive_timeout 300s;       }server {listen 80;server_name your_domain_name;  # 替换为你的域名或IP地址(如果需要通过域名访问)# 设置连接后端服务器的超时时间为300秒proxy_connect_timeout 300s;# 设置从后端服务器读取数据的超时时间为300秒proxy_read_timeout 300s;# 设置向后端服务器发送数据的超时时间为300秒proxy_send_timeout 300s#启用 sendfile 机制来处理文件传输sendfile        on;#Nginx 会尝试将多个小的数据包合并成一个较大的数据包,然后再一次性发送给客户端tcp_nopush      on;#TCP 连接上禁用 Nagle 算法tcp_nodelay     on;location / {#转发的后端服务器地址proxy_pass http://gdmp;#代理请求头中客户端请求的目标域名或 IP 地址和端口号proxy_set_header Host $host;#获取真实客户端 IP 地址proxy_set_header X-Real-IP $remote_addr;# 开启与后端服务器的长连接proxy_http_version 1.1;proxy_set_header Connection "";}# 配置错误页面跳转error_page 500 502 503 504 /error.html;location = /error.html {internal;root /usr/share/nginx/html;}# 配置访问日志,访问日志使用了combined这种预定义的日志格式access_log /var/log/nginx/example.com_access.log combined;# 配置错误日志,只记录警告及更严重级别的错误信息。error_log /var/log/nginx/example.com_error.log warn;#开启gzipgzip on;#开启静态页面压缩gzip_static on;#特定浏览器禁用 gzip 压缩的指令,解决浏览器兼容性问题gzip_disable "MSIE [1-6].";#压缩级别5gzip_comp_level 5;#只有文件大小在 1 千字节及以上的文件才会被压缩gzip_min_length 1k;#启用4 个缓冲区来用于 gzip 压缩;每个缓冲区的大小为 16 千字节gzip_buffers    4 16k;#压缩的对象类型gzip_types text/xml text/csstext/plaintext/csvtext/javascripttext/jsontext/x-componentapplication/javascriptapplication/x-javascriptapplication/xmlapplication/jsonapplication/xhtml+xmlapplication/rss+xmlapplication/atom+xmlapplication/x-font-ttfapplication/x-web-app-manifest+jsonapplication/vnd.ms-fontobjectimage/svg+xmlimage/x-iconfont/ttffont/opentype;#不会在响应头中添加Vary: Accept-Encoding字段gzip_vary off;#证书路径ssl_certificate  /etc/nginx/cert/gdmp.com.pem;#证书密钥路径ssl_certificate_key  /etc/nginx/cert/gdmp.com.key;# SSL 会话超时时间为5分钟ssl_session_timeout 5m;#允许使用的加密算法套件ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;#指定服务器支持的 SSL/TLS 协议版本ssl_protocols TLSv1 TLSv1.1 TLSv1.2;#优先选择服务器配置的加密算法套件ssl_prefer_server_ciphers on;    }
}

备注:
proxy_connect_timeout,proxy_read_timeout ,proxy_send_timeout 只能在server或location块。
access_log,error_log指令通常应该在 http、server或 location块中使用。
sendfile 指令通常只能在 http、server 或 location 等特定的配置块中使用。
upstream 指令可以在 http 块和 server 块中使用。
stream指令可以在main 块使用,也可以在http 块之外独立的 stream 块。
证书只能在server或stream块。
gzip通常在 http或server块中使用。

相关文章:

nginx配置文件介绍及示例

一、nginx配置文件一共有main,http,server,location,upstream,stream,events7个块。 step 1: main 块 作用:main 块是 Nginx 配置文件的顶级块,用于设置一些全局的参数和配置&…...

如何在算家云搭建YOLOv5(物体检测)

一、YOLOv5简介 YOLOv5 模型是一种以实时物体检测闻名的计算机视觉模型,由 Ultralytics 开发,并于 2020 年年中发布。它是 YOLO 系列的升级版,继承了 YOLO 系列以实时物体检测能力而著称的特点。 二、模型搭建流程 1.选择模型实例 在应用…...

现场工程师日记-MSYS2迅速部署PostgreSQL主从备份数据库

文章目录 一、概要二、整体架构流程1. 安装 MSYS2 环境2. 安装postgresql 三、技术名词解释1.MSYS22.postgresql 四、技术细节1. 创建主数据库2.添加从数据库复制权限3. 按需修改参数(1)WAL保留空间(2)监听地址 4. 启动主服务器5.…...

使用Element UI实现一个拖拽图片上传,并可以Ctrl + V获取图片实现文件上传

要在 Element UI 的拖拽上传组件中实现 Ctrl V 图片上传功能,可以通过监听键盘事件来捕获粘贴操作,并将粘贴的图片数据上传到服务器。 版本V1,实现获取粘贴板中的文件 注意,本案例需要再你已经安装了Element UI并在项目中正确配…...

私域流量圈层在新消费时代的机遇与挑战:兼论开源 AI 智能名片、2 + 1 链动模式、S2B2C 商城小程序的应用

摘要:本文剖析了私域流量圈层在新消费时代呈现出的独特温度与信任优势,阐述了从传统销售到新消费转型中用户心理的变化。同时,强调了内容对于私域流量的关键作用,并分析开源 AI 智能名片、2 1 链动模式、S2B2C 商城小程序在私域流…...

vxe-vxe-colgroup后端返回数据 对数据进行处理 动态合并分组表头(v-if控制表格渲染(数据请求完成后渲染))

1.html vxe-colgroup循环合并数据&#xff1b;v-if控制表格渲染&#xff08;数据请求完成后渲染&#xff09; <template><vxe-table v-if"isTableReady" :data"tableData"><vxe-colgroup title"基本信息"><template v-for…...

ESLint 使用教程(五):从输入 eslint 命令到最终代码被处理,ESLint 中间究竟做了什么工作

前言 ESLint 是现代 JavaScript 开发中不可或缺的代码质量工具。它能够帮助开发者找到并修复代码中的问题&#xff0c;提升代码的可维护性。但是&#xff0c;你可能会好奇&#xff1a;从我们在终端里输入 eslint 命令到最终代码被处理&#xff0c;ESLint 中间究竟做了什么工作…...

【安全测试】sqlmap工具(sql注入)学习

前言&#xff1a;sqimap是一个开源的渗透测试工具&#xff0c;它可以自动化检测和利用SQL注入缺陷以及接管数据库服务器的过程。它有一个强大的检测引擎&#xff0c;许多适合于终极渗透测试的小众特性和广泛的开关&#xff0c;从数据库指纹、从数据库获 取数据到访问底层文件系…...

YOLOv11融合CVPR[2023]空间和通道重建卷积ScConv模块及相关改进思路|YOLO改进最简教程

YOLOv11v10v8使用教程&#xff1a; YOLOv11入门到入土使用教程 YOLOv11改进汇总贴&#xff1a;YOLOv11及自研模型更新汇总 《SCConv: Spatial and Channel Reconstruction Convolution for Feature Redundancy》 一、 模块介绍 论文链接&#xff1a;SCConv: Spatial and Cha…...

C++研发笔记13——C语言程序设计初阶学习笔记11

从今天开始我们开始第三模块《分支语句和循环语句》的学习&#xff0c;在本模块中我们将会涉及到以下9个内容&#xff1a;什么是语句、分支语句——if语言、分支语句——switch语句、循环语句——while循环、循环语句——for循环、循环语句——do while循环、折半查找算法、猜数…...

html5拖放

1、什么是拖放&#xff08;Drag 和 Drop&#xff09; 拖放&#xff0c;字面意思就是拖动&#xff0c;放置 在编程里面也是如此,拖放是一种常见的特性&#xff0c;即抓取对象以后拖到另一个位置。 在 HTML5 中&#xff0c;拖放是标准的一部分&#xff0c;任何元素都能够拖放。…...

卫导调零天线功率倒置算法原理及MATLAB仿真

卫导调零天线功率倒置算法原理及MATLAB仿真 文章目录 前言一、调零天线简介二、功率倒置自适应算法三、MATLAB仿真四、MATLAB代码总结 前言 \;\;\;\;\; 自适应调零抗干扰技术可以很大程度改善导航抗干扰性能&#xff0c;也是目前导航抗干扰技术中不可或缺的&#xff0c;其研究意…...

【划分型 DP】力扣139. 单词拆分

给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s 则返回 true。 注意&#xff1a;不要求字典中出现的单词全部都使用&#xff0c;并且字典中的单词可以重复使用。 示例 1&#xff1a; 输入: s “leetcode”, wordDic…...

Python学习从0到1 day26 第三阶段 Spark ④ 数据输出

半山腰太挤了&#xff0c;你该去山顶看看 —— 24.11.10 一、输出为python对象 1.collect算子 功能: 将RDD各个分区内的数据&#xff0c;统一收集到Driver中&#xff0c;形成一个List对象 语法&#xff1a; rdd.collect() 返回值是一个list列表 示例&#xff1a; from …...

AWTK fscript 中的 JSON 扩展函数

fscript 是 AWTK 内置的脚本引擎&#xff0c;开发者可以在 UI XML 文件中直接嵌入 fscript 脚本&#xff0c;提高开发效率。本文介绍一下 fscript 中的 ** JSON 扩展函数 ** 1.json_load 加载 json 数据。 原型 json_load(str) > object json_load(binary) > object js…...

动态规划 —— dp 问题-买卖股票的最佳时机III

1. 买卖股票的最佳时机III 题目链接&#xff1a; 123. 买卖股票的最佳时机 III - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-iii/description/ 2. 题目解析 3. 算法原理 状态表示&#xff1a;以某一个位置为结尾或者…...

“绽放艺术风采、激发强国力量” 海南省第十一届中小学生艺术展演活动圆满开展

2024年11月1日&#xff0c;由省教育厅主办、琼台师范学院承办的海南省第十一届中小学生艺术展演省级展演活动在海口正式拉开帷幕。来自全省各市县、省属学校等共计4000余名师生参加本届中小学生艺术展演现场展演活动。 本届展演活动以“绽放艺术风采、激发强国力量”为主题&…...

Linux之文件和目录类命令详解(2)

Linux之文件和目录类命令详解&#xff08;2&#xff09; 1、mv-移动文件或重命名2、find-查找文件和目录3、locate-快速查找文件4、du-显示目录或文件的磁盘使用情况5、df-显示文件系统的磁盘空间使用情况6、chmod-更改文件或目录的权限7、chown-更改文件或目录的拥有者8、tree…...

NVR管理平台EasyNVR多品牌NVR管理工具/设备摄像头开启ONVIF的方法

NVR小程序接入平台EasyNVR作为一款功能强大的安防视频监控平台&#xff0c;以其出色的兼容性和灵活性&#xff0c;在智慧校园、智慧工厂、智慧水利等多个场景中得到了广泛应用。本文将重点介绍如何为大华摄像头开启ONVIF协议&#xff0c;以便与EasyNVR进行无缝对接。 大华大部分…...

Pr 视频过渡:沉浸式视频

效果面板/视频过渡/沉浸式视频 Video Transitions/Immersive Video Adobe Premiere Pro 的视频过渡效果中&#xff0c;沉浸式视频 Immersive Video效果组主要用于 VR 视频剪辑之间的过渡。 自动 VR 属性 Auto VR Properties是所有 VR 视频过渡效果的通用选项。 默认勾选&#x…...

SwiftUI开发教程系列 - 第1章:简介与环境配置

1.1 SwiftUI简介 SwiftUI 是 Apple 于 2019 年推出的声明式用户界面框架&#xff0c;旨在简化 iOS、macOS、watchOS 和 tvOS 应用的 UI 开发。与 UIKit 的命令式编程方式不同&#xff0c;SwiftUI 提供了一种声明式语法&#xff0c;让开发者可以以更加直观、简洁的方式构建 UI。…...

gitlab ci/cd搭建及使用笔记

记录下使用gitlab的ci/cd的devops构建过程中&#xff0c;一些易忘点或者踩坑点&#xff1a; 官方文档中英文&#xff08;建议英文&#xff09; https://docs.gitlab.com/ee/ci/yaml/artifacts_reports.html https://gitlab.cn/docs/jh/ci/pipelines/schedules.html为什么创建了…...

Xcode 16 中 Swift Testing 的参数化(Parameterized)机制趣谈

概述 我们之前曾在 《用接地气的例子趣谈 WWDC 24 全新的 Swift Testing 入门》系列博文以及《WWDC24&#xff08;Xcode 16&#xff09;中全新的 Swift Testing 使用进阶》博文中较为系统地介绍了今年 WWDC 24 中全新的 Swift Testing 测试系统。 不过 Swift Testing 的本领远…...

Python自动化运维DevSecOps与安全自动化

Python自动化运维DevSecOps与安全自动化 目录 &#x1f6e1;️ DevSecOps概念与实践&#x1f50d; 自动化安全扫描与漏洞修复&#x1f9f0; 基于Python的安全审计与合规性检查&#x1f433; 云平台与容器安全&#xff1a;基于Python的容器扫描工具⚠️ 自定义安全检测与漏洞修…...

2024下半年系统架构师考试【回忆版】

2024年11月10日&#xff0c;系统架构师考试如期举行&#xff0c;屡战屡败的参试倒是把北京的学校转了好几所。 本次考试时间 考试科目考试时间综合知识、案例分析8:30 - 12:30论文14:30 - 16:30 综合知识 1、1-1000以内包含5的数字个数 2、 案例分析 1、RESTful 对于前后…...

UE5.4 PCG 自定义PCG蓝图节点

ExecuteWithContext&#xff1a; PointLoopBody&#xff1a; 效果&#xff1a;点密度值与缩放成正比...

迁移学习相关基础

迁移学习 目标 将某个领域或任务上学习到的知识或模式应用到不同但相关的领域或问题中。 主要思想 从相关领域中迁移标注数据或者知识结构、完成或改进目标领域或任务的学习效果。 概述 Target data&#xff1a;和你的任务有直接关系的数据&#xff0c;但数据量少&#xff…...

华为云计算HCIE-Cloud Computing V3.0试验考试北京考场经验分享

北京试验考场 北京考场位置 1.试验考场地址 北京市海淀区北清路156号中关村环保科技示范园区M地块Q21楼 考试场选择北京&#xff0c;就是上面这个地址&#xff0c;在预约考试的时候会显示地址&#xff0c;另外在临近考试的时候也会给你发邮件&#xff0c;邮件内会提示你考试…...

数据分析——学习框架

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

量化交易系统开发-实时行情自动化交易-3.4.2.Okex行情交易数据

19年创业做过一年的量化交易但没有成功&#xff0c;作为交易系统的开发人员积累了一些经验&#xff0c;最近想重新研究交易系统&#xff0c;一边整理一边写出来一些思考供大家参考&#xff0c;也希望跟做量化的朋友有更多的交流和合作。 接下来聊聊基于Okex交易所API获取行情数…...

工业设计公司经营范围有哪些/长沙关键词优化新行情报价

架构筑基 大家都知道&#xff0c;性能一直是让程序员比较头疼的问题。当系统架构变得复杂而庞大之后&#xff0c;性能方面就会下降&#xff0c;如果想成为一名优秀的架构师&#xff0c;性能优化就是你必须思考的问题。 所以性能优化专题从JVM底层原理到内存优化再到各个中间件…...

做网站多少钱保定遨游免费/泰州seo

第一部分&#xff1a;结缘计算机 你为什么选择计算机专业&#xff1f;你认为你的条件如何&#xff1f;和这些博主比呢&#xff1f;&#xff08;必答&#xff09;其实一开始我并不是很了解计算机这个专业&#xff0c;但听长辈们都说这个专业以后就业会比较方便&#xff0c;于是就…...

dede中国风网站模板/百度营销搜索推广

#include<stdio.h> #include<stdlib.h> #define N 100 #define FALSE 0 #define TURE 1//定义结构体&#xff0c;用于放置待排序元素的信息 typedef struct {int key;char otherinfo; }ElemType;//参数ElemType A[]:结构体数组&#xff0c;数组内元素的类型都是上…...

口碑营销的产品/班级优化大师下载安装app

课 程 设 计 说 明 书题目&#xff1a;基于矩阵键盘、1602液晶屏的简易计算器的设计系统学院(系)&#xff1a; 年级专业&#xff1a; 学 号&#xff1a; 学生姓名&#xff1a; 指导教师&#xff1a; 教师职称&#xff1a; xxx大学课程设计(论文)任务书院(系)&#xff1a; 理 基…...

怎样做公司的网站首页/应用商店搜索优化

点击上方“服务端思维”&#xff0c;选择“设为星标”回复”669“获取独家整理的精选资料集回复”加群“加入全国服务端高端社群「后端圈」作者 | Igor Ostrovsky出品 | http://33h.co/2izx1CPU Cache一直是理解计算机体系架构的重要知识点&#xff0c;也是并发编程设计中的技术…...

一个网站的制作特点/网络推广合作协议

原文:SQL SERVER分区具体例子详解在日常工作中&#xff0c;我们会遇到以下的情况&#xff0c;一个表每日数万级的增长&#xff0c;而查询的数据通常是在本月或今年&#xff0c;以前的数据偶尔会用到&#xff0c;但查询和插入的效率越来越慢&#xff0c;用数据库分区会有助于解决…...