最新资讯

  • nginx常见40个面试题

nginx常见40个面试题

2025-05-05 20:37:35 1 阅读

原文自,https://www.cnblogs.com/lvzhenjiang/articles/16418039.html

一、什么是Nginx?
二、Nginx有哪些优点?
三、Nginx应用场景?
四、Nginx怎么处理请求?
五、Nginx是如何实现高并发的?
六、什么是正向代理?
七、什么是反向代理?
八、Nginx目录结构有哪些?
九、Nginx配置文件nginx.conf有哪些属性模块?
十、cookie和session区别?
十一、为什么 Nginx 不使用多线程?
十二、nginx和apache的区别
十三、什么是动态资源、静态资源分离?
十四、为什么要做动、静分离?
十五、什么叫 CDN 服务?
十六、Nginx怎么做的动静分离?
十七、Nginx负载均衡的算法怎么实现的?策略有哪些?
十八、如何用Nginx解决前端跨域问题?
十九、Nginx虚拟主机怎么配置?
二十、基于虚拟主机配置域名
二十一、基于端口的虚拟主机
二十二、location的作用是什么?
二十三、location正则案例
二十四、限流怎么做的?
二十五、漏桶流算法和令牌桶算法知道?
二十六、Nginx配置高可用性怎么配置?
二十七、Nginx怎么判断别IP不可访问?
二十八、在nginx中,如何使用未定义的服务器名称来阻止处理请求?
二十九、怎么限制浏览器访问?
三十、Rewrite全局变量是什么?
三十一、Nginx 如何实现后端服务的健康检查?
三十二、Nginx 如何开启压缩?
三十三、ngx_http_upstream_module的作用是什么?
三十四、什么是C10K问题?
三十五、Nginx是否支持将请求压缩到上游?
三十六、如何在Nginx中获得当前的时间?
三十七、用Nginx服务器解释-s的目的是什么?
三十八、如何在Nginx服务器上添加模块?
三十九、生产中如何设置worker进程的数量呢?
四十、Nginx状态码

一、什么是Nginx?
Nginx是一个 轻量级/高性能的反向代理Web服务器,用于 HTTP、HTTPS、SMTP、POP3 和 IMAP 协议。他实现非常高效的反向代理、负载平衡,他可以处理2-3万并发连接数,官方监测能支持5万并发,现在中国使用nginx网站用户有很多,例如:新浪、网易、腾讯等。

二、Nginx有哪些优点?
1 跨平台、配置简单。
2 非阻塞、高并发连接:处理 2-3 万并发连接数,官方监测能支持 5 万并发。
3 内存消耗小:开启 10 个 Nginx 才占 150M 内存。
4 成本低廉,且开源。
5 稳定性高,宕机的概率非常小。
6 内置的健康检查功能:如果有一个服务器宕机,会做一个健康检查,再发送的请求就不7 会发送到宕机的服务器了,重新将请求提交到其他的节点上。

三、Nginx应用场景?
1 http服务器:Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
2 虚拟主机:可以实现在一台服务器虚拟出多个网站,例如个人网站使用的虚拟机。
3 反向代理,负载均衡:当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会应为某台服务器负载高宕机而某台服务器闲置的情况。
4 nginx 中也可以配置安全管理、比如可以使用Nginx搭建API接口网关,对每个接口服务进行拦截。

四、Nginx怎么处理请求?

server {                                   # 第一个Server区块开始,表示一个独立的虚拟主机站点
    listen       80# 提供服务的端口,默认80
    server_name  localhost;                # 提供服务的域名主机名
    location / {                           # 第一个location区块开始
        root   html;                       # 站点的根目录,相当于Nginx的安装目录
        index  index.html index.html;      # 默认的首页文件,多个用空格分开
    }                                      # 第一个location区块结果

1 首先,Nginx 在启动时,会解析配置文件,得到需要监听的端口与 IP 地址,然后在 Nginx 的 Master 进程里面先初始化好这个监控的Socket(创建 S ocket,设置 addr、reuse 等选项,绑定到指定的 ip 地址端口,再 listen 监听)。
2 然后,再 fork(一个现有进程可以调用 fork 函数创建一个新进程。由 fork 创建的新进程被称为子进程 )出多个子进程出来。
3 之后,子进程会竞争 accept 新的连接。此时,客户端就可以向 nginx 发起连接了。当客户端与nginx进行三次握手,与 nginx 建立好一个连接后。此时,某一个子进程会 accept 成功,得到这个建立好的连接的 Socket ,然后创建 nginx 对连接的封装,即 ngx_connection_t 结构体。
4 接着,设置读写事件处理函数,并添加读写事件来与客户端进行数据的交换。
最后,Nginx 或客户端来主动关掉连接,到此,一个连接就寿终正寝了。

五、Nginx是如何实现高并发的?
如果一个 server 采用一个进程(或者线程)负责一个request的方式,那么进程数就是并发数。那么显而易见的,就是会有很多进程在等待中。等什么?最多的应该是等待网络传输。

而 Nginx 的异步非阻塞工作方式正是利用了这点等待的时间。在需要等待的时候,这些进程就空闲出来待命了。因此表现为少数几个进程就解决了大量的并发问题。

Nginx是如何利用的呢,简单来说:同样的 4 个进程,如果采用一个进程负责一个 request 的方式,那么,同时进来 4 个 request 之后,每个进程就负责其中一个,直至会话关闭。期间,如果有第 5 个request进来了。就无法及时反应了,因为 4 个进程都没干完活呢,因此,一般有个调度进程,每当新进来了一个 request ,就新开个进程来处理。

回想下,BIO 是不是存在这样的问题?

Nginx 不这样,每进来一个 request ,会有一个 worker 进程去处理。但不是全程的处理,处理到什么程度呢?处理到可能发生阻塞的地方,比如向上游(后端)服务器转发 request ,并等待请求返回。那么,这个处理的 worker 不会这么傻等着,他会在发送完请求后,注册一个事件:如果 upstream 返回了,告诉我一声,我再接着干。于是他就休息去了。此时,如果再有 request 进来,他就可以很快再按这种方式处理。而一旦上游服务器返回了,就会触发这个事件,worker 才会来接手,这个 request 才会接着往下走。

这就是为什么说,Nginx 基于事件模型。

由于 web server 的工作性质决定了每个 request 的大部份生命都是在网络传输中,实际上花费在 server 机器上的时间片不多。这是几个进程就解决高并发的秘密所在。即:webserver 刚好属于网络 IO 密集型应用,不算是计算密集型。异步,非阻塞,使用 epoll ,和大量细节处的优化。也正是 Nginx 之所以然的技术基石。

六、什么是正向代理?
一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。

客户端才能使用正向代理。正向代理总结就一句话:代理端代理的是客户端。例如说:我们使用的OpenVPN 等等。

七、什么是反向代理?
反向代理(Reverse Proxy)方式,是指以代理服务器来接受 Internet上的连接请求,然后将请求,发给内部网络上的服务器并将从服务器上得到的结果返回给 Internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

反向代理总结就一句话:代理端代理的是服务端。

反向代理服务器的优点是什么?

反向代理服务器可以隐藏源服务器的存在和特征。它充当互联网云和web服务器之间的中间层。这对于安全方面来说是很好的,特别是当您使用web托管服务时。

八、Nginx目录结构有哪些?

[root@localhost ~]# tree /usr/local/nginx
/usr/local/nginx
├── client_body_temp
├── conf                             # Nginx所有配置文件的目录
│   ├── fastcgi.conf                 # fastcgi相关参数的配置文件
│   ├── fastcgi.conf.default         # fastcgi.conf的原始备份文件
│   ├── fastcgi_params               # fastcgi的参数文件
│   ├── fastcgi_params.default       
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types                   # 媒体类型
│   ├── mime.types.default
│   ├── nginx.conf                   # Nginx主配置文件
│   ├── nginx.conf.default
│   ├── scgi_params                  # scgi相关参数文件
│   ├── scgi_params.default  
│   ├── uwsgi_params                 # uwsgi相关参数文件
│   ├── uwsgi_params.default
│   └── win-utf
├── fastcgi_temp                     # fastcgi临时数据目录
├── html                             # Nginx默认站点目录
│   ├── 50x.html                     # 错误页面优雅替代显示文件,例如当出现502错误时会调用此页面
│   └── index.html                   # 默认的首页文件
├── logs                             # Nginx日志目录
│   ├── access.log                   # 访问日志文件
│   ├── error.log                    # 错误日志文件
│   └── nginx.pid                    # pid文件,Nginx进程启动后,会把所有进程的ID号写到此文件
├── proxy_temp                       # 临时目录
├── sbin                             # Nginx命令目录
│   └── nginx                        # Nginx的启动命令
├── scgi_temp                        # 临时目录
└── uwsgi_temp                       # 临时目录

九、Nginx配置文件nginx.conf有哪些属性模块?

worker_processes  1# worker进程的数量
 
  events {                                                  # 事件区块开始
 
worker_connections  1024# 每个worker进程支持的最大连接数
 
  }                                                        # 事件区块结束
 
  http {                                                   # HTTP区块开始
 
include       mime.types;                            # Nginx支持的媒体类型库文件
default_type  application/octet-stream;             # 默认的媒体类型
sendfile        on;                                   # 开启高效传输模式
keepalive_timeout  65# 连接超时
server {                                            # 第一个Server区块开始,表示一个独立的虚拟主机站点
    listen       80# 提供服务的端口,默认80
    server_name  localhost;                           # 提供服务的域名主机名
    location / {                                    # 第一个location区块开始
        root   html;                               # 站点的根目录,相当于Nginx的安装目录
        index  index.html index.htm;                  # 默认的首页文件,多个用空格分开
    }                                                  # 第一个location区块结果
 
    error_page   500502503504  /50x.html;             # 出现对应的http状态码时,使用50x.html回应客户
    location = /50x.html {                          # location区块开始,访问50x.html
        root   html;                                  # 指定对应的站点目录为html
    }
}  

十、cookie和session区别?
共同:
存放用户信息。存放的形式:key-value格式 变量和变量内容键值对。

区别:
cookie:
1 存放在客户端浏览器
2 每个域名对应一个cookie,不能跨跃域名访问其他cookie
3 用户可以查看或修改cookie
4 http响应报文里面给你浏览器设置
5 钥匙(用于打开浏览器上锁头)

session:
1 存放在服务器(文件,数据库,redis)
2 存放敏感信息
3 锁头

十一、为什么 Nginx 不使用多线程?
Apache: 创建多个进程或线程,而每个进程或线程都会为其分配 cpu 和内存(线程要比进程小的多,所以 worker 支持比 perfork 高的并发),并发过大会榨干服务器资源。

Nginx: 采用单线程来异步非阻塞处理请求(管理员可以配置 Nginx 主进程的工作进程的数量)(epoll),不会为每个请求分配 cpu 和内存资源,节省了大量资源,同时也减少了大量的 CPU 的上下文切换。所以才使得 Nginx 支持更高的并发。

十二、nginx和apache的区别
轻量级,同样起web服务,比apache占用更少的内存和资源。

抗并发,nginx处理请求是异步非阻塞的,而apache则是阻塞性的,在高并发下nginx能保持低资源,低消耗高性能。

高度模块化的设计,编写模块相对简单。

最核心的区别在于apache是同步多进程模型,一个连接对应一个进程,nginx是异步的,多个连接可以对应一个进程。

Nginx Apache

  • nginx是一个基于事件的web服务器 apache是一个基于流程的服务器
    所有请求都由一个线程处理 单个线程处理单个请求
    nginx避免子进程的概念 apache是基于子进程的
    nginx类似于速度 apache类似于功率
    nginx在内存消耗和连接方面比较好 apache在内存消耗和连接上没有提高
    nginx在负载均衡方面表现较好 当流量到达进程极限时,apache将拒绝新的连接。
    对于php来说,nginx可能更可取,因为它支持php apache支持php,python,perl和其他语言使用插件,当应用程序基于python或ruby时,它非常有用。
    nginx不支持IBMI和openvms一样的os apache支持更多的os
    nginx只具有核心功能 apache提供了比nginx更多的功能
    nginx的性能和可伸缩性不依赖于硬件 apache依赖于cpu和内存等硬件组件。

十三、什么是动态资源、静态资源分离?
动态资源、静态资源分离,是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路。

动态资源、静态资源分离简单的概括是:动态文件与静态文件的分离。

十四、为什么要做动、静分离?
在我们的软件开发中,有些请求是需要后台处理的(如:.jsp,.do 等等),有些请求是不需要经过后台处理的(如:css、html、jpg、js 等等文件),这些不需要经过后台处理的文件称为静态文件,否则动态文件。

因此我们后台处理忽略静态文件。这会有人又说那我后台忽略静态文件不就完了吗?当然这是可以的,但是这样后台的请求次数就明显增多了。在我们对资源的响应速度有要求的时候,我们应该使用这种动静分离的策略去解决动、静分离将网站静态资源(HTML,JavaScript,CSS,img等文件)与后台应用分开部署,提高用户访问静态代码的速度,降低对后台应用访问

这里我们将静态资源放到 Nginx 中,动态资源转发到 Tomcat 服务器中去。

当然,因为现在七牛、阿里云等 CDN 服务已经很成熟,主流的做法,是把静态资源缓存到 CDN 服务中,从而提升访问速度。

相比本地的 Nginx 来说,CDN 服务器由于在国内有更多的节点,可以实现用户的就近访问。并且,CDN 服务可以提供更大的带宽,不像我们自己的应用服务,提供的带宽是有限的。

十五、什么叫 CDN 服务?
CDN ,即内容分发网络。

其目的是,通过在现有的 Internet中 增加一层新的网络架构,将网站的内容发布到最接近用户的网络边缘,使用户可就近取得所需的内容,提高用户访问网站的速度。

一般来说,因为现在 CDN 服务比较大众,所以基本所有公司都会使用 CDN 服务。

十六、Nginx怎么做的动静分离?
只需要指定路径对应的目录。location/可以使用正则表达式匹配。并指定对应的硬盘中的目录。如下:(操作都是在Linux上)

location /image/ {
        root   /usr/local/static/;
        autoindex on;
}

步骤:

# 创建目录
mkdir /usr/local/static/image
# 进入目录
cd  /usr/local/static/image
# 上传照片
photo.jpg

# 重启nginx
sudo nginx -s reload
打开浏览器 输入 server_name/image/photo.jpg 就可以访问该静态图片了

十七、Nginx负载均衡的算法怎么实现的?策略有哪些?
为了避免服务器崩溃,大家会通过负载均衡的方式来分担服务器压力。将对台服务器组成一个集群,当用户访问时,先访问到一个转发服务器,再由转发服务器将访问分发到压力更小的服务器。

Nginx负载均衡实现的策略有以下五种:

1 .轮询(默认):每个请求按时间顺序逐一分配到不同的后端服务器,如果后端某个服务器宕机,能自动剔除故障系统。

upstream backserver { 
   server 1112; 
   server 1113; 
  }

2.权重:weight的值越大,分配到的访问概率越高,主要用于后端每台服务器性能不均衡的情况下。其次是为在主从的情况下设置不同的权值,达到合理有效的地利用主机资源。

权重越高,在被访问的概率越大,如上例,分别是20%,80%。

upstream backserver { 
 server 1112 weight=2; 
 server 1113 weight=8; 
}

3.ip_hash( IP绑定):每个请求按访问IP的哈希结果分配,使来自同一个IP的访客固定访问一台后端服务器,并且可以有效解决动态网页存在的session共享问题

upstream backserver { 
   ip_hash; 
   server 1112:88; 
   server 1113:80; 
  }

4.fair(第三方插件):必须安装upstream_fair模块。
对比 weight、ip_hash更加智能的负载均衡算法,fair算法可以根据页面大小和加载时间长短智能地进行负载均衡,响应时间短的优先分配。

# 哪个服务器的响应速度快,就将请求分配到那个服务器上。
upstream backserver { 
 server server1; 
 server server2; 
 fair; 
}

5.url_hash(第三方插件):必须安装Nginx的hash软件包。
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,可以进一步提高后端缓存服务器的效率。

upstream backserver { 
   server squid1:3128; 
   server squid2:3128; 
   hash $request_uri; 
   hash_method crc32; 
}

十八、如何用Nginx解决前端跨域问题?
使用Nginx转发请求。把跨域的接口写成调本域的接口,然后将这些接口转发到真正的请求地址。

十九、Nginx虚拟主机怎么配置?
1、基于域名的虚拟主机,通过域名来区分虚拟主机——应用:外部网站

2、基于端口的虚拟主机,通过端口来区分虚拟主机——应用:公司内部网站,外部网站的管理后台

3、基于ip的虚拟主机。

二十、基于虚拟主机配置域名
需要建立/data/www /data/bbs目录,windows本地hosts添加虚拟机ip地址对应的域名解析;对应域名网站目录下新增index.html文件;

# 当客户端访问www.rumenz.com,监听端口号为80,直接跳转到data/www目录下文件
server {
    listen       80;
    server_name  www.rumenz.com;
    location / {
        root   data/www;
        index  index.html index.htm;
    }
}
 
    # 当客户端访问www.rumenz.com,监听端口号为80,直接跳转到data/bbs目录下文件
     server {
    listen       80;
    server_name  bbs.rumenz.com;
    location / {
        root   data/bbs;
        index  index.html index.htm;
    }
}

二十一、基于端口的虚拟主机
使用端口来区分,浏览器使用域名或ip地址:端口号 访问

# 当客户端访问www.rumenz.com,监听端口号为8080,直接跳转到data/www目录下文件
server {
listen       8080;
server_name  rumenz.com;
    location / {
        root   data/www;
        index  index.html index.htm;
    }
}
 
# 当客户端访问www.rumenz.com,监听端口号为80直接跳转到真实ip服务器地址 11:8080
server {
listen       80;
server_name  www.rumenz.com;
    location / {
                 proxy_pass http://11:8080;
         index  index.html index.htm;
    }
}

二十二、location的作用是什么?
location指令的作用是根据用户请求的URI来执行不同的应用,也就是根据用户请求的网站URL进行匹配,匹配成功即进行相关的操作。
location的语法能说出来吗?
注意:~ 代表自己输入的英文字母

匹配符 匹配规则 优先级
= 精确匹配 1
^~ 以某个字符串开头 2
~ 区分大小写的正则匹配 3
~* 不区分大小写的正则匹配 4
!~ 区分大小写不匹配的正则 5
!~* 不区分大小写不匹配的正则 6
/ 通用匹配,任何请求都会匹配到 7

二十三、location正则案例

# 优先级1,精确匹配,根路径
 
location =/ {
    return 400;
}
# 优先级2,以某个字符串开头,以av开头的,优先匹配这里,区分大小写
location ^~ /av {
   root /data/av/;
}
 
# 优先级3,区分大小写的正则匹配,匹配/media*****路径
location ~ /media {
      alias /data/static/;
}
 
# 优先级4 ,不区分大小写的正则匹配,所有的****.jpg|gif|png 都走这里
location ~* .*.(jpg|gif|png|js|css)$ {
   root  /data/av/;
}
 
# 优先7,通用匹配
location / {
    return 403;
}

二十四、限流怎么做的?
Nginx限流就是限制用户请求速度,防止服务器受不了

限流有3种:
1正常限制访问频率(正常流量)
2突发限制访问频率(突发流量)
3限制并发连接数
Nginx的限流都是基于漏桶流算法

实现三种限流算法

1、正常限制访问频率(正常流量)
限制一个用户发送的请求,我Nginx多久接收一个请求。

Nginx中使用ngx_http_limit_req_module模块来限制的访问频率,限制的原理实质是基于漏桶算法原理来实现的。在nginx.conf配置文件中可以使用limit_req_zone命令及limit_req命令限制单个IP的请求处理频率。

# 定义限流维度,一个用户一分钟一个请求进来,多余的全部漏掉
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/m;
# 绑定限流维度
server{
    location /seckill.html{
        limit_req zone=zone;    
        proxy_pass http://lj_seckill;
    }
}

1r/s代表1秒一个请求,1r/m一分钟接收一个请求, 如果Nginx这时还有别人的请求没有处理完,Nginx就会拒绝处理该用户请求。

2、突发限制访问频率(突发流量)
限制一个用户发送的请求,我Nginx多久接收一个。

上面的配置一定程度可以限制访问频率,但是也存在着一个问题:如果突发流量超出请求被拒绝处理,无法处理活动时候的突发流量,这时候应该如何进一步处理呢?Nginx提供burst参数结合nodelay参数可以解决流量突发的问题,可以设置能处理的超过设置的请求数外能额外处理的请求数。我们可以将之前的例子添加burst参数以及nodelay参数:

# 定义限流维度,一个用户一分钟一个请求进来,多余的全部漏掉
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/m;
# 绑定限流维度
server{
    location/seckill.html{
        limit_req zone=zone burst=5 nodelay;
        proxy_pass http://lj_seckill;
    }
}

为什么就多了一个 burst=5 nodelay; 呢,多了这个可以代表Nginx对于一个用户的请求会立即处理前五个,多余的就慢慢来落,没有其他用户的请求我就处理你的,有其他的请求的话我Nginx就漏掉不接受你的请求!

3、 限制并发连接数
Nginx中的ngx_http_limit_conn_module模块提供了限制并发连接数的功能,可以使用limit_conn_zone指令以及limit_conn执行进行配置。接下来我们可以通过一个简单的例子来看下:

http {
          limit_conn_zone $binary_remote_addr zone=myip:10m;
          limit_conn_zone $server_name zone=myServerName:10m;
}
server {
    location / {
        limit_conn myip 10;
        limit_conn myServerName 100;
        rewrite / http://www.rumenz.net permanent;
    }
}

上面配置了单个IP同时并发连接数最多只能10个连接,并且设置了整个虚拟服务器同时最大并发数最多只能100个链接。当然,只有当请求的header被服务器处理后,虚拟服务器的连接数才会计数。刚才有提到过Nginx是基于漏桶算法原理实现的,实际上限流一般都是基于漏桶算法和令牌桶算法实现的。

二十五、漏桶流算法和令牌桶算法知道?
一文搞定,手撸Springboot + aop + Lua分布式限流的最佳实践_vincent-CSDN博客_springboot如何限流

漏桶算法:漏桶算法思路很简单,我们把水比作是请求,漏桶比作是系统处理能力极限,水先进入到漏桶里,漏桶里的水按一定速率流出,当流出的速率小于流入的速率时,由于漏桶容量有限,后续进入的水直接溢出(拒绝请求),以此实现限流。

令牌桶算法:令牌桶算法的原理也比较简单,我们可以理解成医院的挂号看病,只有拿到号以后才可以进行诊病。

系统会维护一个令牌(token)桶,以一个恒定的速度往桶里放入令牌(token),这时如果有请求进来想要被处理,则需要先从桶里获取一个令牌(token),当桶里没有令牌(token)可取时,则该请求将被拒绝服务。令牌桶算法通过控制桶的容量、发放令牌的速率,来达到对请求的限制。

二十六、Nginx配置高可用性怎么配置?
当上游服务器(真实访问服务器),一旦出现故障或者是没有及时相应的话,应该直接轮训到下一台服务器,保证服务器的高可用

Nginx配置代码:

server {
    listen       80;
    server_name  www.rumenz.com;
    location / {
              ### 指定上游服务器负载均衡服务器
              proxy_pass http://backServer;
              ###nginx与上游服务器(真实访问的服务器)超时时间 后端服务器连接的超时时间_发起握手等候响应超时时间
              proxy_connect_timeout 1s;
              ###nginx发送给上游服务器(真实访问的服务器)超时时间
        proxy_send_timeout 1s;
              ### nginx接受上游服务器(真实访问的服务器)超时时间
        proxy_read_timeout 1s;
        index  index.html index.htm;
    }
}

二十七、Nginx怎么判断别IP不可访问?

# 如果访问的ip地址为11115,则返回403
 if  ($remote_addr = 11115) {  
     return 403;  
 }

二十八、在nginx中,如何使用未定义的服务器名称来阻止处理请求?
只需将请求删除的服务器就可以定义为:

服务器名被保留一个空字符串,他在没有主机头字段的情况下匹配请求,而一个特殊的nginx的非标准代码被返回,从而终止连接。

二十九、怎么限制浏览器访问?

## 不允许谷歌浏览器访问 如果是谷歌浏览器返回500
if ($http_user_agent ~ Chrome) {   
    return 500;  
}

三十、Rewrite全局变量是什么?
$remote_addr //获取客户端ip
$binary_remote_addr //客户端ip(二进制)
$remote_port //客户端port,如:50472
$remote_user //已经经过Auth Basic Module验证的用户名
$host //请求主机头字段,否则为服务器名称,如:blog.sakmon.com
$request //用户请求信息,如:GET ?a=1&b=2 HTTP/1.1
$request_filename //当前请求的文件的路径名,由root或alias和URI request组合而成,如:/2013/81.html
$status //请求的响应状态码,如:200
$body_bytes_sent // 响应时送出的body字节数数量。即使连接中断,这个数据也是精确的,如:40
$content_length // 等于请求行的“Content_Length”的值
$content_type // 等于请求行的“Content_Type”的值
$http_referer // 引用地址
$http_user_agent // 客户端agent信息,如:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.76 Safari/537.36
a r g s / / 与 args //与 args//query_string相同 等于当中URL的参数(GET),如a=1&b=2
d o c u m e n t u r i / / 与 document_uri //与 documenturi//uri相同 这个变量指当前的请求URI,不包括任何参数(见$args) 如:/2013/81.html
$document_root //针对当前请求的根路径设置值
$hostname //如:centos53.localdomain
$http_cookie //客户端cookie信息
$cookie_COOKIE //cookie COOKIE变量的值
i s a r g s / / 如果有 is_args //如果有 isargs//如果有args参数,这个变量等于”?”,否则等于”",空值,如?
$limit_rate //这个变量可以限制连接速率,0表示不限速
q u e r y s t r i n g / / 与 query_string // 与 querystring//args相同 等于当中URL的参数(GET),如a=1&b=2
$request_body // 记录POST过来的数据信息
$request_body_file //客户端请求主体信息的临时文件名
$request_method //客户端请求的动作,通常为GET或POST,如:GET
$request_uri //包含请求参数的原始URI,不包含主机名,如:/2013/81.html?a=1&b=2
$scheme //HTTP方法(如http,https),如:http
u r i / / 这个变量指当前的请求 U R I ,不包括任何参数 ( 见 uri //这个变量指当前的请求URI,不包括任何参数(见 uri//这个变量指当前的请求URI,不包括任何参数(args) 如:/2013/81.html
$request_completion //如果请求结束,设置为OK. 当请求未结束或如果该请求不是请求链串的最后一个时,为空(Empty),如:OK
$server_protocol //请求使用的协议,通常是HTTP/1.0或HTTP/1.1,如:HTTP/1.1
$server_addr //服务器IP地址,在完成一次系统调用后可以确定这个值
$server_name //服务器名称,如:blog.sakmon.com
$server_port //请求到达服务器的端口号,如:80

三十一、Nginx 如何实现后端服务的健康检查?
方式一,利用 nginx 自带模块 ngx_http_proxy_module 和 ngx_http_upstream_module 对后端节点做健康检查。

方式二(推荐),利用 nginx_upstream_check_module 模块对后端节点做健康检查。

三十二、Nginx 如何开启压缩?
开启nginx gzip压缩后,网页、css、js等静态资源的大小会大大的减少,从而可以节约大量的带宽,提高传输效率,给用户快的体验。虽然会消耗cpu资源,但是为了给用户更好的体验是值得的。

开启的配置如下:

将以上配置放到nginx.conf的http{ … }节点中。

http {
    # 开启gzip
    gzip on;
    # 启用gzip压缩的最小文件;小于设置值的文件将不会被压缩
    gzip_min_length 1k;
    # gzip 压缩级别 1-10 
    gzip_comp_level 2;
    # 进行压缩的文件类型。
    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    # 是否在http header中添加Vary: Accept-Encoding,建议开启
    gzip_vary on;
  }

保存并重启nginx,刷新页面(为了避免缓存,请强制刷新)就能看到效果了。以谷歌浏览器为例,通过F12看请求的响应头部:

我们可以先来对比下,如果我们没有开启zip压缩之前,我们的对应的文件大小,如下所示:

现在我们开启了gzip进行压缩后的文件的大小,可以看到如下所示:

并且我们查看响应头会看到gzip这样的压缩,如下所示:

gzip压缩前后效果对比:jquery原大小90kb,压缩后只有30kb。

gzip虽然好用,但是以下类型的资源不建议启用。

1、图片类型
原因:图片如jpg、png本身就会有压缩,所以就算开启gzip后,压缩前和压缩后大小没有多大区别,所以开启了反而会白白的浪费资源。(Tips:可以试试将一张jpg图片压缩为zip,观察大小并没有多大的变化。虽然zip和gzip算法不一样,但是可以看出压缩图片的价值并不大)

2、大文件
原因:会消耗大量的cpu资源,且不一定有明显的效果。

三十三、ngx_http_upstream_module的作用是什么?
ngx_http_upstream_module用于定义可通过fastcgi传递、proxy传递、uwsgi传递、memcached传递和scgi传递指令来引用的服务器组。

三十四、什么是C10K问题?
C10K问题是指无法同时处理大量客户端(10,000)的网络套接字。

三十五、Nginx是否支持将请求压缩到上游?
您可以使用Nginx模块gunzip将请求压缩到上游。gunzip模块是一个过滤器,它可以对不支持gzip编码方法的客户机或服务器使用内容编码:gzip来解压缩响应。

三十六、如何在Nginx中获得当前的时间?
要获得Nginx的当前时间,必须使用SSI模块、和date_local的变量。

Proxy_set_header THE-TIME $date_gmt;

三十七、用Nginx服务器解释-s的目的是什么?
用于运行Nginx -s参数的可执行文件。

三十八、如何在Nginx服务器上添加模块?
在编译过程中,必须选择Nginx模块,因为Nginx不支持模块的运行时间选择。

三十九、生产中如何设置worker进程的数量呢?
在有多个cpu的情况下,可以设置多个worker,worker进程的数量可以设置到和cpu的核心数一样多,如果在单个cpu上起多个worker进程,那么操作系统会在多个worker之间进行调度,这种情况会降低系统性能,如果只有一个cpu,那么只启动一个worker进程就可以了。

四十、Nginx状态码
499:服务端处理时间过长,客户端主动关闭了连接。
502 服务器错误
下面是502的一些可能性:

FastCGI进程是否已经启动;
FastCGI worker进程数是否不够;
FastCGI执行时间过长;

fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;

FastCGI Buffer不够,nginx和apache一样,有前端缓冲限制,可以调整缓冲参数;

fastcgi_buffer_size 32k;
fastcgi_buffers 8 32k;

Proxy Buffer不够,如果你用了Proxying,调整;

proxy_buffer_size 16k;  
proxy_buffers 4 16k;  

php脚本执行时间过长
将php-fpm.conf的0s的0s改成一个时间!

本文地址:https://www.vps345.com/8419.html

搜索文章

Tags

PV计算 带宽计算 流量带宽 服务器带宽 上行带宽 上行速率 什么是上行带宽? CC攻击 攻击怎么办 流量攻击 DDOS攻击 服务器被攻击怎么办 源IP 服务器 linux 运维 游戏 云计算 javascript 前端 chrome edge macos windows conda llama 算法 opencv 自然语言处理 神经网络 语言模型 阿里云 网络 网络安全 网络协议 ubuntu ssh deepseek Ollama 模型联网 API CherryStudio php 人工智能 python MCP 英语 docker 容器 经验分享 机器学习 java tomcat harmonyos 华为 开发语言 typescript 计算机网络 nginx 负载均衡 asm Dify Ubuntu 开发环境 vscode RTSP xop RTP RTSPServer 推流 视频 笔记 数据库 centos oracle 关系型 安全 分布式 jellyfin nas C# MQTTS 双向认证 emqx openvpn server openvpn配置教程 centos安装openvpn debian PVE tcp/ip jenkins gitee spring boot 科技 ai 个人开发 adb mysql android 进程 操作系统 进程控制 json 前端框架 云原生 ip HarmonyOS Next DevEco Studio powerpoint 自动化 pycharm numpy dify 智能路由器 外网访问 内网穿透 端口映射 sublime text 编辑器 学习 java-ee 开源 github 实时音视频 实时互动 计算机外设 电脑 mac 软件需求 嵌入式 linux驱动开发 arm开发 嵌入式硬件 vue3 HTML audio 控件组件 vue3 audio音乐播放器 Audio标签自定义样式默认 vue3播放音频文件音效音乐 自定义audio播放器样式 播放暂停调整声音大小下载文件 Qwen2.5-coder 离线部署 架构 etcd 数据安全 RBAC redis c# 创意 社区 pip c++ Flask FastAPI Waitress Gunicorn uWSGI Uvicorn 数据结构 c语言 学习方法 ui 华为云 华为od YOLO 运维开发 elasticsearch 思科 EtherCAT转Modbus ECT转Modbus协议 EtherCAT转485网关 ECT转Modbus串口网关 EtherCAT转485协议 ECT转Modbus网关 unix 物联网 mcu iot 信息与通信 并查集 leetcode Linux 进程信号 持续部署 GaN HEMT 氮化镓 单粒子烧毁 辐射损伤 辐照效应 vnc 宝塔面板访问不了 宝塔面板网站访问不了 宝塔面板怎么配置网站能访问 宝塔面板配置ip访问 宝塔面板配置域名访问教程 宝塔面板配置教程 Dell R750XS protobuf 序列化和反序列化 安装 spring 游戏程序 ios vue.js audio vue音乐播放器 vue播放音频文件 Audio音频播放器自定义样式 播放暂停进度条音量调节快进快退 自定义audio覆盖默认样式 eureka ue5 vr 虚拟机 VMware rust http windows 服务器安装 ip命令 新增网卡 新增IP 启动网卡 多线程 鸿蒙 fstab fastapi mcp mcp-proxy mcp-inspector fastapi-mcp agent sse Docker Hub docker pull 镜像源 daemon.json 深度学习 目标检测 计算机视觉 xcode ide 产品经理 agi microsoft vim filezilla 无法连接服务器 连接被服务器拒绝 vsftpd 331/530 efficientVIT YOLOv8替换主干网络 TOLOv8 ip协议 word图片自动上传 word一键转存 复制word图片 复制word图文 复制word公式 粘贴word图文 粘贴word公式 gnu 互信 git 网络药理学 生信 生物信息学 gromacs 分子动力学模拟 MD 动力学模拟 llm transformer MacOS录屏软件 k8s kubernetes 高级IO epoll 面试 性能优化 jdk intellij-idea ssl 豆瓣 追剧助手 迅雷 微信 大数据 政务 分布式系统 监控运维 Prometheus Grafana ros2 moveit 机器人运动 fd 文件描述符 ai小智 语音助手 ai小智配网 ai小智教程 智能硬件 esp32语音助手 diy语音助手 后端 selete postgresql node.js 低代码 wireshark 显示过滤器 ICMP Wireshark安装 隐藏文件 隐藏目录 文件系统 管理器 通配符 云桌面 微软 AD域控 证书服务器 vSphere vCenter 软件定义数据中心 sddc bcompare Beyond Compare golang 链表 爬虫 数据挖掘 网络用户购物行为分析可视化平台 大数据毕业设计 1024程序员节 jmeter 软件测试 HCIE 数通 向日葵 kali 共享文件夹 matplotlib 多线程服务器 Linux网络编程 nftables 防火墙 svn gateway Clion Nova ResharperC++引擎 Centos7 远程开发 FTP 服务器 selenium 测试工具 docker搭建pg docker搭建pgsql pg授权 postgresql使用 postgresql搭建 linux安装配置 gpu算力 ollama pillow live555 rtsp rtp html5 firefox kafka AI大模型 大模型技术 本地部署大模型 sqlserver 中兴光猫 换光猫 网络桥接 自己换光猫 docker搭建nacos详解 docker部署nacos docker安装nacos 腾讯云搭建nacos centos7搭建nacos https WSL win11 无法解析服务器的名称或地址 websocket AI 数据集 fpga开发 鸿蒙系统 MQTT协议 消息服务器 代码 web安全 Kali Linux 黑客 渗透测试 信息收集 ESXi list 虚拟局域网 WSL2 上安装 Ubuntu Alexnet 小程序 微信小程序域名配置 微信小程序服务器域名 微信小程序合法域名 小程序配置业务域名 微信小程序需要域名吗 微信小程序添加域名 AIGC ux 程序人生 模拟实现 tcpdump qt QT 5.12.12 QT开发环境 Ubuntu18.04 系统架构 微服务 设计模式 软件工程 数据分析 代码调试 ipdb 大模型 Agent 5G 3GPP 卫星通信 threejs 3D iperf3 带宽测试 微信分享 Image wxopensdk 监控 自动化运维 中间件 iis yum docker-compose docker compose 目标跟踪 OpenVINO 推理应用 机器人 视觉检测 fonts-noto-cjk DeepSeek-R1 API接口 VMware创建虚拟机 源码剖析 rtsp实现步骤 流媒体开发 gitlab Reactor C++ cpu 内存 实时 使用 .net dubbo 远程控制 远程看看 远程协助 cuda cudnn anaconda C语言 bash ipython 硬件工程 单片机 flutter DeepSeek chatgpt linux环境变量 Hyper-V WinRM TrustedHosts 环境配置 串口服务器 YOLOv8 NPU Atlas800 A300I pro asi_bench 基础环境 Windsurf CLion 远程连接 IDE DigitalOcean GPU服务器购买 GPU服务器哪里有 GPU服务器 apache spring cloud 远程工作 统信UOS 麒麟 bonding 链路聚合 键盘 mount挂载磁盘 wrong fs type LVM挂载磁盘 Centos7.9 AI编程 AI写作 程序员创富 压测 ECS ESP32 camera Arduino 电子信息 firewalld stm32项目 stm32 命名管道 客户端与服务端通信 课程设计 windows日志 unity linux上传下载 jar gradle Portainer搭建 Portainer使用 Portainer使用详解 Portainer详解 Portainer portainer virtualenv 域名服务 DHCP 符号链接 配置 ue4 着色器 虚幻 flask KylinV10 麒麟操作系统 Vmware 远程 命令 执行 sshpass 操作 rag ragflow ragflow 源码启动 maven udp springcloud rabbitmq pytorch uni-app 飞牛nas fnos react.js 前端面试题 dell服务器 go 代理模式 perf linux内核 iBMC UltraISO OpenManus rocketmq 安卓模拟器 visual studio code DNS 集成学习 集成测试 深度求索 私域 知识库 kylin 指令 腾讯云大模型知识引擎 Deepseek mq C 环境变量 进程地址空间 本地环回 bind Doris搭建 docker搭建Doris Doris搭建过程 linux搭建Doris Doris搭建详细步骤 Doris部署 报错 UOS 统信操作系统 媒体 oceanbase rc.local 开机自启 systemd mybatis ddos alias unalias 别名 llama3 Chatglm 开源大模型 NFS JAVA Java ping++ 开发 设置代理 实用教程 僵尸进程 ffmpeg 音视频 YOLOv12 WebUI DeepSeek V3 VMware安装Ubuntu Ubuntu安装k8s 权限 zotero WebDAV 同步失败 webstorm 缓存 强制清理 强制删除 mac废纸篓 minicom 串口调试工具 温湿度数据上传到服务器 Arduino HTTP hive Hive环境搭建 hive3环境 Hive远程模式 log4j 迁移指南 ansible playbook 剧本 flash-attention xml windwos防火墙 defender防火墙 win防火墙白名单 防火墙白名单效果 防火墙只允许指定应用上网 防火墙允许指定上网其它禁止 工业4.0 sql KingBase rpc 博客 WSL2 Ubuntu22.04 虚拟化 开发人员主页 Linux的权限 Ubuntu Server Ubuntu 22.04.5 VMware安装mocOS macOS系统安装 mongodb WLAN 客户端 Ubuntu共享文件夹 共享目录 Linux共享文件夹 express p2p rancher 银河麒麟 kylin v10 麒麟 v10 prometheus 监控k8s 监控kubernetes 智能手机 NAS Termux Samba aws googlecloud postman mock mock server 模拟服务器 mock服务器 Postman内置变量 Postman随机数据 系统开发 binder 车载系统 framework 源码环境 LDAP bug 安装教程 GPU环境配置 Ubuntu22 CUDA PyTorch Anaconda安装 腾讯云 iftop 网络流量监控 Linux PID intellij idea rime .netcore CPU 主板 电源 网卡 ollama下载加速 无人机 路径解析 kamailio sip VoIP 大数据平台 监控k8s集群 集群内prometheus RAGFLOW 安防软件 rust腐蚀 聚类 vmware 卡死 Cline 自动化编程 spark gcc centos 7 openwrt ssh漏洞 ssh9.9p2 CVE-2025-23419 compose zabbix 具身智能 强化学习 其他 rustdesk CH340 串口驱动 CH341 uart 485 notepad prompt nlp 微信小程序 yolov5 openEuler unity3d HarmonyOS 推荐算法 shell etl 网络穿透 云服务器 嵌入式系统开发 RAG 检索增强生成 文档解析 大模型垂直应用 火绒安全 VPS Nuxt.js IO 网络攻击模型 jupyter n8n dity make Redis Desktop Jellyfin 恒源云 tcp css cd 目录切换 pygame TrueLicense hadoop RTMP 应用层 网络工程师 网络管理 软考 2024 2024年上半年 下午真题 答案 致远OA OA服务器 服务器磁盘扩容 模拟器 教程 交换机 telnet 远程登录 OD机试真题 华为OD机试真题 服务器能耗统计 okhttp CORS 跨域 雨云 NPS tar 浏览器自动化 gpt-3 文心一言 飞书 dns 孤岛惊魂4 uniapp vue 程序员 大模型入门 医疗APP开发 app开发 minio MQTT 消息队列 apt 国内源 rclone AList webdav fnOS 交互 matlab 传统数据库升级 银行 大语言模型 LLMs tensorflow 智能音箱 智能家居 IPMITOOL BMC 硬件管理 arm opcua opcda KEPServer安装 oneapi 实战案例 visual studio 大模型微调 序列化反序列化 搜索引擎 searxng open webui 主从复制 Docker引擎已经停止 Docker无法使用 WSL进度一直是0 镜像加速地址 export import save load 迁移镜像 ruby 游戏引擎 Linux的基础指令 线程 XCC Lenovo 磁盘清理 cfssl asp.net大文件上传 asp.net大文件上传下载 asp.net大文件上传源码 ASP.NET断点续传 asp.net上传文件夹 asp.net上传大文件 .net core断点续传 wsl Open WebUI 华为认证 繁忙 服务器繁忙 解决办法 替代网站 汇总推荐 AI推理 移动云 MS Materials 鲲鹏 昇腾 npu android studio 拓扑图 可信计算技术 密码学 LLM nfs safari Mac 系统 部署 SSL 域名 skynet 历史版本 下载 P2P HDLC 硬件架构 AISphereButler 安卓 大文件分片上传断点续传及进度条 如何批量上传超大文件并显示进度 axios大文件切片上传详细教 node服务器合并切片 vue3大文件上传报错提示错误 vu大文件秒传跨域报错cors 群晖 embedding visualstudio 双系统 GRUB引导 Linux技巧 RoboVLM 通用机器人策略 VLA设计哲学 vlm fot robot 视觉语言动作模型 灵办AI dba kvm 私有化 本地部署 驱动开发 嵌入式实习 ocr 程序 编程 性能分析 nvidia RAID RAID技术 磁盘 存储 单元测试 功能测试 图像处理 3d 压力测试 uv 实习 LORA NLP 技能大赛 c Trae AI 原生集成开发环境 Trae AI c/c++ 串口 vpn milvus EasyConnect 图形化界面 换源 Debian RustDesk自建服务器 rustdesk服务器 docker rustdesk 黑客技术 excel 流式接口 django web3.py URL api web IM即时通讯 QQ 企业微信 剪切板对通 HTML FORMAT pyqt Kylin-Server 国产操作系统 服务器安装 lb 协议 wps saltstack rnn 显卡驱动 用户缓冲区 金仓数据库 2025 征文 数据库平替用金仓 ecmascript KVM wsl2 OpenSSH 支付 微信支付 开放平台 ArkTs ArkUI big data 交叉编译 Google pay Apple pay trae opensearch helm 服务器主板 AI芯片 ssrf 失效的访问控制 GCC crosstool-ng MI300x WebRTC gpt 7z 多层架构 解耦 游戏服务器 TrinityCore 魔兽世界 Linux24.04 deepin SSL证书 金融 seatunnel 蓝耘科技 元生代平台工作流 ComfyUI adobe Mac内存不够用怎么办 elk Python 网络编程 聊天服务器 套接字 TCP Socket webrtc cocoapods 进程优先级 调度队列 进程切换 系统安全 IPv4 子网掩码 公网IP 私有IP 数学建模 xrdp 远程桌面 SenseVoice string模拟实现 深拷贝 浅拷贝 经典的string类问题 三个swap 版本 Ubuntu 24.04.1 轻量级服务器 redhat k8s二次开发 集群管理 docker run 数据卷挂载 交互模式 pdf yolov8 文件分享 VSCode less 云服务 Kali 渗透 odoo 服务器动作 Server action 雨云服务器 springsecurity6 oauth2 授权服务器 token sas DBeaver 分析解读 环境迁移 cron crontab日志 崖山数据库 YashanDB db 上传视频文件到服务器 uniApp本地上传视频并预览 uniapp移动端h5网页 uniapp微信小程序上传视频 uniapp app端视频上传 uniapp uview组件库 小番茄C盘清理 便捷易用C盘清理工具 小番茄C盘清理的优势尽显何处? 教你深度体验小番茄C盘清理 C盘变红?!不知所措? C盘瘦身后电脑会发生什么变化? devops ci/cd 直播推流 服务器部署ai模型 springboot远程调试 java项目远程debug docker远程debug java项目远程调试 springboot远程 sqlite3 rsyslog Anolis nginx安装 环境安装 linux插件下载 信号 maxkb ARG 毕设 虚拟现实 服务器数据恢复 数据恢复 存储数据恢复 raid5数据恢复 磁盘阵列数据恢复 银河麒麟操作系统 国产化 mamba Vmamba 微信公众平台 risc-v trea idea eNSP 网络规划 VLAN 企业网络 宝塔 Cookie su sudo MacMini 迷你主机 mini Apple 三级等保 服务器审计日志备份 lio-sam SLAM 宠物 毕业设计 免费学习 宠物领养 宠物平台 小艺 Pura X powerbi 信息可视化 bootstrap html nextjs react reactjs NLP模型 自学笔记 小米 澎湃OS Android 蓝桥杯 ros 话题通信 服务通信 多进程 k8s资源监控 annotations自动化 自动化监控 监控service 监控jvm HiCar CarLife+ CarPlay QT RK3588 联想开天P90Z装win10 Node-Red 编程工具 流编程 宕机切换 服务器宕机 安全威胁分析 智能电视 Docker Compose curl wget 大文件秒传跨域报错cors 网工 can 线程池 VR手套 数据手套 动捕手套 动捕数据手套 读写锁 DOIT 四博智联 数据库架构 数据管理 数据治理 数据编织 数据虚拟化 TRAE Deepseek-R1 私有化部署 推理模型 Playwright 自动化测试 idm 输入法 ssh远程登录 av1 电视盒子 机顶盒ROM 魔百盒刷机 MCP server C/S nac 802.1 portal arcgis 计算生物学 生物信息 基因组 健康医疗 互联网医院 网络结构图 easyui langchain thingsboard neo4j 数据仓库 数据库开发 database Linux awk awk函数 awk结构 awk内置变量 awk参数 awk脚本 awk详解 自动驾驶 iDRAC R720xd 国产数据库 瀚高数据库 数据迁移 下载安装 通信工程 毕业 keepalived 能力提升 面试宝典 技术 IT信息化 sonoma 自动更新 开机自启动 树莓派 VNC bot Docker IIS .net core Hosting Bundle .NET Framework vs2022 conda配置 conda镜像源 XFS xfs文件系统损坏 I_O error chrome devtools chromedriver 磁盘监控 yaml Ultralytics 可视化 代理 相差8小时 UTC 时间 ceph netty ArcTS 登录 ArcUI GridItem arkUI AI代码编辑器 yum源切换 更换国内yum源 gitea FunASR ASR file server http server web server x64 SIGSEGV SSE xmm0 稳定性 看门狗 Cursor Typore 状态管理的 UDP 服务器 Arduino RTOS DeepSeek r1 服务器配置 王者荣耀 Wi-Fi eclipse 计算机 安全架构 grafana 单例模式 miniapp 真机调试 调试 debug 断点 网络API请求调试方法 OpenHarmony Invalid Host allowedHosts jina rdp 实验 免费域名 域名解析 sdkman 云电竞 云电脑 todesk 产测工具框架 IMX6ULL 管理框架 飞牛 边缘计算 职场和发展 硬件 设备 GPU PCI-Express 执法记录仪 智能安全帽 smarteye xpath定位元素 图形渲染 bat SysBench 基准测试 服务器时间 卷积神经网络 小游戏 五子棋 composer 相机 大模型部署 Erlang OTP gen_server 热代码交换 事务语义 MNN Qwen linux 命令 sed 命令 mariadb springboot 深度优先 图论 并集查找 换根法 树上倍增 AP配网 AK配网 小程序AP配网和AK配网教程 WIFI设备配网小程序UDP开 Minecraft ROS2 zip unzip 软链接 硬链接 宝塔面板 Dell HPE 联想 浪潮 mysql离线安装 ubuntu22.04 mysql8.0 freebsd 源码 npm 自动化任务管理 混合开发 JDK gaussdb centos-root /dev/mapper yum clean all df -h / du -sh 考研 京东云 测试用例 ruoyi .net mvc断点续传 ubuntu24.04.1 AI作画 next.js 部署next.js 命令行 基础入门 聊天室 Linux无人智慧超市 LInux多线程服务器 QT项目 LInux项目 单片机项目 banner AI-native Ubuntu DeepSeek DeepSeek Ubuntu DeepSeek 本地部署 DeepSeek 知识库 DeepSeek 私有化知识库 本地部署 DeepSeek DeepSeek 私有化部署 edge浏览器 思科模拟器 Cisco qemu libvirt 矩阵 Ark-TS语言 muduo Xinference RAGFlow X11 Xming 宝塔面板无法访问 fast ubuntu20.04 开机黑屏 chrome 浏览器下载 chrome 下载安装 谷歌浏览器下载 工作流 workflow 银河麒麟服务器操作系统 系统激活 docker命令大全 SSH 密钥生成 SSH 公钥 私钥 生成 社交电子 virtualbox DocFlow 软件构建 高效远程协作 TrustViewer体验 跨设备操作便利 智能远程控制 信号处理 ubuntu24 vivado24 MySql 虚拟显示器 r语言 数据可视化 cmos SEO cnn 漏洞 邮件APP 免费软件 重启 排查 系统重启 日志 原因 视频编解码 vscode 1.86 网站搭建 serv00 jetty undertow 服务器管理 配置教程 网站管理 直流充电桩 充电桩 微信开放平台 微信公众号配置 ShenTong IPMI k8s集群资源管理 云原生开发 飞牛NAS 飞牛OS MacBook Pro SSH 区块链 弹性计算 裸金属服务器 弹性裸金属服务器 统信 UOS1070e HarmonyOS NEXT 原生鸿蒙 代码托管服务 Xterminal lsb_release /etc/issue /proc/version uname -r 查看ubuntu版本 burp suite 抓包 DeepSeek行业应用 Heroku 网站部署 毕昇JDK 游戏机 hugo Netty 即时通信 NIO 大模型面经 大模型学习 SWAT 配置文件 服务管理 网络共享 AnythingLLM AnythingLLM安装 Docker Desktop nuxt3 WebVM 流水线 脚本式流水线 热榜 AutoDL IIS服务器 IIS性能 日志监控 半虚拟化 硬件虚拟化 Hypervisor 策略模式 CrewAI micropython esp32 mqtt ros1 Noetic 20.04 apt 安装 本地部署AI大模型 make命令 makefile文件 像素流送api 像素流送UE4 像素流送卡顿 像素流送并发支持 firewall 镜像 算力 sqlite 办公自动化 自动化生成 pdf教程 pgpool openssl 业界资讯 模拟退火算法 EtherNet/IP串口网关 EIP转RS485 EIP转Modbus EtherNet/IP网关协议 EIP转RS485网关 EIP串口服务器 田俊楠 上传视频至服务器代码 vue3批量上传多个视频并预览 如何实现将本地视频上传到网页 element plu视频上传 ant design vue vue3本地上传视频及预览移除 code-server mosquitto java-rabbitmq echarts 网页设计 CentOS Stream CentOS outlook 数据库系统 ROS DIFY hibernate ukui 麒麟kylinos openeuler W5500 OLED u8g2 TCP服务器 端口测试 chfs ubuntu 16.04 虚拟机安装 框架搭建 kind 同步 备份 建站 SSH 服务 SSH Server OpenSSH Server Java Applet URL操作 服务器建立 Socket编程 网络文件读取 大模型教程 remote-ssh pyautogui HP Anyware 需求分析 规格说明书 匿名管道 proxy模式 烟花代码 烟花 元旦 反向代理 性能调优 安全代理 升级 CVE-2024-7347 frp 内网服务器 内网代理 内网通信 VM搭建win2012 win2012应急响应靶机搭建 攻击者获取服务器权限 上传wakaung病毒 应急响应并溯源 挖矿病毒处置 应急响应综合性靶场 onlyoffice copilot AD域 网页服务器 web服务器 Nginx 在线office web3 人工智能生成内容 超融合 单一职责原则 北亚数据恢复 oracle数据恢复 cursor IMM 语音识别 Headless Linux openstack Xen 智慧农业 开源鸿蒙 团队开发 嵌入式Linux IPC wpf TCP协议 抗锯齿 CDN 软件卸载 系统清理 EMUI 回退 降级 top Linux top top命令详解 top命令重点 top常用参数 知识图谱 HistoryServer Spark YARN jobhistory zookeeper flink 多端开发 智慧分发 应用生态 鸿蒙OS 华为机试 Linux权限 权限命令 特殊权限 deep learning 影刀 #影刀RPA# 自定义客户端 SAS GIS 遥感 WebGIS 大大通 第三代半导体 碳化硅 回显服务器 UDP的API使用 MAC SecureCRT Windows ai工具 java-rocketmq ldap armbian u-boot 项目部署 figma 元服务 应用上架 dock 加速 h.264 项目部署到linux服务器 项目部署过程 机柜 1U 2U ftp IO模型 UEFI Legacy MBR GPT U盘安装操作系统 阿里云ECS vscode1.86 1.86版本 ssh远程连接 open Euler dde 大模型应用 LLM Web APP Streamlit 网卡的名称修改 eth0 ens33 cpp-httplib PX4 GoogLeNet MacOS sysctl.conf vm.nr_hugepages React Next.js 开源框架 deekseek ELF加载 云耀服务器 容器技术 SRS 流媒体 直播 K8S k8s管理系统 dash 正则表达式 tidb GLIBC burpsuite 安全工具 mac安全工具 burp安装教程 渗透工具 seleium glibc 我的世界服务器搭建 minecraft kernel 搭建个人相关服务器 CosyVoice 高效日志打印 串口通信日志 服务器日志 系统状态监控日志 异常记录日志 Python基础 Python教程 Python技巧 对比 工具 meld DiffMerge 华为证书 HarmonyOS认证 华为证书考试 服务器安全 网络安全策略 防御服务器攻击 安全威胁和解决方案 程序员博客保护 数据保护 安全最佳实践 端口聚合 windows11 本地知识库部署 DeepSeek R1 模型 僵尸世界大战 游戏服务器搭建 远程过程调用 Windows环境 达梦 DM8 Claude System V共享内存 进程通信 fork wait waitpid exit swoole FTP服务器 v10 软件 无桌面 MAVROS 四旋翼无人机 多个客户端访问 IO多路复用 TCP相关API 内网环境 信创 信创终端 中科方德 网络建设与运维 生活 开源软件 软负载 架构与原理 docker desktop image wordpress 无法访问wordpess后台 打开网站页面错乱 linux宝塔面板 wordpress更换服务器 IDEA tailscale derp derper 中转 triton 模型分析 端口 查看 ss 沙盒 word C++软件实战问题排查经验分享 0xfeeefeee 0xcdcdcdcd 动态库加载失败 程序启动失败 程序运行权限 标准用户权限与管理员权限 deployment daemonset statefulset cronjob python2 ubuntu24.04 多路转接 镜像下载 Unity Dedicated Server Host Client 无头主机 代理服务器 aarch64 编译安装 HPC oracle fusion oracle中间件 欧标 OCPP 硅基流动 ChatBox lua 内核 vue-i18n 国际化多语言 vue2中英文切换详细教程 如何动态加载i18n语言包 把语言json放到服务器调用 前端调用api获取语言配置文件 运维监控 rpa 极限编程 安装MySQL 性能测试 WebServer 常用命令 文本命令 目录命令 python3.11 xshell termius iterm2 sentinel 服务器无法访问 ip地址无法访问 无法访问宝塔面板 宝塔面板打不开 es jvm Linux find grep 钉钉 DevOps 软件交付 数据驱动 应用场景 midjourney 前后端分离 Reactor反应堆 服务网格 istio 远程服务 Linux环境 网络文件系统 抓包工具 佛山戴尔服务器维修 佛山三水服务器维修 AI员工 网易邮箱大师 合成模型 扩散模型 图像生成 音乐库 鸿蒙开发 移动开发 查看显卡进程 fuser 干货分享 黑客工具 密码爆破 ArtTS qt5 客户端开发 服务器扩容没有扩容成功 lvm 磁盘挂载 磁盘分区 语法 Spring Security 技术共享 我的世界 我的世界联机 数码 kerberos 加解密 Yakit yaklang sequoiaDB 捆绑 链接 谷歌浏览器 youtube google gmail 视频平台 录像 视频转发 视频流 授时服务 北斗授时 线性代数 电商平台 ecm bpm 黑苹果 ISO镜像作为本地源 李心怡 nvm whistle docker部署翻译组件 docker部署deepl docker搭建deepl java对接deepl 翻译组件使用 Qwen2.5-VL vllm 备份SQL Server数据库 数据库备份 傲梅企业备份网络版 Logstash 日志采集 clickhouse docker部署Python 音乐服务器 Navidrome 音流 prometheus数据采集 prometheus数据模型 prometheus特点 llama.cpp nosql dns是什么 如何设置电脑dns dns应该如何设置 xss 在线预览 xlsx xls文件 在浏览器直接打开解析xls表格 前端实现vue3打开excel 文件地址url或接口文档流二进 H3C GameFramework HybridCLR Unity编辑器扩展 自动化工具 pppoe radius ebpf uprobe regedit 开机启动 网络爬虫 本地化部署 DenseNet Mac软件 webgl AI agent opengl 状态模式 电视剧收视率分析与可视化平台 玩机技巧 软件分享 软件图标 浪潮信息 AI服务器 hosts 个人博客 Web服务器 多线程下载工具 PYTHON 大屏端 win服务器架设 windows server uni-file-picker 拍摄从相册选择 uni.uploadFile H5上传图片 微信小程序上传图片 Web应用服务器 VS Code kotlin iphone EMQX 通信协议 rtsp服务器 rtsp server android rtsp服务 安卓rtsp服务器 移动端rtsp服务 大牛直播SDK 计算虚拟化 弹性裸金属 harmonyOS面试题 hexo Sealos 论文阅读 显示管理器 lightdm gdm 怎么卸载MySQL MySQL怎么卸载干净 MySQL卸载重新安装教程 MySQL5.7卸载 Linux卸载MySQL8.0 如何卸载MySQL教程 MySQL卸载与安装 阻塞队列 生产者消费者模型 服务器崩坏原因 AD 域管理 IMX317 MIPI H265 VCU grub 版本升级 扩容 perl 移动魔百盒 junit USB转串口 游戏开发 axure 富文本编辑器 磁盘镜像 服务器镜像 服务器实时复制 实时文件备份 Ubuntu 24 常用命令 Ubuntu 24 Ubuntu vi 异常处理 Helm k8s集群 Carla 智能驾驶 备选 网站 调用 示例 银河麒麟桌面操作系统 Kylin OS 网络搭建 神州数码 神州数码云平台 云平台 deepseek r1 小智AI服务端 xiaozhi TTS Mermaid 可视化图表 HTTP 服务器控制 ESP32 DeepSeek LInux vasp安装 Qualcomm WoS QNN AppBuilder 查询数据库服务IP地址 SQL Server 分布式训练 Linux 维护模式 PPI String Cytoscape CytoHubba react native Zoertier 内网组网 Radius samba qt项目 qt项目实战 qt教程 增强现实 沉浸式体验 技术实现 案例分析 AR 国标28181 视频监控 监控接入 语音广播 流程 SIP SDP ranger MySQL8.0 MDK 嵌入式开发工具 论文笔记 物联网开发 根服务器 navicat 虚幻引擎 离线部署dify 问题解决 g++ g++13 USB网络共享 银河麒麟高级服务器 外接硬盘 Kylin Attention ubuntu 18.04 mcp服务器 client close MVS 海康威视相机 浏览器开发 AI浏览器 做raid 装系统 企业网络规划 华为eNSP es6 qt6.3 g726 代码规范 scikit-learn ECT转485串口服务器 ECT转Modbus485协议 ECT转Modbus串口服务器 autodl Apache Beam 批流统一 案例展示 数据分区 容错机制 免密 公钥 私钥 netlink libnl3 蓝桥杯C++组 跨平台 输入系统 mysql安装报错 windows拒绝安装 wsgiref Web 服务器网关接口 西门子PLC 通讯 CPU 使用率 系统监控工具 linux 命令 负载测试 ardunio BLE Office cmake 底层实现 高效I/O 风扇控制软件 联机 僵尸毁灭工程 游戏联机 开服 vite 数字证书 签署证书 CNNs 图像分类 AI Agent 字节智能运维 接口优化 vmamba 图片增强 增强数据 小智 NAT转发 NAT Server csrutil mac恢复模式进入方法 恢复模式 显示器 多产物 Docker快速入门 联网 easyconnect Unity插件 iNode Macos iventoy VmWare OpenEuler css3 js 解决方案 AzureDataStudio 服务器正确解析请求体 Chatbox UDP xfce Pyppeteer 带外管理 桌面环境 流量运营 diskgenius ShapeFile GeoJSON 服务器部署 本地拉取打包 macOS k8s部署 MySQL8.0 高可用集群(1主2从) lighttpd安装 Ubuntu配置 Windows安装 服务器优化 mm-wiki搭建 linux搭建mm-wiki mm-wiki搭建与使用 mm-wiki使用 mm-wiki详解 shell脚本免交互 expect linux免交互 yashandb MobaXterm stable diffusion 大模型推理 zerotier 蓝牙 NFC 近场通讯 智能门锁 yum换源 粘包问题 ufw 搜狗输入法 中文输入法 Tabs组件 TabContent TabBar TabsController 导航页签栏 滚动导航栏 scapy SVN Server tortoise svn HAProxy ABAP laravel 存储维护 NetApp存储 EMC存储 高德地图 鸿蒙接入高德地图 HarmonyOS5.0 deepseek-r1 大模型本地部署 笔灵AI AI工具 内网渗透 靶机渗透 ajax Linux Vim VPN wireguard retry 重试机制 工具分享 一切皆文件 pyicu Ardupilot Isaac Sim 虚拟仿真 环境搭建 Maven initramfs Linux内核 Grub solidworks安装 计算机科学与技术 umeditor粘贴word ueditor粘贴word ueditor复制word ueditor上传word图片 ueditor导入word ueditor导入pdf ueditor导入ppt 错误代码2603 无网络连接 2603 动静态库 deepseak 豆包 KIMI 腾讯元宝 空间 查错 nohup后台启动 网络原理 实时内核 sudo原理 su切换 弹性服务器 VMware Tools vmware tools安装 vmwaretools安装步骤 vmwaretools安装失败 vmware tool安装步骤 vm tools安装步骤 vm tools安装后不能拖 vmware tools安装步骤 WireGuard 异地组网 分子对接 autodock mgltools PDB PubChem 配置原理 华为OD 可以组成网络的服务器 端口号 开放端口 访问列表 动态规划 ArkTS 移动端开发 玩游戏 管道 beautifulsoup GeneCards OMIM TTD 智能体开发 终端工具 远程工具 EVE-NG 文件传输 llamafactory 微调 gunicorn 充电桩平台 充电桩开源平台 电脑桌面出现linux图标 电脑桌面linux图标删除不了 电脑桌面Liunx图标删不掉 linux图标删不掉 WINCC fiddler 锁屏不生效 零售 用户管理 进程程序替换 execl函数 execv函数 execvp函数 execvpe函数 putenv函数 iTerm2 录音麦克风权限判断检测 录音功能 录音文件mp3播放 小程序实现录音及播放功能 RecorderManager 解决录音报错播放没声音问题 进程间通信 信息安全 桌面快捷方式 openjdk ubuntu安装 linux入门小白 大版本升 升级Ubuntu系统 linuxdeployqt 打包部署程序 appimagetool PyQt PySide6 电路仿真 multisim 硬件工程师 硬件工程师学习 电路图 电路分析 仪器仪表 env 变量 Bug解决 Qt platform OpenCV nacos servlet 大模型训练/推理 推理问题 mindie 终端 服务器ssl异常解决 qps 高并发 安全漏洞 机械臂 SystemV archlinux kde plasma 免费 VGG网络 卷积层 池化层 ftp服务 文件上传 autoware glm4 跨域请求