nginx调优(二)

目录

一、event模块:

  1.最大并发连接数:

  2.选择事件驱动:

  3.互斥锁:

4.网络多连接:

二、http模块:

1.server块 基于域名构建虚拟主机:

  1.1 指定子配置文件:

 1.2 编写子配置文件:

1.3 构建数据文件:

1.4 测试:

 1.5 基于端口:

1.6 基于IP:

2.alias 设置别名:

3.location:

 3.1 格式:

  3.2 案例:

4.access四层控制模块:

5.验证模块:

5.1 htpasswd:

6.自定义错误界面:

6.1 自定义状态码:

 7.日志位置存放:

8.检测文件是否存在:

当test存在时:

 当test被删除时,会找到test.html:

 没有匹配项时,托底的default:

​编辑

 9.作为下载服务器配置:

 10.其他设置:

三、高级配置:

  1.网页的状态页:

1.1.状态信息介绍:

 2.Nginx 第三方模块:

  1.安装git:

  2.使用第三方模块需要重新编译安装:

  3.编写配置文件:

  4.新机器访问:

3.变量:

  1.内置变量:

4.自定义变量:

  1.格式:

  2.示例:

5.自定义访问日志:

  1.自定义格式添加在主配置文件:

   2.子配置文件调用:

 6.nginx的压缩功能:

  1.简介:

2.示例:

  7.https:

  1.简介:

2.https自签发证书:

  2.3配置文件编写:

8.自定义图标:

1.准备一个图标:

2.编写子配置文件:


一、event模块:

用于配置服务器的事件驱动机制的模块。它定义了 Nginx 如何处理并发连接和网络事件,以及如何与底层操作系统的事件机制交互。

  1.最大并发连接数:

worker_connections  65536;

  2.选择事件驱动:

   nginx默认使用epoll时间驱动类型:

   use epoll;     ##不写默认是epoll

  3.互斥锁:

    使用互斥锁来限制同时只有一个 worker 进程能够接受新的连接。在高并发环境中可以提高性能和稳定性。在高流量和高并发的情况下,使用 accept_mutex on; 可能会导致性能下降,因为每个 worker 进程在接受新连接时都需要等待互斥锁的释放。

accept_mutex on;

#追求稳定打开

4.网络多连接:

multi_accept 设置为 on 时,Nginx 的 worker 进程会一次性接受多个新连接,在高并发环境中,可以提高性能。可能会导致某些 worker 进程在某一时刻接受了更多的连接,而其他进程接受较少的连接。这可能会影响负载均衡。(建议设置on,处理高并发)

multi_accept on; 

二、http模块:

     是用于配置 HTTP 服务器功能的核心模块。定义和管理 HTTP 服务、虚拟主机、反向代理、负载均衡、缓存、访问控制等一系列与 Web 服务器相关的功能。

1.server块 基于域名构建虚拟主机:

  1.1 指定子配置文件:

    多个服务编写在不同的子配置文件中,可以更好地管理。

mkdir -p /apps/nginx/conf.d

vim /apps/nginx/conf/nginx.conf  

    include       /apps/nginx/conf.d/*.conf;

 1.2 编写子配置文件:

cd /apps/nginx/conf.d

vim pc.conf

    server {
        listen 80;
        server_name www.wzw.com;
        root /apps/nginx/html/pc/;
    }

vim m.conf

    server {
        listen 80;
        server_name m.wzw.com;
        root /apps/nginx/html/m/;
    }

 

1.3 构建数据文件:

1.创建文件夹

mkdir /apps/nginx/html/{pc,m}

2.构建数据

echo pc > /apps/nginx/html/pc/index.html
echo mmm > /apps/nginx/html/m/index.html

nginx -s reload

1.4 测试:

客户机更改host文件:

vim /etc/hosts

    192.168.88.100 www.wzw.com m.wzw.com

 

 1.5 基于端口:

   更改子配置文件

server{
        listen 192.168.91.100:80;
        server_name www.wzw.com;
        root /data/nginx/html/pc;

}

server{
        listen   192.168.91.100:8080;
        server_name m.wzw.com;
        root  /data/nginx/html/m;
}

1.6 基于IP:

    需要添加一块虚拟网卡

ifconfig ens33:0 192.168.88.101

 更改子配置文件IP

server{
        listen 192.168.91.100;
        server_name www.wzw.com;
        root /data/nginx/html/pc;

}

server{
        listen   192.168.91.101;
        server_name m.wzw.com;
        root  /data/nginx/html/m;
}

2.alias 设置别名:

server {
   listen 80;
   server_name www.wzw.com;
   location /nwes {
        root /data/nginx/html/pc/;
        #相当于追加  将文件夹news追加到/data/nginx/html/pc/news
        }
   location /study{
        alias /mnt/nginx/sports/;
        #相当于替换访问路径 你访问 study  就是访问/mnt/nginx/sports
        }
}

3.location:

   在一个server中location配置段可存在多个,用于实现从uri到文件系统的路径映射;ngnix会根据用户请求的URI来检查定义的所有location,按一定的优化级找出一个最佳匹配。

 3.1 格式:

location [ = | ~ | ~* | ^~ ] uri { ... }

=                  #需要请求字串与uri精确匹配,大小敏感,如果匹配成功就停止立即处理请求
^~                #表示包含正则表达式,并且匹配以指定的正则表达式开头,不区分字符大小写
~                  #表示包含正则表达式,并且区分大小写
~*                #表示包含正则表达式,并且不区分大写
不带符号              #匹配起始于此uri的所有的uri
 \                 #表示包含正则表达式并且转义字符。可以将 . * ?等转义为普通符号

#匹配优先级从高到低:
=,   ^~ ,   ~/~* ,  不带符号

  3.2 案例:

location = / {
   [ configuration A ]
}
location / {
   [ configuration B ]
}
location /documents/ {
   [ configuration C ]
}
location ^~ /images/ {
   [ configuration D ]
}
location ~* \.(gif|jpg|jpeg)$ {
   [ configuration E ]
}

访问路径是    /                     
访问路径是    /index.html
访问路径是    /documents/document.html
访问路径是    /images/1.gif
访问路径是    /documents/1.jpg

4.access四层控制模块:

location / {
    allow 192.168.1.0/24;
    allow 10.1.1.0/16;
    deny  all;
}

  匹配了之后就不往下匹配了,所以范围小的往上放

5.验证模块:

server {
        listen 80;
        server_name www.wzw.com;
        root /apps/nginx/html/pc/;

          location = / {
            root /apps/nginx/html/pc;
}

location /admin{
        auth_basic      "admin site";
        auth_basic_user_file /apps/nginx/conf.d/.httpuser;
 }
}

5.1 htpasswd:

  此命令来自于 httpd-tools 包,如果没有安装 一下即可

yum -y install httpd-tools

第一次生成文件:

htpasswd -bc 文件路径 姓名 密码           直接将密码跟在后面

第二次生成文件:

htpasswd -b  文件路径 姓名 密码           直接将密码跟在后面 

-c  代表新建用户名和密码对应的文件
-b  将密码跟在用户名后

 

6.自定义错误界面:

server {
        listen 80;
        server_name www.wzw.com;
        root /apps/nginx/html/pc/;
        error_page 404 /40x.html;   
        location = /40x.html {
        root /apps/nginx/html/pc/error/;

          location = / {
            root /apps/nginx/html/pc;   ##当出现404就去找40x.html这个文件
}

location /admin{
        auth_basic      "admin site";
        auth_basic_user_file /apps/nginx/conf.d/.httpuser;
 }

}



 

6.1 自定义状态码:

server {
        listen 80;
        server_name www.wzw.com;
        error_page 404 =302 /40x.html;    #建议使用302
        location = /40x.html {
        root /apps/nginx/html/pc/error/;

          location = / {
            root /apps/nginx/html/pc;
}

location /admin{
        auth_basic      "admin site";
        auth_basic_user_file /apps/nginx/conf.d/.httpuser;
 }


}
把错误码 404 指定成302    注意此处的  40x.html 需要真实存在建立的页面必须一致

 7.日志位置存放:

server {
        listen 80;
        server_name www.wzw.com;
        root /apps/nginx/html/pc/;
        access_log /apps/nginx/logs/wzw_access.log;

  ##添加日志存放位置

          location = / {
            root /apps/nginx/html/pc/;
}
 location /admin{
        root /apps/nginx/html/pc/admin.html;
        auth_basic    "admin site";
        auth_basic_user_file /apps/nginx/conf.d/.httpuser;
}
}

8.检测文件是否存在:

    try_files会按顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示为文件夹),如果所有文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。只有最后一个参数可以引起一个内部重定向,之前的参数只设置内部URI的指向。最后一个参数是回退URI且必须存在,否则会出现内部500错误。

server {
        listen 80;
        server_name 192.168.88.100;
        root /apps/nginx/html;

          location  / {
          root /apps/nginx/html;
          try_files $uri  $uri.html $uri/index.html /about/default.html;
}
}

当test存在时:

 当test被删除时,会找到test.html:

 没有匹配项时,托底的default:

 9.作为下载服务器配置:

server {
        listen 80;
        server_name 192.168.88.100;
        root /apps/nginx/html;

location /download {
        autoindex on;              #开启下载服务器
        autoindex_exact_size on;   #开启确切大小
        autoindex_localtime on;    #使用当地时间
        limit_rate 1024k;          #所有人限速1024k,默认单位是字节数
        alias /opt/download;       #别名,当访问download时跳转到/opt/download
}
}

mkdir /opt/download


mount /dev/sr0 /opt/download/

 10.其他设置:

   limit_except method ... { ... },仅用于location
#限制客户端使用除了指定的请求方法之外的其它方法 
method:GET, HEAD, POST, PUT, DELETE,MKCOL, COPY, MOVE, OPTIONS, PROPFIND, 
PROPPATCH, LOCK, UNLOCK, PATCH
limit_except GET {
 allow 192.168.91.101;
 deny all;
}
#除了GET和HEAD 之外其它方法仅允许192.168.1.0/24网段主机使用

三、高级配置:

  1.网页的状态页:

      基于nginx 模块 ngx_http_stub_status_module 实现,在编译安装nginx的时候需要添加编译参数 --with-http_stub_status_module,否则配置完成之后监测会是提示语法错误注意: 状态页显示的是整个服务器的状态,而非虚拟主机的状态

   这里为了安全起见添加了验证模块:

server {
        listen 80;
        server_name 192.168.88.100;
        root /apps/nginx/html/pc/;

location /admin{
        stub_status;                          #启用status
        auth_basic    "admin site";
        auth_basic_user_file /apps/nginx/conf.d/.httpuser;
 }
}

1.1.状态信息介绍:

Active connections: 
#当前处于活动状态的客户端连接数,包括连接等待空闲连接数=reading+writing+waiting
accepts:
#统计总值,Nginx自启动后已经接受的客户端请求的总数。
handled:
#统计总值,Nginx自启动后已经处理完成的客户端请求总数,通常等于accepts,除非有因worker_connections限制等被拒绝的连接
requests:
#统计总值,Nginx自启动后客户端发来的总的请求数。
Reading:
#当前状态,正在读取客户端请求报文首部的连接的连接数,数值越大,说明排队现象严重,性能不足
Writing:
#当前状态,正在向客户端发送响应报文过程中的连接数,数值越大,说明访问量很大
Waiting:
#当前状态,正在等待客户端发出请求的空闲连接数,开启 keep-alive的情况下,这个值等于active – (reading+writing)

 2.Nginx 第三方模块:

  1.安装git:

yum install git -y

cd /opt

git clone https://github.com/openresty/echo-nginx-module.git

  2.使用第三方模块需要重新编译安装:

systenctl stop nginx

./configure --prefix=/apps/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_module --add-module=/opt/echo-nginx-module-master

make -j2 && make install

systemctl start nginx

  3.编写配置文件:

vim /apps/nginx/conf.d/www.conf

server{
  listen 80;
  server_name www.wzw.com;
  root /apps/nginx/html/pc/;

location /ip {
echo "hello";

}
}

  4.新机器访问:

3.变量:

  1.内置变量:

$remote_addr; 
#存放了客户端的地址,注意是客户端的公网IP

$proxy_add_x_forwarded_for
#此变量表示将客户端IP追加请求报文中X-Forwarded-For首部字段

$args; 
#变量中存放了URL中的参数

$document_root; 
#保存了针对当前资源的请求的系统根目录,例如:/apps/nginx/html。

$document_uri;
#保存了当前请求中不包含参数的URI,注意是不包含请求的指令,比
如:http://www.kgc.org/main/index.do?id=20190221&partner=search会被定义为/main/index.do 
#返回结果为:/main/index.do


$host; 
#存放了请求的host名称


limit_rate 10240;
echo $limit_rate;
#如果nginx服务器使用limit_rate配置了显示网络速率,则会显示,如果没有设置, 则显示0


$remote_port; 
#客户端请求Nginx服务器时随机打开的端口,这是每个客户端自己的端口

$remote_user; 
#已经经过Auth Basic Module验证的用户名

$request_body_file; 
#做反向代理时发给后端服务器的本地资源的名称

$request_method; 
#请求资源的方式,GET/PUT/DELETE等

$request_filename; 
#当前请求的资源文件的磁盘路径,由root或alias指令与URI请求生成的文件绝对路径,如:/apps/nginx/html/main/index.html

$request_uri; 
#包含请求参数的原始URI,不包含主机名,相当于:$document_uri?$args,例如:/main/index.do?id=20190221&partner=search 

$scheme; 
#请求的协议,例如:http,https,ftp等

$server_protocol; 
#保存了客户端请求资源使用的协议的版本,例如:HTTP/1.0,HTTP/1.1,HTTP/2.0等

$server_addr; 
#保存了服务器的IP地址

$server_name; 
#请求的服务器的主机名

$server_port; 
#请求的服务器的端口号

$http_<name>
#name为任意请求报文首部字段,表示记录请求报文的首部字段
arbitrary request header field; the last part of a variable name is the field name converted to lower case with dashes replaced by underscores 
#用下划线代替横线
#示例: echo $http_User_Agent;  

$http_user_agent; 
#客户端浏览器的详细信息

$http_cookie; 
#客户端的cookie信息


$cookie_<name>
#name为任意请求报文首部字部cookie的key名

$http_<name>
#name为任意请求报文首部字段,表示记录请求报文的首部字段,ame的对应的首部字段名需要为小写,如果有
横线需要替换为下划线
arbitrary request header field; the last part of a variable name is the field 
name converted to lower case with dashes replaced by underscores #用下划线代替横线
#示例: 
echo $http_user_agent; 
echo $http_host;


$sent_http_<name>
#name为响应报文的首部字段,name的对应的首部字段名需要为小写,如果有横线需要替换为下划线,此变量有问题
echo $sent_http_server;

$arg_<name>
#此变量存放了URL中的指定参数,name为请求url中指定的参数
#对比 变量  $arg  是全部, 如果 要id   如下
echo $arg_id;

4.自定义变量:

  1.格式:

   set   变量名    变量值;

Context: server, location, if

  2.示例:

server{
  listen 80;
  server_name www.wzw.com;
  root /apps/nginx/html/pc/;
set $name wzw;

location /ip {
echo $name;

}
}

nginx -s reload

5.自定义访问日志:

  1.自定义格式添加在主配置文件:

log_format access_json '{"@timestamp":"$time_iso8601",'
        '"host":"$server_addr",'
        '"clientip":"$remote_addr",'
        '"size":$body_bytes_sent,'
        '"responsetime":$request_time,'
        '"upstreamtime":"$upstream_response_time",'
        '"upstreamhost":"$upstream_addr",'  
        '"http_host":"$host",'
        '"uri":"$uri",'
        '"xff":"$http_x_forwarded_for",'
        '"referer":"$http_referer",'
        '"tcp_xff":"$proxy_protocol_addr",'
        '"http_user_agent":"$http_user_agent",'
        '"status":"$status"}';

   2.子配置文件调用:

server{
  listen 80;
  server_name www.wzw.com;
  root /apps/nginx/html/pc/;

location /ip {
access_log logs/access.log access_json;
}
}

 6.nginx的压缩功能:

  1.简介:

     支持对指定类型的文件进行压缩然后再传输给客户端,而且压缩还可以设置压缩比例,压缩后的文件大小将比源文件显著变小,这样有助于降低出口带宽的利用率,降低企业的IT支出,不过会占用相应的CPU资源。

#启用或禁用gzip压缩,默认关闭
gzip on | off; 

#压缩比由低到高从1到9,默认为1
gzip_comp_level level;

#gzip压缩的最小文件,小于设置值的文件将不会压缩
gzip_min_length 1k; 

#如果启用压缩,是否在响应报文首部插入“Vary: Accept-Encoding”,一般建议打开
gzip_vary on | off;

#预压缩,先压缩好,不用临时压缩,消耗cpu
gzip_static on | off;

2.示例:

 server {
        listen       80;
        server_name  www.wzw.com;
        root         /apps/nginx/html;
        gzip on;
        gzip_comp_level 9;
        gzip_min_length 1k;
        gzip_vary on;
        gzip_static on; 

  7.https:

  1.简介:

  Web网站的登录页面都是使用https加密传输的,加密数据以保障数据的安全,HTTPS能够加密信息,以免敏感信息被第三方获取,所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议,HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。

2.https自签发证书:

自签发证书可以脚本实现,需要dd

  cd conf.d 

  mkdir ssl;cd ssl             所有的证书需要放在一起不能移开

  bash certificate.sh

  cat wzw.com.crt    ca.crt > www.wzw.com.crt    顺序不能错!!

  mv wzw.com.key www.wzw.com.key

  2.3配置文件编写:

server{
  listen 80;
  listen 443 ssl;
## 监听443
  ssl_certificate /apps/nginx/conf.d/ssl/www.wzw.com.crt;
## 指向包含当前虚拟主机和CA的两个证书信息的文件

  ssl_certificate_key /apps/nginx/conf.d/ssl/www.wzw.com.key;
## 当前虚拟主机使用的私钥文件,一般是key文件

  ssl_session_cache shared:sslcache:20m;
## 在各worker之间使用一个共享的缓存,需要定义一个缓存名称和缓存空间大小,一兆可以存储4000个会话信息,多个虚拟主机可以使用相同的缓存名称

  ssl_session_timeout 10m;
## 客户端连接可以复用ssl session cache中缓存的有效时长
  server_name www.wzw.com;
  root /apps/nginx/html/;

location / {
  root /apps/nginx/html;
  if ( $scheme = http ){
  rewrite ^/(.*)$ https://www.wzw.com/$1 redirect;
## 当$scheme为http时,重写为https  ^/(.*)$以/后所有   $1后向引用

}
}
}

8.自定义图标:

      favicon.ico 文件是浏览器收藏网址时显示的图标,当客户端使用浏览器问页面时,浏览器会自己主动发起请求获取页面的favicon.ico文件,但是当浏览器请求的favicon.ico文件不存在时,服务器会记录404日志,而且浏览器也会显示404报错。

1.准备一个图标:

    wget www.baidu.com/favicon.ico

      放到  html文件夹下

2.编写子配置文件:

server{
  listen 80;
  server_name www.wzw.com;
  root /apps/nginx/html;

location = /favicon.ico {
   log_not_found off;
   access_log off;
}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/102980.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

什么是盒子模型

什么是盒子模型 盒子模型&#xff0c;也可以称为框模型。 所有 HTML 元素可以看作盒子。在 CSS 中&#xff0c;“box model” 这一术语是用来设计和布局时使用。 CSS 盒模型本质上是一个盒子&#xff0c;封装周围的 HTML 元素&#xff0c;它包括&#xff1a;边距&#xff0c…

Lnmp架构-Redis

网站&#xff1a;www.redis.cn redis 部署 make的时候需要gcc和make 如果在纯净的环境下需要执行此命令 [rootserver3 redis-6.2.4]# yum install make gcc -y 注释一下这几行 vim /etc/redis/6739.conf 2.Redis主从复制 设置 11 是master 12 13 是slave 在12 上 其他节…

C. Queries for the Array - 思维

分析&#xff1a; 分析出现矛盾的地方&#xff0c;也就是可能遇到0&#xff0c;并且已有字符串的长度小于等于1&#xff0c;另一种情况就是&#xff0c;遇到了1并且已有字符串不是排好序的&#xff0c;或者遇到了0已有字符串是排好序的&#xff0c;那么可以遍历字符串&#xff…

数据艺术:精通数据可视化的关键步骤

数据可视化是将复杂数据转化为易于理解的图表和图形的过程&#xff0c;帮助我们发现趋势、关联和模式。同时数据可视化也是数字孪生的基础&#xff0c;本文小编带大家用最简单的话语为大家讲解怎么制作一个数据可视化大屏&#xff0c;接下来跟随小编的思路走起来~ 1.数据收集和…

Ubuntu18.04版本下配置ORB-SLAM3和数据集测试方法

文章目录 环境说明必要配置一、Pangolin源码和库文件下载依赖安装和编译安装 二、Eigen3源码和库文件下载编译安装 三、Opencv源码和库文件下载编译安装 四、DBoW2 和 g2o五、boost源码和库文件下载编译安装 六、libssl-dev七、ORB-SLAM3源码和库文件下载编译安装 数据集测试参…

使用Python对数据的操作转换

1、列表加值转字典 在Python中&#xff0c;将列表的值转换为字典的键可以使用以下代码&#xff1a; myList ["name", "age", "location"] myDict {k: None for k in myList} print(myDict) 输出&#xff1a; {name: None, age: None, loca…

大数据组件-Flume集群环境的启动与验证

&#x1f947;&#x1f947;【大数据学习记录篇】-持续更新中~&#x1f947;&#x1f947; 个人主页&#xff1a;beixi 本文章收录于专栏&#xff08;点击传送&#xff09;&#xff1a;【大数据学习】 &#x1f493;&#x1f493;持续更新中&#xff0c;感谢各位前辈朋友们支持…

4.(Python数模)0-1规划

Python解决0-1规划问题 参考下面文章 源代码 import pulp # 导入 pulp 库# 主程序 def main():# 投资决策问题&#xff1a;# 公司现有 5个拟投资项目&#xff0c;根据投资额、投资收益和限制条件&#xff0c;问如何决策使收益最大。"""问题建模&#x…

【MySQL】4、MySQL备份与恢复

备份的主要目的是灾难恢复&#xff0c;备份还可以测试应用、回滚数据修改、查询历史数据、审计等 MySQL日志管理 MySQL 的日志默认保存位置为 /usr/local/mysql/data #配置文件 vim /etc/my.cnf 日志的分类 常见日志有&#xff1a; 错误日志&#xff0c;一般查询日志&…

c#继承(new base)的使用

概述 C#中的继承是面向对象编程的重要概念之一&#xff0c;它允许一个类&#xff08;称为子类或派生类&#xff09;从另一个类&#xff08;称为父类或基类&#xff09;继承属性和行为。 继承的主要目的是实现代码重用和层次化的组织。子类可以继承父类的字段、属性、方法和事…

专业的视觉特效处理包,FxFactory 8 Pro for Mac助您打造精彩视频

FxFactory 8 Pro for Mac是一款强大的视觉特效处理包&#xff0c;专门为Mac用户设计。它集成了超过200种高质量的视觉效果和过渡效果&#xff0c;可以轻松地应用于各种视频项目中。该软件提供了一个直观的界面&#xff0c;用户可以通过简单拖放操作将特效应用到视频片段上。它支…

MySQL索引,事务和存储引擎

一、索引 1、索引的概念 ●索引是一个排序的列表&#xff0c;在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址&#xff08;类似于C语言的链表通过指针指向数据记录的内存地址&#xff09;。 ●使用索引后可以不用扫描全表来定位某行的数据&#xff0c;而是先…

SpringCloudAlibaba Gateway(一)简单集成

SpringCloudAlibaba Gateway(一)简单集成 随着服务模块的增加&#xff0c;一定会产生多个接口地址&#xff0c;那么客户端调用多个接口只能使用多个地址&#xff0c;维护多个地址是很不方便的&#xff0c;这个时候就需要统一服务地址。同时也可以进行统一认证鉴权的需求。那么服…

75 # koa 基本逻辑实现以及属性的扩展

准备工作 新建自己的 kaimo-koa 文件夹&#xff0c;结构如下&#xff1a; lib application.js&#xff1a;创建应用context.js&#xff1a;上下文request.js&#xff1a;koa 中自己实现的 request 的对象response.js&#xff1a;koa 中自己实现的 response 的对象 package.js…

soundtouch库的编译与使用

源码下载 https://gitlab.com/soundtouch/soundtouch/-/archive/2.1.2/soundtouch-2.1.2.tar.bz2 SDK配置 使用vs逐个打开source下指定的三个项目文件&#xff0c;修改SDK&#xff0c;因为可能库中使用的是8.0&#xff0c;你使用的10.0 编译准备 在编译soundtouch动态库时要…

泊松回归和地理加权泊松回归

01 泊松回归 泊松回归(Poisson Regression)是一种广义线性模型,用于建立离散型响应变量(计数数据)与一个或多个预测变量之间的关系。它以法国数学家西蒙丹尼泊松(Simon Denis Poisson)的名字命名,适用于计算“事件发生次数”的概率,比如交通事故发生次数、产品缺陷数…

图文详解PhPStudy安装教程

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 官方下载 请在PhPStudy官方网站下载安装文件&#xff0c;官方链接如下&#xff1a;https://m.xp.cn/linux.html&#xff1b;图示如下&#xff1a; 请下载PhPStudy安装文件…

MongoDB 会丢数据吗? 在次补刀MongoDB 双机热备

开头还是介绍一下群&#xff0c;如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis &#xff0c;Oracle ,Oceanbase 等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请加微信号 liuaustin3 &#xff08;…

Stable Diffuse 之 本地环境部署 WebUI 进行汉化操作

Stable Diffuse 之 本地环境部署 WebUI 进行汉化操作 目录 Stable Diffuse 之 本地环境部署 WebUI 进行汉化操作 一、简单介绍 二、汉化操作 附录&#xff1a; 一、Install from URL 中出现 Failed to connect to 127.0.0.1 port 7890: Connection refused 错误&#xf…

【半监督医学图像分割】2022-MedIA-UWI

【半监督医学图像分割】2022-MedIA-UWI 论文题目&#xff1a;Semi-supervise d me dical image segmentation via a triple d-uncertainty guided mean teacher model with contrastive learning 中文题目&#xff1a;基于对比学习的三维不确定性指导平均教师模型的半监督图像分…
最新文章