主頁 >  其他 > Web服務器群集——HAProxy 搭建Web群集

Web服務器群集——HAProxy 搭建Web群集

2021-04-06 10:36:25 其他

HAProxy搭建Web群集

  • HAProxy介紹
  • HAProxy功能
    • 三大軟體負載均衡器對比(LVS Nginx Haproxy)
    • 三大軟體負載均衡器適用業務場景
  • HAProxy安裝及基礎配置
    • 默認yum源
    • 第三方安裝包
    • 編譯安裝HAProxy
      • 解決HAProxy的依賴環境
        • 解決lua環境
        • 解決各種編譯依賴
      • 編譯安裝HAProxy
      • 驗證HAProxy版本
      • HAProxy啟動腳本
      • 組態檔
      • 啟動HAProxy
    • 組態檔詳解
      • global配置引數
      • Proxies配置
        • Proxies配置-defaults
        • Proxies配置-frontend
        • Proxies配置-backend
        • frontend+backend配置實體
        • Proxies配置-listen替代frontend+backend
  • HAProxy調度演算法
    • 靜態演算法
      • static-rr
    • 動態演算法
      • roundrobin
      • leastconn
    • 其他演算法
      • source
        • map-base取模法
        • 一致性hash
  • HAProxy搭建集群

HAProxy介紹

HAProxy是法國開發者威利塔羅(Willy Tarreau)在2000年使用C語言開發的一個開源軟體,是一款具備高并發(一萬以上)、高性能的TCP和HTTP負載均衡器,支持基于cookie的持久性,自動故障切換,支持正則運算式及web狀態統計

官網網站

HAProxy分為企業版,社區版,

HAProxy功能

HAProxy功能:

  • TCP和HTTP反向代理
  • 可作為SSL/TSL服務器
  • 可以針對HTTP請求添加cookie,進行路由后端服務器
  • 可平衡負載至后端服務器,并支持持久連接
  • 支持所有主服務器故障切換至備用服務器
  • 支持專用埠實作監控服務
  • 支持不影響現有連接情況下停止接受新連接請求
  • 可以在雙向添加,修改或洗掉HTTP報文首部
  • 回應報文壓縮
  • 支持基于pattern實作連接請求的訪問控制
  • 通過特定的URI為授權用戶提供詳細的狀態資訊

不具備的功能:

  • 正向代理 squid,nginx
  • 快取代理 varnish
  • web服務 nginx.tengine.apache. php.tomcat
  • UDP 目前不支持UDP協議,2.1版本會支持UDP協議代理
  • 單機性能–LVS

三大軟體負載均衡器對比(LVS Nginx Haproxy)

LVS:

  1. 抗負載能力強,抗負載能力強、性能高,能達到F5硬體的60%;對記憶體和cpu資源消耗比較低
  2. 作業在網路4層,通過vrrp協議轉發(僅作分發之用),具體的流量由linux內核處理,因此沒有流量的產生
  3. 穩定性、可靠性好,自身有完美的熱備方案;(如:LVS+Keepalived)
  4. 應用范圍比較廣,可以對所有應用做負載均衡
  5. 不支持正則處理,不能做動靜分離
  6. 支持負載均衡演算法:rr(輪循)、wrr(加權輪循)、lc(最小連接)、wlc(加權最小連接)
  7. 配置較復雜,對網路依賴比較大,穩定性很高

Ngnix:

  1. 作業在網路的7層之上,可以針對http應用做一些分流的策略,比如針對域名、目錄結構
  2. Nginx對網路的依賴比較小,理論上能ping通就就能進行負載功能
  3. Nginx安裝和配置比較簡單,測驗起來比較方便
  4. 也可以承擔高的負載壓力且穩定,一般能支撐超過1萬次的并發
  5. 對后端服務器的健康檢查,只支持通過埠來檢測,不支持通過url來檢測
  6. Nginx對請求的異步處理可以幫助節點服務器減輕負載
  7. Nginx僅能支持http、https和E-mail協議,這樣就使得其在適用范圍上較窄
  8. 不支持Session的直接保持,但能通過ip_hash來解決,對Big request header的支持不是很好
  9. 支持負載均衡演算法:Round-robin(輪循)、Weight-round-robin(加權輪循)、Ip-hash(Ip哈希)
  10. Nginx還能做Web快取服務器即:Cache功能

HAProxy:

  1. 支持兩種代理模式:TCP(四層)和HTTP(七層),支持虛擬主機
  2. 能夠補充Nginx的一些缺點比如Session的保持,Cookie的引導等作業
  3. 支持url檢測,對后端服務器出問題的檢測會有很好的幫助
  4. 更多的負載均衡策略比如:動態加權輪循(Dynamic Round Robin),加權源地址哈希(Weighted Source Hash),加權URL哈希和加權引數哈希(Weighted Parameter Hash)已經實作
  5. 單純從效率上來講HAProxy會比Nginx有更出色的負載均衡速度
  6. HAProxy可以對Mysql進行負載均衡,對后端的DB節點進行檢測和負載均衡
  7. 支持負載均衡演算法:Round-robin(輪循)、Weight-round-robin(帶權輪循)、source(原地址保持)、RI(請求URL)、rdp-cookie(根據cookie)
  8. 不能做Web快取服務器即Cache

三大軟體負載均衡器適用業務場景

  1. 網站建設初期,可以選用Nigix/HAproxy作為反向代理負載均衡(或者流量不大都可以不選用負載均衡),因為其配置簡單,性能也能滿足一般的業務場景,如果考慮到負載均衡器是有單點問題,可以采用Nginx+Keepalived/HAproxy+Keepalived避免負載均衡器自身的單點問題,
  2. 網站并發達到一定程度之后,為了提高穩定性和轉發效率,可以使用LVS、畢竟LVS比Nginx/HAproxy要更穩定,轉發效率也更高,不過維護LVS對運維人員的要求也會更高,投入成本也更大,

注:Nginx與Haproxy比較:Nginx支持七層、用戶量最大,穩定性高,比較可靠,Haproxy支持四層和七層,支持更多的負載均衡演算法,支持session保存等,具體選型看使用場景,目前來說Haproxy由于彌補了一些Nginx的缺點用戶量也在不斷提升,

HAProxy安裝及基礎配置

默認yum源

默認的base倉庫中包含haproxy的安裝包檔案,但是版本比較舊,是1.5.18的版本,距離當前版本已經有較長時間沒有更新,由于版本比較舊所以有很多功能不支持,如果對功能和性能沒有要求可以使用此版本,否則推薦使用新版本,

yum install -y haproxy

驗證haprovy版本
haproxy -v

HA-Proxy version 1.5.18 2016/05/10
Copyright 2000-2016 Willy Tarreau <willy@haproxy.org>

第三方安裝包

去國外網站下載:https://pkgs.org/search/?q=haproxy
選擇centos7

#基于互聯網在線安裝
# cheese-release-7-1.noarch.rpm 這個包也必須下載 因為是依賴
rpm -ivh cheese-release-7-1.noarch.rpm

會在/etc/yum.repos.d/ 下產生一個新的cheese.repo

yum install -y haproxy-1.8.14-1.el7.x86_64.rpm 

#驗證haproxy版本
haproxy -v
HA-Proxy version 1.8.26 2020/08/03
Copyright 2000-2020 Willy Tarreau <willy@haproxy.org>


cat /lib/systemd/system/haproxy.service 

[Unit]
Description=HAProxy Load Balancer
After=network.target

[Service]
Environment="CONFIG=/etc/haproxy/haproxy.cfg" "PIDFILE=/run/haproxy.pid"
EnvironmentFile=-/etc/sysconfig/haproxy
ExecStartPre=/usr/sbin/haproxy -f $CONFIG -c -q
ExecStart=/usr/sbin/haproxy -Ws -f $CONFIG -p $PIDFILE $OPTIONS
ExecReload=/usr/sbin/haproxy -f $CONFIG -c -q
ExecReload=/bin/kill -USR2 $MAINPID
KillMode=mixed
Type=notify

[Install]
WantedBy=multi-user.target

編譯安裝HAProxy

原始碼包下載地址:https://src.fedoraproject.org/repo/pkgs/haproxy/
我下載的是 haproxy-2.3.5.tar.gz

解決HAProxy的依賴環境

解決lua環境

HAProxy支持基于lua實作功能擴展,lua是一種小巧的腳本語言,于1993年由巴西里約熱內盧天主教大學(Pontifical Catholic University of Rio de Janeiro)里的一個研究小組開發,其設計目的是為了嵌入應用程式中,從而為應用程式提供靈活的擴展和定制功能,

Lua應用場景
游戲開發
獨立應用腳本
web應用腳本
擴展和資料庫插件,如MySQL Proxy
安全系統,如入侵檢測系統

由于centos自帶的lua版本比較低并不符合HAProxy要求的lua最低版本(5.3)的要求,因此需要編譯安裝較新版本的lua環境,然后才能編譯安裝HAProxy,

curl -R -O https://www.lua.org/ftp/lua-5.4.3.tar.gz
tar xf lua-5.4.3.tar.gz -C /usr/local
cd /usr/local/lua-5.4.3
yum install -y readline-devel
make linux

查看安裝版本
./src/lua
lua-5.4.3  Copyright (C) 1994-2020 Lua.org, PUC-Rio
> print('hello world')
hello world

解決各種編譯依賴

yum install -y gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel net-tools iotop bc zlib-devel ntpdate lsof tcpdump

編譯安裝HAProxy

進入haproxy原始碼包目錄

make -j `lscpu |awk 'NR==4{print $2}'` ARCH=x86_64 TARGET=linux-glibc USE_PCRE=1 USE_OPENSSL=1 USE
_ZLIB=1 USE_SYSTEMD=1 USE_CPU_AFFINITY=1 USE_LUA=1 LUA_INC=/usr/local/lua-5.4.3/src/ LUA_LIB=/usr/local/lua-5.4.3/src/ PREFIX=/usr/local/haproxy

echo $?   檢查是否成功編譯

make install PREFIX=/usr/local/haproxy

驗證HAProxy版本

cd /usr/local/haproxy/sbin

./haproxy -v

HA-Proxy version 2.3.5-5902ad9 2021/02/06 - https://haproxy.org/
Status: stable branch - will stop receiving fixes around Q1 2022.
Known bugs: http://www.haproxy.org/bugs/bugs-2.3.5.html
Running on: Linux 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64


HAProxy啟動腳本

vim /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/lib/haproxy/haproxy.pid
ExecReload=/bin/kill -USR2 $MAINPID

[Install]
WantedBy=multi-user.target

組態檔

建立組態檔

創建組態檔目錄
mkdir -p /etc/haproxy

將樣本組態檔拷貝到/etc/haproxy里
cp examples/haproxy.cfg /etc/haproxy/haproxy.cfg

如果沒有haproxy.cfg 可以自己寫一個
vim /etc/haproxy/haproxy.cfg

global
  user     haproxy	# 用戶
  group    haproxy
  daemon
  nbproc   2
  #cpu-map  1  0
  #cpu-map  2  1
  maxconn  100000
  chroot   /usr/local/haproxy	# 鎖定家目錄
  pidfile  /var/lib/haproxy/haproxy.pid	 #pid檔案位置
  log      127.0.0.1 local0 info

defaults
  log      global
  option   httplog
  option   http-keep-alive
  option   redispatch
  option   forwardfor
  maxconn  100000
  mode     http
  retries  3
  timeout  check 5s
  timeout  connect 5s
  timeout  client 60s
  timeout  server 60s
  timeout  http-request 10s
  timeout  queue 1m

listen stats
  bind     0.0.0.0:1234		# 埠1234
  log      global
  mode     http
  stats    enable
  stats    hide-version
  stats    realm Haproxy\ Statistics
  stats    uri     /stats	# 查看狀態網頁后綴
  stats    refresh 5s
  stats    auth    admin:123	# 授權訪問 用戶名:密碼

創建haproxy用戶和組

groupadd haproxy
useradd -M -s /sbin/nologin haproxy -g haproxy

給用戶haproxy授權
mkdir -p /var/lib/haproxy
chown -R haproxy:haproxy /usr/local/haproxy/
chown -R haproxy:haproxy /var/lib/haproxy/

啟動HAProxy

systemctl start haproxy
systemctl enable haproxy
systemctl status haproxy

瀏覽器輸入自己ip:埠/stats
在這里插入圖片描述
在這里插入圖片描述
至此 說明HAProxy安裝成功

組態檔詳解

HAPrpxy的組態檔haproxy.cfg由兩大部分組成,分別是global和proxies部分,

  • global:全域配置段

    行程及安全配置相關的引數
    性能調整相關引數
    Debug引數

  • proxies:代理配置段

    defaults:為frontend,backend,listen提供默認配置
    frontend:前端,相當于nginx中的server { }
    backend:后端,相當于nginx中的upstrea { }
    listen:同時擁有前端和后端配置

global配置引數

chroot 鎖定運行目錄
deamon 以守護行程運行
stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin # socket檔案
user,group,uid,gid 運行haproxy的用戶身份
nbproc 開啟的haproxy行程數,與CPU保持一致
nbthread 指定每個haproxy行程開啟的執行緒數,默認為每個行程一個執行緒
cpu-map 1 0 系結haproxy 行程至指定CPU
cpu-map 2 1
如果nbproc 4
cpu-map 1 0
cpu-map 2 1
cpu-map 3 2
cpu-map 4 3
maxconn 每個haproxy行程的最大并發連接數
maxsslconn每個haproxy行程ssl最大連接數,用于haproxy配置了證書的場景下
maxconnrate 每個行程每秒創建的最大連接數量
spread-checks 后端server狀態check隨機提前或延遲百分比時間,建議2-5(28%-50%)之間
pidfile 指定pid檔案路徑
log 127.0.0.1 local3 info #定義全域的syslog服務器;最多可以定義兩個

Proxies配置

Proxies配置-defaults

option redispatch 當server Id對應的服務器掛掉后,強制定向到其他健康的服務器,重新派發(這個選項常用
option abortonclose 當服務器負載很高的時候,自動結束掉當前佇列處理比較久的鏈接
option http-keep-alive 開啟與客戶端的會話保持
option forwardfor 透傳客戶端真實IP至后端web服務器
mode http 設定默認作業型別
timeout http-keep-alive 120s session會話保持超時時間,范圍內會轉發到相同的后端服務器
timeout connect 120s 客戶端請求從haproxy到后端server的最長連接等待時間(TCP之前)
timeout server 600s 客戶端請求從haproxy到后端服務端的請求處理超時時長(TCP之后)
timeout client 600s 設定haproxy與客戶端的最長非活動時間
timeout check 5s 對后端服務器的默認檢測超時時間

Proxies配置-frontend

bind:指定HAProxy的監聽地址,可以是IPV4或IPV6,可以同時監聽多個IP或埠,可同時用于listen欄位中
bind[<address>] :<port_range> [,...][param*]

listen http_proxy	#監聽http的多個IP的多個埠和sock檔案
	bind :80, :443, :8881-8810
	bind 10.0.0.1:10080,10.0.0.1:10443
	bind /var/run/ss1-frontend.sock user root mode 600 accept-proxy

listen http_https_proxy whttps監聽
	bind :80
	bind :443 ssl crt /etc/haproxy/site.pem
	
listen http_https_proxy_explicit #監聽ipv6.ipv4和unix sock檔案
	bind ipv6e:80
	bind ipv4epublic_ssl:443 ssl crt /etc/haproxy/site.pem
	bind unix@ssl-frontend.sock user root mode 600 accept-proxy

listen external_bind_app1 #監聽file descriptor
	bind "fdGs{FD_APP1y"
	
示例:
frontend wEB_PORT
	bind :80,:8088
	bind 192.168.188.102:10080,:8801-8810,192.168.188.101:9001-9010
	mode http/tcp	# 指定負載協議型別
	use_backend backend_name # 呼叫的后端服務器組名稱

Proxies配置-backend

定義一組后端服務器,backend服務器將被frontend進行呼叫,

mode http/tcp	#指定負載協議型別
option	#配置選項
server	#定義后端real server
  • 注意:option后面加httpchk,smtpchk, mysql-check, pgsql-check,ssl-hello-chk方法,可用于實作更多應用層檢測功能,
check	# 對指定real進行健康狀態檢查,默認不開啟
addr IP	# 可指定的健康狀態監測IP
port num	# 指定的健康狀態監測埠
inter num	 # 健康狀態檢查間隔時間,默認2008 ms
fall num	# 后端服務器失效檢查次數,默認為3
rise num	# 后端服務器從下線恢復檢查次數,默認為2
weight 	# 默認為1,最大值為256,0表示不參與負載均衡
backup 	# 將后端服務器標記為備份狀態
disabled 	# 將后端服務器標記為不可用狀態
redirect prefix http://www.maomao.com/	# 將請求臨時重定向至其它URL,只適用于http模式
maxconn <maxconn>:當前后端server的最大并發連接數
backlog <backlog>:當server的連接數達到上限后的后援佇列長度

示例:
frontend WEB_PORT
  bind :80
  use_backend linux88-host

backend linux88-host
  server web1 192.168.188.101:80 check  inter 2s fall 3 rise 5
  server web2 192.168.188.188:8080 check  inter 2s fall 3 rise 5

在這里插入圖片描述
重繪頁面會變

frontend WEB_PORT
  bind :80
  use_backend linux88-host

backend linux88-host
  server web1 192.168.188.101:80 check  inter 2s fall 3 rise 5
  server web2 192.168.188.188:8080 check addr 192.168.188.188 port 8080 inter 2s fall 3 rise 5

frontend+backend配置實體

#官網業務訪問入口==============================
frontend WEB_PORT_80
	bind 192.168.188.10:80
	mode http
	use_backend web_prot_http_nodes
	
backend web_prot_http_nodes
	mode http
	option forwardfor
	server 192.168.188.100 192.168.188.100:8080 check inter 3000 fall 3 rise 5
	server 192.168.188.101 192.168.188.101:8080 check inter 3000 fall 3 rise 5

Proxies配置-listen替代frontend+backend

listen的方式是最常用的

使用listen替換frontend和backend的配置方式:
#官網業務訪問入口=====================================
listen WEB_PORT_80
	bind 192.168.188.10:80
	mode http
	option forwardfor
	server webi 192.168.188.100:80  check inter 3000 fall 3 rise 5
	server web2 192.168.188.101:80  check inter 3000 fall 3 rise 5

在這里插入圖片描述

HAProxy調度演算法

HAProxy通過固定引數balance指明對后端服務器的調度演算法,該引數可以配置在listenbackend選項中,
HAProxy的調度演算法分為靜態動態調度演算法,但是有些演算法可以根據引數在靜態和動態演算法中相互轉換,

靜態演算法

  • 靜態演算法:按照事先定義好的規則輪詢公平調度,不關心后端服務器的當前負載、鏈接數和回應速度等,且無法實時修改權重,只能靠重啟HAProxy生效,

服務器動態權重調整:

yum install socat  
Socat 是 Linux下的一個多功能的網路工具,名字來由是Socket CAT,
Socat 的主要特點就是在兩個資料流之間建立通道,且支持眾多協議和鏈接方式,
如IP、TCP、UDP、IPv6、Socket檔案等,

echo "show info" | socat stdio /var/lib/haproxy/haproxy.sock

echo "get weight web_host/web1" | socat stdio /var/lib/haproxy/haproxy. sock1 (initial 1)

echo "set weight web_host/web1 2"  socat stdio /var/lib/haproxy/haproxy.sockBackend is using a static LB algorithm and only accepts weights ' e%' and '100%"

static-rr

static-rr:基于權重的輪詢調度,不支持權重的運行時調整及后端服務器慢啟動,其后端主機數量沒有限制

listen web_host
	bind 192.168.188.10:80,:8801-8810,192.168.188.10:9001-9010
	mode http
	log global
	balance static-rr
	server web1 192.168,188.100:80 weight 1 check inter 3000 fall 2 rise 5
	server web2 192.168.188.101:80 weight 2 check inter 3000 fall 2 rise 5

動態演算法

動態演算法:基于后端服務器狀態進行調度適當調整,比如優先調度至當前負載較低的服務器,且權重可以在haproxy運行時動態調整 無需重啟

roundrobin

roundrobin:基于權重的輪詢動態調度演算法,支持權重的運行時調整,不完全等于lvs中的rr輪訓模式,HAProxy中的roundrobin支持慢啟動(新加的服務器會逐漸增加轉發數),其每個后端backend中最多支持4095個realserver,roundrobin為默認調度演算法,且支持對real server權重動態調整,

listen web_host
	bind 192.168.188.10:80,:8801-8810,192.168.188.10:9001-9010
	mode http
	log global
	balance roundrobin
	server web1 192.168.188.100:80 weight 1 check inter 3000 fall 2 rise 5
	server web2 192.168.188.101:80 weight 2 check inter 3000 fall 2 rise 5

leastconn

leastconn 加權的最少連接的動態,支持權重的運行時調整和慢啟動,即當前后端服務器連接最少的優先調度(新客戶端連接),比較適合長連接的場景使用,比如MySQL等場景,

listen web_host
	bind 192.168.188.10:80,:8801-8810,192.168.188.10:9001-9010
	mode http
	log global
	balance leastconn
	server web1 192.168.188.100:80 weight 1 check inter 3000 fall 2 rise 5
	server web2 192.168.188.101:80 weight 1 check inter 3000 fall 2 rise 5

其他演算法

其他部分演算法即可作為靜態演算法,又可以通過選項成為動態演算法

source

源地址hash,基于用戶源地址hash并將請求轉發到后端服務器,默認為靜態即取模方式,但是可以通過hash-type支持的選項更改,后續同一個源地址請求將被轉發至一個后端web服務器,比較適用于session保持/快取業務等場景

源地址有兩種轉發客戶端請求到后端服務器的服務器選取計算方式,分別是取模法和一致性hash

map-base取模法

map-based:取模法,基于服務器總權重的hash陣列取模,該hash是靜態的即不支持在線調整權重,不支持慢啟動,其對后端服務器調度均衡,缺點是當服務器的總權重發生變化時,即有服務器上線或下線,都會因權重發生變化而導致調度結果整體改變,
所謂取模運算,就是計算兩個數相除之后的余數,10%7=3,7%4=3,基于權重取模:(2^32-1)%(1+1+2)

取模法配置示例:

listen web_host
	bind 192.168.188.10:80, :8801-8810,192.168.188.10:9001-9010
	mode tcp
	log global
	balance source
	server web1 192.168.188.100:80 weight 1 check inter 3000 fall 2 rise 5
	server web2 192.168.188.101:80 weight 1 check inter 3000 fall 2 rise 5

一致性hash

一致性哈希,該hash是動態的,支持在線調整權重,支持慢啟動,優點在于當服務器的總權重發生變化時,廚調度結果影響是區域的,不會引起大的變動,hash (o)mod n,

hash物件
hash物件到后端服務器的映射關系
在這里插入圖片描述
配置示例

listen web_host
	bind 192.168.188.10:80,:8801-8810,192.168.188.10:9001-9010
	mode tcp
	log global
	balance source
	hash-type consistent
	server web1 192.168.188.100:80 weight 1 check inter 3000 fall 2 rise 5
	server web2 192.168.188.101:80 weight 1 check inter 3000 fall 2 rise 5

HAProxy搭建集群

詳細的HAProxy搭建集群可以參考我另一篇文章:
AProxy+Keepalived 負載均衡高可用配置

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/272811.html

標籤:其他

上一篇:“服務器最小化安裝CentOS 7.8后,安裝不了httpd、使用不了ifconfig甚至ping不通百度”的解決方案

下一篇:Linux下的檔案管理(初學者必看)

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more