haproxy部署安装

2023-05-16

haproxy简介

HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。

HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。

HAProxy实现了一种事件驱动, 单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。事件驱动模型因为在有更好的资源和时间管理的用户空间(User-Space) 实现所有这些任务,所以没有这些问题。此模型的弊端是,在多核系统上,这些程序通常扩展性较差。这就是为什么他们必须进行优化以 使每个CPU时间片(Cycle)做更多的工作。
包括 GitHub、Bitbucket、Stack Overflow、Reddit、Tumblr、Twitter和 Tuenti在内的知名网站,及亚马逊网络服务系统都使用了HAProxy。

负载均衡

二层负载均衡(mac)
用于虚拟mac地址方式,外部对虚拟mac地址请求,负载均衡接收后分配给后端实际的mac地址响应。

三层负载均衡(ip)
一般用于虚拟ip地址的方式,外部对虚拟ip地址请求,负载均衡接收后分配给后端实际的ip地址响应。

四层负载均衡(tcp)
在三层负载均衡的基础上,用ip+port接收请求,在转发到对应的机器上。
产品大概有:F5,lvs,nginx,haproxy…

七层负载均衡(http)
根据虚拟的url或者ip,主机名接收请求,在转发到相应的处理服务器上。
产品大概有:haproxy,nginx,apache,mysql proxy…

haproxy安装

yum安装

yum -y install haproxy

源码安装

haproxy官方帮助文档:https://cbonte.github.io/haproxy-dconv/
下载安装包的地址
haproxy源码包下载网站地址:https://src.fedoraproject.org/repo/pkgs/haproxy/

//安装编译环境
[root@localhost ~]# yum -y install make gcc pcre-devel bzip2-devel openssl-devel systemd-devel

//创建haproxy用户
[root@localhost ~]# useradd -r -M -s /sbin/nologin haproxy
[root@localhost ~]# id haproxy 
uid=993(haproxy) gid=990(haproxy) groups=990(haproxy)

//下载解压并安装
[root@localhost ~]# wget https://src.fedoraproject.org/repo/pkgs/haproxy/haproxy-2.1.3.tar.gz/sha512/4728c1177b2bba69465cbc56b1ed73a1b2d36891ba2d94d29bb49714ad98ccfac4b52947735aded211f0cd8070002f5406ddd77cabd2f8230b00438189dd7a60/haproxy-2.1.3.tar.gz
[root@localhost ~]# tar xf haproxy-2.1.3.tar.gz 
[root@localhost ~]# cd haproxy-2.1.3/
[root@localhost haproxy-2.1.3]# make -j $(grep 'processor' /proc/cpuinfo |wc -l) \
> TARGET=linux-glibc  \   #查看cpu核心数安装
> USE_OPENSSL=1  \
> USE_ZLIB=1  \
> USE_PCRE=1  \
> USE_SYSTEMD=1
[root@localhost haproxy-2.1.3]# make install PREFIX=/usr/local/haproxy
[root@localhost haproxy-2.1.3]# cp haproxy /usr/sbin/

//设置Linux内核参数
[root@localhost haproxy-2.1.3]# vim /etc/sysctl.conf
...
# For more information, see sysctl.conf(5) and sysctl.d(5).
#添加如下配置
net.ipv4.ip_nonlocal_bind = 1
net.ipv4.ip_forward = 1
[root@localhost haproxy-2.1.3]# sysctl -p
net.ipv4.ip_nonlocal_bind = 1
net.ipv4.ip_forward = 1

//配置haproxy服务
[root@localhost haproxy-2.1.3]# mkdir /etc/haproxy
[root@localhost haproxy-2.1.3]# vim /etc/haproxy/haproxy.cfg
#添加如下的内容
global
    log 127.0.0.1 local0  info
    #log loghost local0 info
    maxconn 20480
#chroot /usr/local/haproxy
    pidfile /var/run/haproxy.pid
    #maxconn 4000
    user haproxy
    group haproxy
    daemon
#---------------------------------------------------------------------
#common defaults that all the 'listen' and 'backend' sections will
#use if not designated in their block
#---------------------------------------------------------------------
defaults
    mode http
    log global
    option dontlognull
    option httpclose
    option httplog
    #option forwardfor
    option redispatch
    balance roundrobin
    timeout connect 10s
    timeout client 10s
    timeout server 10s
    timeout check 10s
    maxconn 60000
    retries 3
#--------------统计页面配置------------------
listen admin_stats
    bind 0.0.0.0:8189
    stats enable
    mode http
    log global
    stats uri /haproxy_stats
    stats realm Haproxy\ Statistics
    stats auth admin:admin
    #stats hide-version
    stats admin if TRUE
    stats refresh 30s
#---------------web设置-----------------------
listen webcluster
    bind 0.0.0.0:80
    mode http
    #option httpchk GET /index.html
    log global
    maxconn 3000
    balance roundrobin
    cookie SESSION_COOKIE insert indirect nocache
    server web01 172.16.103.130:80 check inter 2000 fall 5
    #server web01 192.168.80.102:80 cookie web01 check inter 2000 fall 5

//启动haproxy,配置haproxy.service服务单元文件
[root@localhost]# vim /usr/lib/systemd/system/haproxy.service
[Unit]
Description=HAProxy Load Balancer
After=syslog.target network.target

[Service]
ExecStartPre=/usr/local/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg   -c -q
ExecStart=/usr/local/haproxy/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg  -p /var/run/haproxy.pid
ExecReload=/bin/kill -USR2 $MAINPID

[Install]
WantedBy=multi-user.target

//刷新生效配置,设置开机自启
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart haproxy.service 
[root@localhost ~]# systemctl enable haproxy.service 
Created symlink /etc/systemd/system/multi-user.target.wants/haproxy.service → /usr/lib/systemd/system/haproxy.service.

#查看端口是否开启
[root@localhost ~]# ss -anlt
State      Recv-Q     Send-Q          Local Address:Port           Peer Address:Port     Process     
LISTEN     0          128                   0.0.0.0:80                  0.0.0.0:*                    
LISTEN     0          128                   0.0.0.0:22                  0.0.0.0:*                    
LISTEN     0          128                   0.0.0.0:8189                0.0.0.0:*                    
LISTEN     0          128                      [::]:22                     [::]:*                    

//配置日志信息
[root@localhost ~]# vim /etc/rsyslog.conf
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
local0.*        /var/log/haproxy.log   #添加此行内容
# The authpriv file has restricted acc    
[root@localhost ~]# systemctl restart rsyslog.service 
[root@localhost ~]# systemctl enable rsyslog.service 
[root@localhost ~]# systemctl restart haproxy.service 
[root@localhost ~]# systemctl enable haproxy.service

配置文件解析

haproxy 的配置文件由两部分组成:
全局设定和对代理的设定,共分为五段:global,defaults,frontend,backend,listen

global: 全局配置,主要用于定义全局参数,属于进程级的配置,通常和操作系统配置有关。
default: 配置默认参数,这些参数可以被用到frontend,backend,Listen组件。
frontend:接收请求的前端虚拟节点,frontend可以指定具体使用后端的backend。
backend : 后端服务集群的配置,真实服务器,一个backend对应一个或者多个实体服务器。
listen: fronted和backend的组合体,比如haproxy实例状态监控部分配置。Haproxy1.3之前的唯一配置方式。

时间格式
一些包含了值的参数表示时间,如超时时长。这些值一般以毫秒为单位,但也可以使用其它的时间单位后缀
us: 微秒(microseconds),即1/1000000秒;
ms: 毫秒(milliseconds),即1/1000秒;
s: 秒(seconds);
m: 分钟(minutes);
h:小时(hours);
d: 天(days);

全局global配置
global
log 127.0.0.1 local0 info //定义haproxy日志输出设置
#log loghost local0 info //定义haproxy日志级别
maxconn 20480 //定义最大连接数
#chroot /usr/local/haproxy //chroot运行路径
pidfile /var/run/haproxy.pid //haproxy进程PID文件
#maxconn 4000
user haproxy //运行haproxy用户,可用uid代替
group haproxy //运行haproxy用户组,可用gid代替
daemon //以后台形式运行haproxy

Haproxy搭建http负载均衡

搭建环境

主机名称IP****地址需要安装的应用系统版本
client192.168.141.141centos8.5
DR192.168.141.140haproxycentos8.5
RS1192.168.141.143httpdcentos8.5
RS2192.168.141.144httpdcentos8.5
#修改主机名以免设置时犯错
[root@localhost ~]# hostnamectl set-hostname DR
[root@localhost ~]# bash
[root@DR ~]# 

//DB、RS1、RS2都关闭防火墙和selinux
//RS1和RS2部署httpd
[root@RS1 ~]# yum -y install httpd
[root@RS1 ~]# echo RS1 > /var/www/html/index.html
[root@RS1 ~]# systemctl restart httpd
[root@RS1 ~]# systemctl enable httpd

[root@RS2 ~]# yum -y install httpd
[root@RS2 ~]# echo RS2 > /var/www/html/index.html
[root@RS2 ~]# systemctl restart httpd
[root@RS2 ~]# systemctl enable httpd

//修改DR 的内核参数
[root@DR ~]# vim /etc/sysctl.conf
net.ipv4.ip_nonlocal_bind = 1
net.ipv4.ip_forward = 1
[root@DR ~]# sysctl -p
net.ipv4.ip_nonlocal_bind = 1
net.ipv4.ip_forward = 1

//修改haproxy配置文件,根据自己的需求配置需要什么就配置什么
[root@DR ~]# vim /etc/haproxy/haproxy.cfg 
[root@DR ~]# cat /etc/haproxy/haproxy.cfg
global
    daemon
    maxconn 256

defaults
    mode http
    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms

frontend http-in
    bind *:80
    default_backend servers

backend servers
    server web01 192.168.141.143:80
    server web02 192.168.141.144:80
    #这里注意是RS1和RS2的IP地址

//启动haproxy服务
如果没有使用systemd管理,则执行
[root@DR ~]# haproxy -f /etc/haproxy/haproxy.cfg -c

如果配置systemd管理haproxy服务
[root@DR ~]# systemctl restart haproxy.service

//客户端验证,访问代理的DR的IP地址会轮询访问
[root@DR ~]# curl http://192.168.141.140
RS1
[root@DR ~]# curl http://192.168.141.140
RS2
[root@DR ~]# curl http://192.168.141.140
RS1
[root@DR ~]# curl http://192.168.141.140
RS2
[root@DR ~]# 

使用WEB网页访问测试
[root@DR ~]# vim /etc/haproxy/haproxy.cfg 
[root@DR ~]# cat /etc/haproxy/haproxy.cfg 
global
    log 127.0.0.1 local0  info
    #log loghost local0 info
    maxconn 20480
#chroot /usr/local/haproxy
    pidfile /var/run/haproxy.pid
    #maxconn 4000
    user haproxy
    group haproxy
    daemon
#---------------------------------------------------------------------
#common defaults that all the 'listen' and 'backend' sections will
#use if not designated in their block
#---------------------------------------------------------------------
defaults
    mode http
    log global
    option dontlognull
    option httpclose
    option httplog
    #option forwardfor
    option redispatch
    balance roundrobin
    timeout connect 10s
    timeout client 10s
    timeout server 10s
    timeout check 10s
    maxconn 60000
    retries 3
#--------------统计页面配置------------------
listen admin_stats
    bind 0.0.0.0:8189
    stats enable
    mode http
    log global
    stats uri /haproxy_stats            #访问网页后缀URL
    stats realm Haproxy\ Statistics
    stats auth admin:admin              #用户名和密码
    #stats hide-version
    stats admin if TRUE
    stats refresh 30s
#---------------web设置-----------------------
listen webcluster
    bind 0.0.0.0:80
    mode http
    #option httpchk GET /index.html
    log global
    maxconn 3000
    balance roundrobin
    cookie SESSION_COOKIE insert indirect nocache
    server web01 192.168.141.143:80 check inter 2000 fall 5
    server web02 192.168.141.144:80 check inter 2000 fall 5
#注意这里是写另外两个RS1和RS2的IP地址

[root@DR ~]# systemctl restart haproxy.service
[root@DR ~]# ss -anlt
State      Recv-Q     Send-Q          Local Address:Port           Peer Address:Port     Process     
LISTEN     0          128                   0.0.0.0:80                  0.0.0.0:*                    
LISTEN     0          128                   0.0.0.0:22                  0.0.0.0:*                    
LISTEN     0          128                   0.0.0.0:8189                0.0.0.0:*                    
LISTEN     0          128                      [::]:22                     [::]:*                    
[root@DR ~]# 

通过浏览器访问测试

网页访问成功,通过刷新可以访问RS1和RS2的测试网页
在这里插入图片描述
在这里插入图片描述
登录管理员网页
#用户名和密码admin:admin
就是在/etc/haproxy/haproxy.cfg中设置的可以更换
在这里插入图片描述
登录成功可以看见有两台虚拟机这里就是RS1和RS2
在这里插入图片描述

配置文件解析

可以浏览这个解决你的疑问

haproxy 的配置文件由两部分组成:全局设定和对代理的设定,共分为五段:global,defaults,frontend,backend,listen
global: 全局配置,主要用于定义全局参数,属于进程级的配置,通常和操作系统配置有关。
default: 配置默认参数,这些参数可以被用到frontend,backend,Listen组件。
frontend:接收请求的前端虚拟节点,frontend可以指定具体使用后端的backend。
backend : 后端服务集群的配置,真实服务器,一个backend对应一个或者多个实体服务器。
listen: fronted和backend的组合体,比如haproxy实例状态监控部分配置。Haproxy1.3之前的唯一配置方式。

//时间格式
一些包含了值的参数表示时间,如超时时长。这些值一般以毫秒为单位,但也可以使用其它的时间单位后缀
us: 微秒(microseconds),即1/1000000秒;
ms: 毫秒(milliseconds),即1/1000秒;
s:(seconds);
m: 分钟(minutes);
h:小时(hours);
d:(days)//全局global配置
global
    log 127.0.0.1 local0  info    //定义haproxy日志输出设置
    #log loghost local0 info    //定义haproxy日志级别
    maxconn 20480         //定义最大连接数
#chroot /usr/local/haproxy    //chroot运行路径
    pidfile /var/run/haproxy.pid  //haproxy进程PID文件
    #maxconn 4000       
    user haproxy        //运行haproxy用户,可用uid代替
    group haproxy      //运行haproxy用户组,可用gid代替
daemon          //以后台形式运行haproxy

级别	代码	描述
energ	0	系统不可用
alert	1	必须马上采取行动的事件
crit	2	关键的事件
err	3	错误事件
warning	4	警告事件
notice	5	普通但重要的事件
info	6	有用的信息
debug	7	调试信息

//defaults配置
用于设置配置默认参数,这些参数可以被用到frontend,backend,listen组件。
在此部分中设置的参数值,默认会自动引用到下面的frontend、backend、listen部分中。如果某些参数属于公用的配置,只需要在defaults部分添加一次即可。而如果frontend、backend、listen部分也配置了与defaults部分一样的参数,defaults部分参数对应的值自动被覆盖。
defaults
    mode http   //所处理的类别(7层代理http,4层代理tcp)
    log global   //引入global定义的日志格式
    option dontlognull   //不记录健康检查日志信息
    option httpclose  //每次请求完毕后主动关闭http通道,haproxy不支持keep-alive模式
    option httplog  //日志类别为http日志格式
    #option forwardfor  //如果后端服务器需要获取客户端的真是ip,需要配置的参数,可以从http header中获取客户端的ip
    option redispatch
    balance roundrobin  //设置默认负载均衡方式,轮询方式
    timeout connect 10s  //默认连接超时时间
    timeout client 10s   //默认客户端超时时间
    timeout server 10s  //默认服务器超时时间
    timeout check 10s  //设置超时检查超时时间 
    maxconn 60000  //最大连接数
    retries 3   //3次连接失败就认为服务器不可用,也可以通过后面设置

mode http:设置haproxy的运行模式,有三种{http|tcp|health}。注意:如果haproxy中还要使用4层的应用(mode tcp)的话,不建议在此定义haproxy的运行模式。

tcp模式:在此模式下,客户端和服务器端之前将建立一个全双工的连接,不会对七层报文做任何检查,默认为tcp模式,经常用于SSLSSHSMTP等应用。
http模式:在此模式下,客户端请求在转发至后端服务器之前将会被深度分板,所有不与RFC格式兼容的请求都会被拒绝。
health:已基本不用了。

//frontend配置
frontend是在haproxy 1.3版本以后才引入的一个组件,同时引入的还有backend组件。通过引入这些组件,在很大程度上简化了haproxy配置文件的复杂性。forntend可以根据ACL规则直接指定要使用的后端backend。
如:
frontend http_80_in 
bind 0.0.0.0:80   //设置侦听端口,即haproxy提供的web服务端口,和lvs的vip类似
mode http	
log  global   
 	option httpclose  
    option httplog  
option forwardfor
default_backend  wwwpool  //设置请求默认转发的后端服务池

//backend配置
用来定义后端服务集群的配置,真实服务器,一个Backend对应一个或者多个实体服务器
backend  wwwpool    //定义wwwpool服务器组
mode  http
option  redispath
option  abortonclose
balancer  source   //负载均衡的方式,源哈希算法
cookie  SERVERID  //允许插入serverid到cookie中,serverid后面可以定义
option  httpdchk  GET  /test.html    //心跳测试
server  web1  10.1.1.2:80  cookie  2 weight  3  check  inter 2000  rise 2 fall 3 maconn 8


//listen配置
常常用于状态页面监控,以及后端server检查,是Fronted和backend的组合体。
listen admin_stats     //frontend和backend的组合体,监控组的名称,按需自定义名称
    bind 0.0.0.0:8189      //侦听端口
    stats enable      //开启监控
    mode http
    log global
    stats uri /haproxy_stats    //监控页面的url访问路径
    stats realm Haproxy\ Statistics  //监控页面的提示信息
    stats auth admin:admin  //监控页面的用户和密码
    #stats hide-version   //隐藏统计页面上的haproxy版本信息
    stats admin if TRUE  //手工启用/禁用,后端服务器haproxy
    stats refresh 30s   //每个30秒自动刷新监控页
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

haproxy部署安装 的相关文章

  • GaussDB_100_1.0.1部署安装

    目录 安装前准备 安装依赖 创建安装用户 安装数据库 install py脚本修改 执行install py进行安装 通过zsql连接数据库 环境变量参数说明 install py安装命令参数说明 zengine ini配置参数 安装前准备
  • haproxy负载均衡

    os xff1a root 64 node1 cat etc system release CentOS release 6 4 Final 参考文章 xff1a http www serverlab ca tutorials linux
  • haproxy部署安装

    haproxy简介 HAProxy是一个使用C语言编写的自由及开放源代码软件 xff0c 其提供高可用性 负载均衡 xff0c 以及基于TCP和HTTP的应用程序代理 HAProxy特别适用于那些负载特大的web站点 xff0c 这些站点通
  • centos7.5部署高可用k8s(一) ---- 部署LB负载均衡haproxy+keepalived

    在centos7 5系统部署一个k8s高可用集群 k8s版本采用v1 15 2 docker版本18 09 根据官方的文档 xff0c 部署集群前首先要部署负载均衡器 xff0c 这里简要记录下LB负载均衡器的部署过程 环境说明 节点IP备
  • Ubuntu部署安装Jenkins

    1 概述 安装jenkins需要有java的环境 xff0c 因此需要先安装jdk 2 安装OpenJDK 11 2 1 安装JDK 更新apt sudo apt get update 安装 sudo apt get install ope
  • 14.haproxy+keepalived负载均衡和高可用

    haproxy 43 keepalived负载均衡和高可用 概述 多个rabbitmq服务形成集群 xff0c 由haproxy来做负载均衡 xff0c haproxy会暴露出来一个端口 xff0c 客户端可以通过haproxy所在的服务器
  • HAProxy--理论--07--HAProxy监控页面

    HAProxy 理论 07 HAProxy监控页面 1 页面 2 说明 2 1 Queue cur 当前队列的请求数量 Max 当前队列最大的请求数量 Limit 队列的限制数量 2 2 Session rate Cur 每秒会话连接数量
  • haproxy应用

    不用手动编译安装 haproxy 1 7 3 tar gz yum install y rpm build rpmbuild help rpmbuild tb haproxy 1 7 3 tar gz cd root rpmbuild RP
  • 如何在 CentOS/RHEL 7/6 上安装和配置 HAProxy

    HAProxy is a very fast and reliable solution for high availability load balancing It supports TCP and HTTP based applica
  • HAProxy--理论--03--配置文件中的关键字参考

    HAProxy 理论 03 配置文件中的关键字参考 1 balance balance balance url param check post 可用于 defaults listen 和 backend 定义负载均衡算法 用于在负载均衡场
  • Haproxy+keepalived(高可用集群部署)

    Haproxy keepalived Haproxy定义 Haproxy应用 Haproxy支持的调度算法 Haproxy配置文件详解 haproxy keepalived优点 项目环境 主服务器配置 1 haproxy配置 2 keepa
  • WebSocket 在 django 通用中间件中生成错误

    我正在使用 Django gevent socketio Haproxy 所有套接字功能都工作正常 但在后台它会生成如下所示的错误 似乎 Haproxy 的套接字标头具有非常有限的属性 其中不包含 status code 因此它失败并发送错
  • 什么是直通负载均衡器?它与代理负载均衡器有何不同?

    Google 云网络负载均衡器是直通负载均衡器 而不是代理负载均衡器 https cloud google com compute docs load balancing network https cloud google com com
  • 如何在haproxy中启用keep-alive?

    这是我的 haproxy conf haproxy 1 7 9 global log 127 0 0 1 local0 defaults retries 3 option redispatch timeout client 30s time
  • HAProxy 无法启动,无法绑定 UNIX 套接字 [/run/haproxy/admin.sock]

    我尝试使用 空 配置文件启动 haproxy 版本 1 5 8 2014 10 31 我得到 user server sudo service haproxy start Starting haproxy haproxy ALERT 126
  • 如何使用 HAProxy 发送响应而不将请求传递到 Web 服务器

    服务器正在接收数千条OPTIONS请求由于CORS 跨源资源共享 现在 每个选项请求都被发送到其中一台服务器 这有点浪费 因为知道 HAProxy 可以添加CORS标头本身无需网络服务器的帮助 frontend https in use b
  • 如何访问 docker-compose 在 haproxy 配置中创建的副本

    我有一个简单的 haproxy cfg 如下所示 frontend http bind 8080 mode http use backend all backend all mode http server s1 ws 8080 现在我有一
  • 如何使 HA 代理保持活动状态

    在我的环境中 我有 2 个 Web 服务器 Apache 的 haproxy 负载平衡 这是我的 HA 代理配置 global log 127 0 0 1 local2 chroot var lib haproxy pidfile var
  • haproxy:获取主机名

    我正在尝试获取请求者主机 IP 因为它涉及 haproxy 节点 我的 haproxy 配置如下 frontend www http bind 9000 http request redirect location https fi 914
  • 如何使用 haproxy 负载均衡器 Kafka Bootstrap?

    我有一个 kafka 集群 由 3 台在 AWS 上运行的机器组成 卡夫卡1到卡夫卡3 我正在使用新型卡夫卡消费者 gt 0 8 我知道kafka客户端连接到其中一台kafka服务器 获取服务器元数据 然后直接连接到代理 我想确保在代理发生

随机推荐

  • Win11安装Android子系统

    目录 一 获取安卓子系统安装包 二 安装Hyper v 三 运行Android安装包 四 安装组策略编辑器 五 配置Android环境 六 安装安卓apk格式app 一 获取安卓子系统安装包 百度云盘获取包 链接 xff1a https p
  • python-切割字符串成为列表(split函数)

    split函数切割字符串成为列表 在python的input时 xff0c 我们接收都是string类型 information span class token operator 61 span span class token buil
  • MyBatis实现分页查询

    目录 一 基于注解的简单分页查询 1 定义对象 2 Mapper接口 3 Controller类 4 功能实现 二 基于注解的较复杂分页查询 1 定义shop实体类和page分页类 2 Mapper接口 3 Controller类 4 功能
  • python 读取word表格中的表格

    解决方案 xff1a 在网上没有找到可行的嵌套表格内容读取方法 查看python docx包源代码找到以下两种解决方案 xff1a 方案一 xff1a 按行列读到单元格后再取tables xff0c 此处table cell tables值
  • sublime配置C/C++并调试

    文章目录 前言1 工具准备1 1 sublime的安装1 2 MinGw的安装和配置 2 开始配置2 1 MinGw路径放进环境变量2 2 sublime的配置 3 开始使用3 1 运行代码3 2 调试代码 前言 本文主要讲关于sublim
  • 洛谷P1025 [NOIP2001 提高组] 数的划分(DP)

    题目描述 将整数 n n n 分成 k k k 份 xff0c 且每份不能为空 xff0c 任意两个方案不相同 xff08 不考虑顺序 xff09 例如 xff1a
  • 【Rust深入浅出-5】拓展数据类型

    Rust深入浅出 5 拓展数据类型 第一章Hello World 第二章 变量和基本数据类型 第三章 运算符 第四章 类型转换 第五章 拓展数据类型 文章目录 Rust深入浅出 5 拓展数据类型前言slice切片tuple元组索引match
  • sort 函数排序之cmp浅析

    1 一般来说 xff0c sort可对整型和浮点型数据进行排序 xff0c 排序从小到大 xff0c 如果需要变为从大到小 xff0c 那么我们可以定义一个cmp函数 xff0c 定义如下 xff1a bool cmp int x int
  • 魔导师晨拥

    链接 xff1a 登录 专业IT笔试面试备考平台 牛客网 来源 xff1a 牛客网 魔导师晨拥是 炉石传说 中的一张传说卡牌 魔导师晨拥的英雄技能为初始造成 222 点伤害 xff0c 如果恰好消灭某个随从 xff0c 则伤害永久增加 11
  • Royal TSX常见问题:解决远程桌面(RDP)连接错误

    Royal TSX mac破解版是一款帮助用户管理桌面的Mac桌面管理软件 xff0c Royal TSX for mac为你提供方便安全的访问远程系统 Royal TSX专为服务器管理员 系统工程师 开发人员和IT信息工作者开发设计 xf
  • 解决jupyter notebook :No module named ‘tensorflow‘ 及python.exe无法找到入口问题及500 : Internal Server Error

    目录 jupyter notebook ModuleNotFoundError No module named 39 tensorflow 39 问题 可能性1 xff1a tensorflow版本与python版本不匹配 可能性2 xff
  • Ceph安装步骤1——基础Ceph集群安装

    一 基础环境 本文所搭建环境为Centos 7 内核4 17版本 xff0c 安装Ceph版本为luminous 一共配置三台机器 xff0c 每台机器的IP地址和主机名称分别为 xff1a 192 168 1 131 ceph admin
  • 远程桌面--某些设置由你的组织管理

    解决某些设置由你的组织管理 在cmd的运行里输入 gpedit msc 选择 计算机配置 gt 选择 管理模块 gt 选择 Windows组件 gt 选择 远程桌面服务 gt 选择 远程 桌面会话主机 gt 选择 连接 gt 右击 允许用户
  • 数据结构--第三章--栈和队列--知识点回顾

    第三章 栈和队列 一 基本知识点 1 栈 队列和线性表的异同 2 顺序栈的基本运算算法设计 3 链栈的基本运算算法设计 4 顺序队的基本运算算法设计 5 环形队列和非环形队列的特点 6 链队的基本运算算法设计 7 利用栈 队列求解复杂的应用
  • 实验四 SQL连接查询

    一 实验目的 xff1a 掌握SQL连接查询语句 二 实验内容和主要步骤 xff1a 查询每个学生及其选修成绩的情况 select sno cno Grade from sc 分别用左外连接和右外连接实现查询所有学生信息及其选修成绩的情况
  • wsl+opencv——清除旧版并安装新版,实测有效

    写在前面 我用的是cmake方式编译安装的opencv xff0c 但一直弄不好contrib这个东西 xff0c 索性先不用老版本的opencv我把源文件都删掉了 xff0c 没法用网上的一些方法make uninstall 卸载清除旧版
  • JAVA编程——父子类

    编程需求 需求如下 xff1a 编写父类People xff0c 子类Student继承自People类 父类People具有姓名 xff0c 性别 xff0c 年龄等性质 xff0c 还具有吃和说的行为 子类Student继承父类Peop
  • 部署zabbix6.2

    zabbix6 2安装步骤 配置阿里云源 注意本机的操作系统的centos8 span class token punctuation span root 64 localhost span class token operator spa
  • zabbix功能介绍

    1 zabbix介绍 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案 zabbix能监视各种网络参数 xff0c 保证服务器系统的安全运营 xff1b 并提供灵活的通知机制以让系统管理员快速定位
  • haproxy部署安装

    haproxy简介 HAProxy是一个使用C语言编写的自由及开放源代码软件 xff0c 其提供高可用性 负载均衡 xff0c 以及基于TCP和HTTP的应用程序代理 HAProxy特别适用于那些负载特大的web站点 xff0c 这些站点通