nginx的配置文件

news2024/10/6 10:30:37

nginx的配置文件

  • 一、nginx配置文件
    • 1.1、主配置文件详解
    • 1.2、子配置文件
  • 二、修改启动程序的全局配置
    • 2.1、修改启动的工作进程数优化
    • 2.2、cpu与eorker process绑定优化
    • 2.3、PID路径优化
    • 2.4、修改工作进程的优先级 优化
    • 2.5、调试工作进程打开文件的文件个数
      • 2.5.1、基本原理
      • 2.5.2、配置过程
      • 2.5.3、测试是否配置成功
  • 三、events部分
  • 四、http设置
    • 4.1、http部分详解
    • 4.2、mime
    • 4.2、server下的root指令
    • 4.4、构建虚拟主机
      • 4.4.1、基于域名的虚拟主机
      • 4.4.2、基于端口
      • 4.4.3、基于IP地址
    • 4.5、路径别名----alias
    • 4.6、location模块
    • 4.7、基于四层的访问控制-------access模块
    • 4.8、验证模块
      • 4.8.1、htpaswwd命令
      • 4.8.2、配置验证模块
    • 4.9、关闭或修改版本信息
      • 4.9.1、关闭版本信息显示
      • 4.9.2、修改nginx版本信息优化
    • 4.10、自定义错误页面
    • 4.11、修改日志位置
    • 4.12、检测文件是否存在-----try_files指令
      • 4.12.1、原理部分
      • 4.12.2、配置实例
    • 4.13、长连接------keepalive指令
      • 4.13.1、原理
      • 4.13.2、keepalive_timeout
      • 4.13.3、keepalive_requests
    • 4.14、用户上传资料

一、nginx配置文件

1.1、主配置文件详解

主配置文件:nginx.conf

在这里插入图片描述

1.2、子配置文件

子配置文件: include conf.d/*.conf
子配置文件一般在主配置文件的http部分。

  • http块中可以包含多个子配置文件,常见的子配置文件

  • server块:用于配置HTTP服务器的具体行为,包括监听的端口、虚拟主机的配置、请求处理逻辑等。

  • location块:用于指定不同URL请求的处理方式,例如静态文件的服务、反向代理等。

  • upstream块:用于配置反向代理的目标服务器列表。

  • include指令:用于引入其他的子配置文件,可以将一些通用的配置项单独放在一个文件中,然后通过include指令引入。

二、修改启动程序的全局配置

2.1、修改启动的工作进程数优化

  • 通过使用 auto 参数,Nginx 可以根据系统的负载情况智能地分配工作进程,以提供更好的性能和资源利用率。

修改主配置文件中的work_process项
在这里插入图片描述
在这里插入图片描述

2.2、cpu与eorker process绑定优化

在 Nginx 配置文件中,worker_cpu_affinity 指令用于控制 worker 进程与 CPU 的亲和性(affinity)关系
在这里插入图片描述
在这里插入图片描述

2.3、PID路径优化

在这里插入图片描述

在这里插入图片描述

2.4、修改工作进程的优先级 优化

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.5、调试工作进程打开文件的文件个数

2.5.1、基本原理

所有worker进程能打开的文件数量上限,包括:nginx是所有连接(例如代理服务器的连接等),而不仅仅是与客户端的连接,另一个考虑因素是实际的并发连接数不能超过系统级别的最大打开文件数的限制,最好与ulinmit -n或者limits.conf保持一致

2.5.2、配置过程

修改主配置文件
在这里插入图片描述
在这里插入图片描述
修改系统默认项
方法一:临时修改
在这里插入图片描述
方法二:永久修改,修改pam认证模块
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.5.3、测试是否配置成功

在这里插入图片描述
没修改时
在这里插入图片描述

systemctl start nginx #开启服务

压力测试,观察反馈界面
while : ;do ab -c 10000 -n 10000 http://192.168.2.102/big.img;sleep 1;done
#并发10000个请求,由于默认1024,观察失败的请求数

在这里插入图片描述
修改后
在这里插入图片描述
切换到另一台主机
在这里插入图片描述

三、events部分

在Nginx的主配置文件中,events部分用于配置Nginx服务器的事件模块相关参数,控制Nginx服务器在处理连接请求时的行为。

常见的events配置参数:

  • worker_connections:指定每个工作进程可以同时处理的最大连接数。

  • multi_accept:指定是否一次接受多个连接。默认情况下,Nginx在每个循环中只接受一个连接,但设置multi_accept为"on"后可以同时接受多个连接。

  • use:指定Nginx使用的事件模块。常见的事件模块有"epoll"、"kqueue"和"eventport"等。

四、http设置

4.1、http部分详解

include引入其他配置文件,通常用于加载MIME类型配置文件
default_type指定默认MIME类型
server定义一个或多个虚拟主机
listen指定该虚拟主机监听端口
server_name指定域名,用于匹配请求的主机头
root指定虚拟主机的根目录
location用于匹配不同的 URL,并定义相关配置
#基本格式
http {
 ...
 ...  #各server的公共配置
 server {    #每个server用于定义一个虚拟主机,第一个server为默认虚拟服务器
 ...
 }
 server {     
 ...
 server_name   #虚拟主机名
 root     #主目录
 alias     #路径别名
 location [OPERATOR] URL {     #指定URL的特性
 ...
 if CONDITION {
 ...
 }
 }
 }
}

#详解
http {
   include       mime.types; #导入支持的文件类型,是相对于/apps/nginx/conf的目录
   default_type application/octet-stream; #除mime.types中文件类型外,设置其它文件默认类型,访问其它类型时会提示下载不匹配的类型文件
#日志配置部分
    #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    #                 '$status $body_bytes_sent "$http_referer" ' refer是跳转的源地址,如果没有跳转 没有refer
    #                 '"$http_user_agent" "$http_x_forwarded_for"';
    #access_log logs/access.log main;
#自定义优化参数
   sendfile       on; 
    #tcp_nopush     on; #在开启了sendfile的情况下,合并请求后统一发送给客户端。
    #tcp_nodelay   off; #在开启了keepalived模式下的连接是否启用TCP_NODELAY选项,当为off时,延迟0.2s发送,默认On时,不延迟发送,立即发送用户响应报文。
    #keepalive_timeout 0;
   keepalive_timeout  65 65; #设置会话保持时间,第二个值为响应首部:keepAlived:timeout=65,可以和第一个值不同
    #gzip on; #开启文件压缩
   server {
       listen       80; #设置监听地址和端口
       server_name localhost; #设置server name,可以以空格隔开写多个并支持正则表达式,如:*.kgc.com www.kgc.* ~^www\d+\.kgc\.com$ default_server 
        #charset koi8-r; #设置编码格式,默认是俄语格式,建议改为utf-8
        #access_log logs/host.access.log main;
       location / {
           root   html;
           index index.html index.htm;
       }
        #error_page 404             /404.html;
        # redirect server error pages to the static page /50x.html
        #
       error_page   500 502 503 504 /50x.html; #定义错误页面
       location = /50x.html {
           root   html;
       }
        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ { #以http的方式转发php请求到指定web服务器
        #   proxy_pass   http://127.0.0.1;
        #}
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ { #以fastcgi的方式转发php请求到php处理
        #   root           html;
        #   fastcgi_pass   127.0.0.1:9000;
        #   fastcgi_index index.php;
        #   fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
        #   include       fastcgi_params;
        #}
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht { #拒绝web形式访问指定文件,如很多的网站都是通过.htaccess文件
来改变自己的重定向等功能。
        #   deny all;
        #}
       location ~ /passwd.html {
           deny all;
       }
   }
    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server { #自定义虚拟server

4.2、mime

在nginx中,mime是一种配置命令,用于设置MIME类型与文件扩展名的映射关系
在这里插入图片描述

4.2、server下的root指令

在nginx配置中,“root‘指令用于设置服务器模块的根目录,指明软件的根目录,通常”root’指令位于nginx配置文件中的服务器模块里

server {
    listen 80;
    server_name example.com;

    root /var/www/html;

    location / {
        ...
    }

    ...
}
#指定了服务器块的根目录为"/var/www/html"
#访问该服务器的网站时,Nginx会在"/var/www/html"文件夹中查找并提供相应的静态文件

4.4、构建虚拟主机

4.4.1、基于域名的虚拟主机

以手机端和电脑端为例

mkdir -p /apps/nginx/conf.d/#建立虚拟主机配置文件目录

cd /apps/nginx/conf #主配置文件所在目录

#添加到http模块中
vim nginx.conf

include             /apps/nginx/conf.d/*.conf;
#声明子配置文件的位置,需要写在最上面

nginx -t #保存后检查语法

在这里插入图片描述

cd /apps/nginx/conf.d/

#编写电脑端的配置文件
vim computer.conf 

server{
        listen   192.168.2.100:80;
        server_name www.computer.com;
     location / {
        root  /data/nginx/html/pc;
    }
}
#编写手机端的配置文件
vim mobile.conf

server {
   listen 192.168.2.100:80;
   server_name www.mobile.com;
   root /data/nginx/html/mobile/;
}

在这里插入图片描述

#构建数据文件
echo This is computer > /data/nginx/html/pc/index.html
echo This is mobile > /data/nginx/html/mobile/index.html

在这里插入图片描述

#切换到测试机
#修改本地hosts文件 添加对应映射
vim /etc/hosts
192.168.11.11 www.computer.com
192.168.11.11 www.mobile.com

在这里插入图片描述

#测试
curl www.computer.com
curl www.mobile.com

在这里插入图片描述

4.4.2、基于端口

服务端
#编辑子配置文件 mobile.conf,修改端口号
server{
        listen 192.168.2.100:8080;
        server_name www.mobile.com;
        root /data/nginx/html/moblie;

}

#computer.conf 不变
server{
        listen   192.168.2.100:80;
        server_name www.computer.com;
        root  /data/nginx/html/pc;
}



在这里插入图片描述

切换到客户端
curl 192.168.11.11:8080 
curl 192.168.11.11:80

4.4.3、基于IP地址

在这里插入图片描述

#编辑子配置文件mobile.conf,修改IP地址 
cd /apps/nginx/conf.d/
vim mobile.conf

server{
        listen 192.168.2.136:80;
        server_name www.mobile.com;
        root /data/nginx/html/mobile;

}

#computer.conf不变
server{
        listen   192.168.2.100:80;
        server_name www.computer.com;
        root  /data/nginx/html/pc;
}


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.5、路径别名----alias

在nginx中,alias用于创建一个路径别名的指令
别名可以用于将文件或目录从一个位置映射到另一个为止,提供更灵活的访问控制

服务端
#编辑子配置文件mobile.conf,使用alias
server {
   listen 80;
   server_name www.computer.com;
    
   location /test{
        alias /data/nginx/html/pc;
        #相当于替换,访问/test/就是访问/data/nginx/html/pc;
        }
} 

在这里插入图片描述

4.6、location模块

在nginx中location是一个用于匹配请求URL路径的指令。它在nginx配置文件中使用,在不同的location块中定义不同行为或处理规则

#官方帮助文档
http://nginx.org/en/docs/http/ngx_http_core_module.html#location 

#基本语法
location [修饰符] 匹配的路径 {
    ... 配置指令 ...
}
修饰符功能
=精确字符串匹配
^~前缀匹配,如果URL路径以指定的字符串开始,则停止查找其他匹配
~使用正则表达式进行匹配
~*使用正则表达式进行匹配,不区分大小写
不带符号匹配起始于此uri的所有uri
|表示包含正则表达式并且转义字符

优先级(从高到低):=, ^~, /*, 不带符号

#举个例子 1
location  {
    ... 处理根路径的配置 ...
}

location /static {
    ... 处理 /static 路径的配置 ...
}

location ~ \.(png|jpg)$ {
    ... 处理以 .png 或 .jpg 结尾的请求的配置 ...
}

location = /favicon.ico {
    ... 处理 favicon.ico 请求的配置 ...
}

```bash
#举个例子 2
location = / {
   [ configuration A ]
}
location / {
   [ configuration B ]
}
location /documents/ {
   [ configuration C ]
}
location ^~ /images/ {
   [ configuration D ]
}
location ~* \.(gif|jpg|jpeg)$ {
   [ configuration E ]
}

访问路径是    /                # A  B 能匹配,A优先级高 ,A   
访问路径是    /index.html     #只有B
访问路径是    /documents/document.html  #B C能匹配 C精确度高 所以C
访问路径是    /images/1.gif     # B D E 能匹配,D的优先级高,D 
访问路径是    /documents/1.jpg   # B C E 能匹配, E

#做个题目
如下请求内容,会匹配哪个 Location?
http://www.example.com/gallery/images/cat.png
A.Location /gallery {}
B.Location ~* ^/.(png|jpg)${}
C.Location ^~ /gallery/images {}
D.Location / {}

我选C

4.7、基于四层的访问控制-------access模块

nginx的access模块允许用户定义基于IP地址,请求方法,URL等条件访问规则,以控制客户端对nginx服务器上特定资源访问
1.IP地址访问控制:允许或拒绝特定IP地址或IP地址范围访问

拒绝特定IP地址的访问

location / {
    deny 192.168.2.102;
}


允许特定IP地址段的访问

location / {
    allow 192.168.2.0/24;
    deny all;
}


2.请求方法访问控制:允许或拒绝特定HTTP请求方法的访问

仅允许GET请求

if ($request_method != GET) {
    return 403;
}

3.URL访问控制;允许或拒绝特定URL模式的访问

拒绝特定URI的访问

location /admin {
    deny all;
}

允许特定URI模式的访问

location ~ ^/api/ {
    allow all;
}

4.条件组合访问控制;根据多个条件组合来实施访问控制策略

仅允许特定IP地址段的GET请求访问特定URI模式

#举个例子
location ~ ^/api/ {
    if ($request_method != GET) {
        return 403;
    }
    allow 192.168.1.0/24;
    deny all;
}

4.8、验证模块

4.8.1、htpaswwd命令

安装
yum install  httpd-tools -y 

在这里插入图片描述

常用命令

#第一次生成文件
htpasswd -c  文件路径 姓名        	 交互式生成密码
htpasswd -bc 文件路径 姓名 密码   		直接将密码跟在

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

#非第一次生成文件
htpasswd     文件路径 姓名        	 交互式生成密码
htpasswd -b  文件路径 姓名 密码   		直接将密码跟在后面 

4.8.2、配置验证模块

#编辑配置文件
vim computer.conf

server {
   listen 80;
   server_name www.byyd.com;
   location / {
        root /data/nginx/html/pc;
 }
   location /admin{
        root /data/nginx/html/pc;
        auth_basic    "admin site";
        #提示信息,不是所有浏览器都有用
        auth_basic_user_file /apps/nginx/conf.d/.httpuser;
        #密码文件存放位置
 }
}

使用 Basic 认证(基本认证)对用户进行身份验证

htpasswd -bc /apps/nginx/conf.d/.httpuser byyd 123456 
#创建一个.htpasswd文件,并添加一个使用Basic认证的用户名和密码

在这里插入图片描述

打开虚拟机内置浏览器
访问 192.168.11.11/admin

在这里插入图片描述

4.9、关闭或修改版本信息

4.9.1、关闭版本信息显示

思路
修改主配置文件,将 server_tokens  off;放在http语句中

cd /apps/nginx/conf/
vim nginx.conf 

在这里插入图片描述

保存退出后
nginx -s reload #应用修改

curl -I http://192.168.2.100/
#将请求发送到IP地址为192.168.91.100的服务器上的根路径,并返回服务器的响应头信息
#响应头信息包括服务器类型、内容类型、响应日期和连接状态等。

在这里插入图片描述
在这里插入图片描述

4.9.2、修改nginx版本信息优化

思路: 修改安装包里源码, 再重新编译

源码路径
/nginx-1.18.0/src/core/nginx.h

思路: 修改安装包里源码, 再重新编译

源码路径
/nginx-1.18.0/src/core/nginx.h

在这里插入图片描述

vim ./nginx-1.18.0/src/http/ngx_http_header_filter_module.c 
#修改模块的源代码文件

在这里插入图片描述
在这里插入图片描述

##然后重新编译安装
./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

make -j2 && make install

``

```bash
编译安装完成后,重启
nginx -v #查看版本信息
curl -I 192.168.2.100 

在这里插入图片描述

4.10、自定义错误页面

修改错误页面的主要目的是为了提供更友好的用户体验和品牌一致性。

也可以用指定的响应状态码进行响应。
部分响应码状态

#部分响应状态码
400 Bad Request:请求不正确或无效的错误页面。
401 Unauthorized:未授权访问的错误页面。
403 Forbidden:禁止访问的错误页面。
404 Not Found:页面未找到的错误页面。
500 Internal Server Error:服务器内部错误的错误页面。
502 Bad Gateway:错误的网关请求的错误页面。
503 Service Unavailable:服务不可用的错误页面

配置文件中的可用位置:http, server, location, if in location。

#基本格式
error_page code ... [=[response]] uri;

#构成详解 
error_page    固定写法
code          响应码
=             可以将响应码转换
uri           访问连接

新建错误页面和错误页面目录

mkdir /data/nginx/html/pc/error/
cd  /data/nginx/html/pc/error/

vim 40x.html #错误页面

在这里插入图片描述

cd /apps/nginx/conf.d/

vim computer.conf #编辑子配置文件

server {
   listen 80;
   server_name www.kgc.com;
   root /data/nginx/html/pc;
   error_page 404 =302 /40x.html;
   #把错误码 404 指定成302    注意此处的  40x.html 需要真实存在建立的页面必须一致
   location = /40x.html {
        root /data/nginx/html/pc/error/;
 }
   location / {
        root /data/nginx/html/pc;
 }
 #验证模块可以不写
   location /admin{
        auth_basic    "admin site";
        auth_basic_user_file /apps/nginx/conf.d/.httpuser;
 }
}

4.11、修改日志位置

通过修改日志的路径,可以实现日志分离,即不同网站的日志单独存放。

mkdir  /data/logs #新建存放日志的目录

#编辑子配置文件,指定日志存放位置
vim /apps/nginx/conf.d/mobile.conf

server{
        listen 80;
        server_name  www.mobile.com;
        root /data/nginx/m/;
        error_log    /data/logs/m_error.log;
        access_log  /data/logs/m_access.log;
}

vim /apps/nginx/conf.d/computer.conf

server{
        listen 80;
        server_name  www.computer.com;
        root /data/nginx/pc;
        error_log    /data/logs/pc_error.log;
        access_log  /data/logs/pc_access.log;
}

在这里插入图片描述

nginx -t 
nginx -s reload #语法检查无误后重载

在这里插入图片描述

4.12、检测文件是否存在-----try_files指令

Nginx 的 try_files 指令用于指定在资源文件不存在时如何处理请求。
默认开启,可用于server和location部分。

4.12.1、原理部分

基本语法
#方式一
try_files file ... uri;

file 表示要尝试的文件路径,
uri 则表示当文件不存在时转发请求的路径。

#举个例子
location / {
    try_files $uri $uri/ /index.html /fallback.html;
}

#释义
尝试找到与请求的 URI 对应的文件。
如果文件不存在,则尝试在 URI 后面加上斜杠 (/) 后再查找一个文件。
如果仍然找不到文件,则尝试访问 /index.html。
如果连 /index.html 也不存在,则将请求转发给 /fallback.html。

#方式二
try_files file ... =code;

=code 表示文件不存在时 返回的状态码
#只会返回指定的 HTTP 响应码,而不会转发请求到指定的 uri

#举个例子
location / {
    try_files $uri $uri/ =404;
}

#释义
尝试找到与请求的 URI 对应的文件。
如果文件不存在,则尝试在 URI 后面加上斜杠 (/) 后再查找一个文件。
如果仍然找不到文件,则返回 404 响应码。


4.12.2、配置实例

服务端

#新建寻找失败跳转页面
mkdir /data/nginx/html/pc/about 
echo "default page" >>
/data/nginx/html/pc/about/default.html

#修改配置文件
vim /apps/nginx/conf.d/computer.conf
server{
listen   80;
server_name www.byydc.com;
root /data/nginx/pc;
location / {
root  /data/nginx/html/pc;
try_files $uri  $uri.html $uri/index.html
/about/default.html;
    }
}

#重新加载
nginx -t 
nginx -s reload、

#建立测试文件
cd /data/nginx/html/pc/;touch test 
echo "find it" >> test 

客户端

curl www.byydc.com/test #查找一个存在的文件来测试 

在这里插入图片描述

curl www.byydc.com/tes#查找一个不存在的文件来测试 

在这里插入图片描述

4.13、长连接------keepalive指令

4.13.1、原理

HTTP Keep-Alive 功能用于实现长连接,允许客户端和服务器之间的 TCP 连接在发送完一个请求后保持打开状态,以便在同一连接上发送多个请求和响应。

可以加在全局或者 server 。

keepalive 配置指令仅对 HTTP/1.0 和 HTTP/1.1 版本的连接有效。

对于 HTTP/2 连接,keepalive 功能是默认启用的,并且无需额外配置。

4.13.2、keepalive_timeout

keepalive_timeout timeout [header_timeout];
#设定保持连接超时时长

keepalive_timeout 用于定义长连接超时时间。

当一个客户端与服务器之间的连接完成一个请求后的等待时间。
如果在这个时间内没有收到新的请求,服务器会关闭连接。
这个时间是以秒为单位的,默认值是 75 秒。

4.13.3、keepalive_requests

keepalive_requests number;  
#在一次长连接上所允许请求的资源的最大数量

keepalive_requests 用于设置一个连接上可以处理的最大请求数量。

当达到指定数量后,服务器会关闭该连接并且客户端需要重新建立新连接。

默认情况下,keepalive_requests 的值是 100。

如果将 keepalive_requests 设置为 0,则表示在完成每个请求后立即关闭连接,禁用了 Keep-Alive

4.14、用户上传资料

client_max_body_size 1m; 
#设置允许客户端上传单个文件的最大值,默认值为1m,上传文件超过此值会出413错误
client_body_buffer_size size; 
#用于接收每个客户端请求报文的body部分的缓冲区大小;默认16k;超出此大小时,其将被暂存到磁盘上的由下面client_body_temp_path指令所定义的位置
client_body_temp_path path [level1 [level2 [level3]]];
#设定存储客户端请求报文的body部分的临时存储路径及子目录结构和数量,目录名为16进制的数字,使用hash之后的值从后往前截取1位、2位、2位作为目录名

上传文件大于限制  错误代码413

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ac7260网卡不能连5g

之前路由器是双频,最近为了连物联网一堆,把双频拆成两个wifi 结果电脑上装的pdd网卡就罢工了,连4g可以,但是连5g网络就不行,连上却没网,导致网盘下东西慢。刚开始以为是tplink的易展问题,结果看…

Python Opencv实践 - 凸包检测(ConvexHull)

import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/stars.png") plt.imshow(img[:,:,::-1])img_contour img.copy() #得到灰度图做Canny边缘检测 img_gray cv.cvtColor(img_contour, cv.COLOR_BGR2GRAY) edges…

Python将多个文件的名称或后缀名由大写字母修改为小写的方法

本文介绍基于Python语言,基于一个大文件夹,遍历其中的多个子文件夹,并对于每一个子文件夹中的大量文件,批量将其文件的名称或后缀名中的字母由大写修改为小写的方法。 本文期望实现的需求为:现有一个大文件夹&#xff…

netcat的使用

目录 netcat简介 nc的使用场景 nc实现通信 创建一个服务端 创建一个客户端 具体案例 环境 win10在具体路径下执行命令 win7在具体路径下执行命令 netcat文件传输 nc文件传输的利用 服务器等待接收文件 客户端向服务器发送文件 服务器向连接的客户端发送文件 客户…

内网隧道代理技术(二十)之 CS使用HTTP代理上线不出网机器

CS使用HTTP代理上线不出网机器 CS工具自带上线不出网机器 如图A区域存在一台中转机器,这台机器可以出网,这种是最常见的情况。我们在渗透测试的过程中经常是拿下一台边缘机器,其有多块网卡,边缘机器可以访问内网机器,内网机器都不出网。这种情况下拿这个边缘机器做中转,…

OpenSIPS 管理接口的对接

文章目录 1. 背景2. OpenSIPS 的 HTTP 管理接口对接2.1 脚本配置2.2 请求方式 1. 背景 OpenSIPS 是功能完善的开源 SIP 代理服务器,它在支持 SIP 代理的主要功能以外,也为使用者提供了一套 MI 管理接口。面向不同的通信方式,OpenSIPS 还提供…

训练简单的线性模型,预测电影评分和票房收入

文章目录 训练简单的线性模型,预测电影评分和票房收入数据集加载数据可视化数据分割数据集训练模型可视化结果应用模型保存和加载模型 训练简单的线性模型,预测电影评分和票房收入 这是一个简单的线性模型,用于预测电影的评分和票房收入。不…

Mysql 性能分析(慢日志、profiling、explain)、读写分离(主从架构)、分库分表(垂直分库、垂直分表、水平分表)

查看系统性能参数 一条sql查询语句在执行前,需要确定查询执行计划,如果存在多种执行计划的话,mysql会计算每个执行计划所需要的成本,从中选择 成本最小的一个作为最终执行的执行计划 想要查看某条sql语句的查询成本,可…

【LeetCode算法系列题解】第21~25题

CONTENTS LeetCode 21. 合并两个有序链表(简单)LeetCode 22. 括号生成(中等)LeetCode 23. 合并K个升序链表(困难)LeetCode 24. 两两交换链表中的节点(中等)LeetCode 25. K 个一组翻转…

Python 中的类,包括self关键字、类的属性限制访问

Python 中的类 一 、类和对象1.概念2.写法: 二、 self用法详解1.self代表类的实例,而非类2.self可以不写吗?3.在继承时,self的使用。 三、 属性限制访问1. 系统定义2.保护类型成员3.私有类型成员 一 、类和对象 1.概念 类是封装…

房屋装修选择自装,如何寻找木工师傅,比价全屋定制和木工并施工(木工阶段)

环境: 地点:杭州 装修类型:自装 面积:建面135平方 进度:木工阶段 问题描述: 房屋装修选择自装,如何寻找木工师傅,比价全屋定制和木工并施工(木工阶段) …

SpringBoot项目通过分词器生成词云

目录 前言一、词云是什么?二、使用步骤1.引入依赖2.application.yml3.Controller4.分词工具类4.词云生成工具类、支持输出文件和字节流 注意 前言 公司项目涉及到员工任务管理,需要从员工任务中获取任务信息生成个人词云图,可以把员工任务中…

【小沐学Unity3d】3ds Max 骨骼动画制作(CAT、Character Studio、Biped、骨骼对象)

文章目录 1、简介2、 CAT2.1 加载 CATRig 预设库2.2 从头开始创建 CATRig 3、character studio3.1 基本描述3.2 Biped3.3 Physique 4、骨骼系统4.1 创建方法4.2 简单示例 结语 1、简介 官网地址: https://help.autodesk.com/view/3DSMAX/2018/CHS https://help.aut…

Python基础之基础语法(二)

Python基础之基础语法(二) 语言类型 静态语言 如:C C Java ina a 100 a 100 a abc # 不可以静态语言需要指定声明标识符的类型,之后不可以改变类型赋值。静态语言变异的时候要检查类型,编写源代码,编译时检查错误。 动态语…

jupyter常用的方法以及快捷键

选中状态 蓝色 按enter 进入编辑状态 编辑状态 绿色 按Esc 进入选中状态 Code模式运行是运行代码 Markdown模式运行是进入预览状态 - - - 是文本格式的一种精简的语法形式 Raw NBConvert 是默认文本状态 - - - 输入什么样 展示什么样 Y - - - 切换code模式 M - - - 切换Markdo…

01-虚拟机安装Windows Server操作系统

1、创建并配置虚拟机 2、安装操作系统 找到windows Server镜像 等待安装 3、设置密码

Linux用一键安装包部署禅道(18.5版本)

一、安装 禅道软件下载地址:禅道官方下载地址 - 禅道开源项目管理软件 - 禅道开源项目管理软件 请根据自己的需要下载对应的版本。 官方教程地址: (推荐)Linux用一键安装包 - 禅道使用手册 - 禅道开源项目管理软件 注:Linux 一键安装包必须直接解压到 …

win11右键菜单恢复win10风格

输入以下命令 reg.exe add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve

uniapp实现移动端的视频图片轮播组件

1、视频轮播组件app体验地址 https://tt.appc02.com/nesxr6 2、支持小程序、H5、APP&#xff0c;在小程序上运行的效果图 3、使用方法 第一步&#xff0c;按照截图步骤配置好 第二步&#xff1a;参考以下代码&#xff0c;使用视频图片轮播组件 <template><view>…

机器学习:Xgboost

Xgboost XGBoost&#xff08;eXtreme Gradient Boosting&#xff09;是一种机器学习算法&#xff0c;是梯度提升决策树&#xff08;Gradient Boosting Decision Trees&#xff09;的一种优化实现。它是由陈天奇在2014年开发并推出的。XGBoost是一种强大而高效的算法&#xff0…