文章851
标签121
分类10

Android手机 投屏 到 Macbook

首先需要先安装 abd.

Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信.

Mac安装adb,最简单的办法是用homebrew

brew install --cask android-platform-tools

安装后 在选择一个图形界面工具

我选择安装的是 QtScrcpy :
2025-01-09T09:18:23.png

Nginx 配置调整以解决 HTTP 413 错误

2025-01-06T10:05:07.png
在处理 HTTP 请求时,Nginx 会返回 413 错误代码,表示客户端请求的主体过大。这通常发生在上传文件或发送大数据时。根据你的日志示例:

2025/01/06 17:00:54 [error] 7038#0: *121143 client intended to send too large body: 2120716 bytes, client: 111.111.11.11, server: app.topexpre.com, request: "POST /test HTTP/1.1", host: "test.com"

这表明客户端尝试发送 2,120,716 字节的数据,但 Nginx 默认的 client_max_body_size 配置限制了请求体的大小。

解决方案

1. 修改 Nginx 配置

为了允许更大的请求体,你可以在 Nginx 配置文件中设置 client_max_body_size 参数。你提到的修改可以放在 httpserverlocation 块中。以下是如何进行修改的示例:

http 块中

如果你希望所有的 Nginx 服务器都应用此设置,可以在 nginx.confhttp 块中添加:

http {
    ...
    client_max_body_size 10m;  # 设置请求体最大为 10MB
    ...
}

server 块中

如果你只想在特定的虚拟主机中应用此设置,可以在 server 块中添加:

server {
    listen 80;
    server_name test.com;
    
    client_max_body_size 10m;  # 设置请求体最大为 10MB
    
    ...
}

location 块中

如果你希望只在特定路径下允许更大的请求体,可以在 location 块中配置:

location / {
    client_max_body_size 10m;  # 设置请求体最大为 10MB
    ...
}

2. 重新加载 Nginx 配置

完成修改后,记得重新加载 Nginx 配置,以使更改生效:

sudo nginx -s reload

3. 验证配置

可以使用以下命令检查 Nginx 配置是否有语法错误:

sudo nginx -t

如果输出显示 syntax is oktest is successful,则可以安全地重新加载配置。

Nginx 四层协议 Tcp 负载均衡

2025-01-06T09:02:16.png

在 Nginx 中配置 Stream 模块,以实现 TCP/UDP 的负载均衡和流量转发。我们将涵盖如何确认 Nginx 是否编译了 Stream 模块、配置文件的设置以及负载均衡策略的使用。

Nginx四层负载均衡应用场景

1.四层+七层来做负载均衡,四层可以保证七层的负载均衡的高可用性;nginx就无法保证自己的服务高可用,需要依赖LVS或者keepalive
2.tcp协议的负载均衡,有些请求是TCP协议的(mysql、ssh),或者说这些请求只需要使用四层进行端口的转发就可以了,所以使用四层负载均衡。
3.数据库读写分离负载
4.跳板机端口映射

1. 确认 Nginx 是否支持 Stream 模块

首先,我们需要确认 Nginx 是否在编译时启用了 Stream 模块。可以通过以下命令来检查:

nginx -V | grep stream

如果输出包含以下内容,说明 Nginx 支持 Stream 模块:

--with-stream=dynamic --with-stream_ssl_module --with-stream_ssl_preread_module

2. 配置 Nginx

2.1 动态加载 Stream 模块

接下来,我们需要在 Nginx 的配置文件中加载 Stream 模块。可以在 nginx.conf 文件中添加以下行:

load_module /usr/lib64/nginx/modules/ngx_stream_module.so;

或者使用通用的包含指令:

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

2.2 配置 Stream 块

nginx.conf 文件中,我们需要在 http 块的同级位置添加 stream 块。例如:

stream {
    log_format tcp_log '$remote_addr [$time_local] '
                      '$status $bytes_sent $bytes_received';
    include /etc/nginx/rpc/*.conf;
}

2.3 配置 TCP 负载均衡

我们可以创建一个新的配置文件,比如 iprpc_5019.conf,用于指定流量的监听和转发:

server {
    listen 5019;
    access_log /var/log/nginx/iprpc_5019_access.log tcp_log;
    error_log /var/log/nginx/iprpc_5019_error.log;
    proxy_pass iprpc_5019;  # 将流量转发到 upstream
    proxy_timeout 600s;  # 可以根据需要调整超时
    proxy_connect_timeout 60s;  # 配置连接超时
}

2.4 定义 Upstream 服务器

在另一个配置文件,比如 rpc_upstream.conf 中,我们需要定义 upstream 服务器:

upstream iprpc_5019 {
    # least_conn;  # 使用最少连接策略
    # server 10.10.10.14:5019 weight=5;  # 设置权重
    server 10.10.10.14:5019;
    server 10.10.10.15:5019;
    server 10.10.10.16:5019;
}

3. 支持的负载均衡策略

Nginx 支持多种负载均衡策略,具体如下:

  1. 轮询(Round Robin):默认策略,依次将请求分配给 upstream 中的服务器。
  2. 加权轮询(Weighted Round Robin):根据服务器的权重分配请求,权重越高,服务器处理的请求越多。
  3. 最少连接(Least Connections):使用 least_conn; 指令,将请求分配给当前连接数最少的服务器,适用于服务器性能差异较大的场景。
">