docker-ubuntu中基于keepalived+niginx模擬主從熱備完整過程

一、環境準備

🔗在Ubuntu中安裝docker

二、主機

1、環境搭建

1.1 鏡像拉取

docker pull ubuntu:16.04

1.2 創建網橋

docker network create -d=bridge --subnet=192.168.126.0/24 br1

1.3 啟動容器

docker run -it --name ubuntu-1 --privileged -v /home/vac/linux:/mnt/software -p 8801:80 --net=br1 ubuntu:16.04 bash

1.4 下載工具包

先更新以下

apt update

ifconfig、route命令使用的net-tools工具包

apt -y install net-tools

vim編輯器

apt -y install vim

ping命令工具包

apt -y install iputils-ping

1.5 下載nginx

apt -y install nginx

1.6 下載keepalived

apt -y install keepalived

2、配置

2.1 配置keepalived

編輯keepalived.conf文件

vim /etc/keepalived/keepalived.conf

輸入以下內容

! Configuration File for keepalivedglobal_defs {#路由id:當前安裝keepalived節點主機的標識符,全局唯一router_id keep_130
}vrrp_instance VI_1 {# 表示的狀態,當前的130服務器為nginx的主節點,MASTER/BACKUPstate MASTER# 當前實例綁定的網卡interface eth0# 保證主備節點一致virtual_router_id 51# 優先級/權重,誰的優先級高,在MASTER掛掉以后,就能成為MASTERpriority 100# 主備之間同步檢查的時間間隔,默認1sadvert_int 1# 認證授權的密碼,防止非法節點的進入authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.200.16}
}

2.2 配置nginx

2.2.1 查看nginx.conf

輸入命令

vim /etc/nginx/nginx.conf

內容如下

user www-data;
worker_processes auto;
pid /run/nginx.pid;events {worker_connections 768;# multi_accept on;
}http {### Basic Settings##sendfile on;tcp_nopush on;tcp_nodelay on;keepalive_timeout 65;types_hash_max_size 2048;# server_tokens off;# server_names_hash_bucket_size 64;# server_name_in_redirect off;include /etc/nginx/mime.types;default_type application/octet-stream;### SSL Settings##ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLEssl_prefer_server_ciphers on;### Logging Settings##access_log /var/log/nginx/access.log;error_log /var/log/nginx/error.log;### Gzip Settings##gzip on;gzip_disable "msie6";# gzip_vary on;# gzip_proxied any;# gzip_comp_level 6;# gzip_buffers 16 8k;# gzip_http_version 1.1;# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;### Virtual Host Configs##include /etc/nginx/conf.d/*.conf;include /etc/nginx/sites-enabled/*;
}#mail {
#       # See sample authentication script at:
#       # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
# 
#       # auth_http localhost/auth.php;
#       # pop3_capabilities "TOP" "USER";
#       # imap_capabilities "IMAP4rev1" "UIDPLUS";
# 
#       server {
#               listen     localhost:110;
#               protocol   pop3;
#               proxy      on;
#       }
# 
#       server {
#               listen     localhost:143;
#               protocol   imap;
#               proxy      on;
#       }
#}
2.2.2 修改index.html

輸入命令

vim /usr/share/nginx/html/index.html

輸入以下內容

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>body {width: 35em;margin: 0 auto;font-family: Tahoma, Verdana, Arial, sans-serif;}
</style>
</head>
<body>
<h1>Welcome to nginx!(192.168.126.2)</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p><p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p><p><em>Thank you for using nginx.</em></p>
</body>
</html>

3、啟動

3.1 啟動nginx

輸入命令

nginx

3.2 啟動keepalived

keepalived -l -f /etc/keepalived/keepalived.conf

4、狀態查看

4.1 查看nginx狀態

輸入命令

service nginx status

打印返回

 * nginx is running

4.2 查看keepalived進程

輸入命令

ps -ef|grep keepalived

打印返回

root    31     1  1 07:50 ?        00:00:00 keepalived -l -f /etc/keepalived/keepalived.conf
root    32    31  3 07:50 ?        00:00:00 keepalived -l -f /etc/keepalived/keepalived.conf
root    33    31  4 07:50 ?        00:00:00 keepalived -l -f /etc/keepalived/keepalived.conf
root    35    11  0 07:51 pts/1    00:00:00 grep --color=auto keepalived

4.3 查看vip掛載情況

輸入命令

ip a

打印返回

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft forever
24: eth0@if25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 02:42:c0:a8:7e:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0inet 192.168.126.2/24 brd 192.168.126.255 scope global eth0valid_lft forever preferred_lft foreverinet 192.168.200.16/32 scope global eth0valid_lft forever preferred_lft forever

4、停止

4.1 停止nginx

nginx -s stop

4.2 停止keepalived

pkill keepalived

三、從機

1、方法一

1.1 重復主機環境步驟

1.2 將步驟 1.2 創建網橋的IP地址改成其他段

docker network create -d=bridge --subnet=192.168.127.0/24 br1

1.3 將步驟2.1 配置keepalived內容改為如下

! Configuration File for keepalivedglobal_defs {#路由id:當前安裝keepalived節點主機的標識符,全局唯一router_id keep_131
}vrrp_instance VI_1 {# 表示的狀態,當前的130服務器為nginx的主節點,MASTER/BACKUPstate BACKUP# 當前實例綁定的網卡interface eth0# 保證主備節點一致virtual_router_id 51# 優先級/權重,誰的優先級高,在MASTER掛掉以后,就能成為MASTERpriority 80# 主備之間同步檢查的時間間隔,默認1sadvert_int 1# 認證授權的密碼,防止非法節點的進入authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.200.16}
}

2、方法二(推薦!省事)

2.1 將主機虛擬機關機完整克隆一份作為從機

2.2 修改keepalived的配置

輸入命令

vim /etc/keepalived/keepalived.conf

內容如下

! Configuration File for keepalivedglobal_defs {#路由id:當前安裝keepalived節點主機的標識符,全局唯一router_id keep_131
}vrrp_instance VI_1 {# 表示的狀態,當前的130服務器為nginx的主節點,MASTER/BACKUPstate BACKUP# 當前實例綁定的網卡interface eth0# 保證主備節點一致virtual_router_id 51# 優先級/權重,誰的優先級高,在MASTER掛掉以后,就能成為MASTERpriority 50# 主備之間同步檢查的時間間隔,默認1sadvert_int 1# 認證授權的密碼,防止非法節點的進入authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.200.16}
}

2.3 啟動keepalived服務

keepalived -l -f /etc/keepalived/keepalived.conf

2.4 啟動nginx服務

nginx

注: keepalived過程中出現的其他問題,詳見 🔗在docker的ubuntu中安裝keepalived

四、路由環境

具體路由如下圖
主要路由環境

1、主機

1.1 網卡情況

輸入命令

ip a

打印返回

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:0c:29:b6:5d:6c brd ff:ff:ff:ff:ff:ffaltname enp2s1inet 192.168.100.157/24 brd 192.168.100.255 scope global dynamic noprefixroute ens33valid_lft 59332sec preferred_lft 59332secinet6 fe80::f040:fdbe:78e1:5077/64 scope link noprefixroute valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default link/ether 02:42:65:2d:ef:09 brd ff:ff:ff:ff:ff:ffinet 172.17.0.1/16 brd 172.17.255.255 scope global docker0valid_lft forever preferred_lft foreverinet6 fe80::42:65ff:fe2d:ef09/64 scope link valid_lft forever preferred_lft forever
18: br-5485ae4ce244: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 02:42:46:41:1a:20 brd ff:ff:ff:ff:ff:ffinet 192.168.126.1/24 brd 192.168.126.255 scope global br-5485ae4ce244valid_lft forever preferred_lft foreverinet6 fe80::42:46ff:fe41:1a20/64 scope link valid_lft forever preferred_lft forever
25: vethd5c0922@if24: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-5485ae4ce244 state UP group default link/ether a2:75:3c:3c:0d:62 brd ff:ff:ff:ff:ff:ff link-netnsid 0inet6 fe80::a075:3cff:fe3c:d62/64 scope link valid_lft forever preferred_lft forever
27: vethec20693@if26: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-4bd1ee90e211 state UP group default link/ether 92:80:a3:b4:06:4a brd ff:ff:ff:ff:ff:ff link-netnsid 1inet6 fe80::9080:a3ff:feb4:64a/64 scope link valid_lft forever preferred_lft forever

1.2 查看路由

輸入命令

route -n

打印返回

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.100.1   0.0.0.0         UG    100    0        0 ens33
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 ens33
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.100.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.126.0   0.0.0.0         255.255.255.0   U     0      0        0 br-5485ae4ce244

1.3 添加路由

主機到從機的路由

route add -net 192.168.127.0/24 gw 192.168.100.158

主機到vip的路由

route add -net 192.168.200.0/24 gw 192.168.126.2

vip到從機的路由

route add -net 192.168.200.0/24 gw 192.168.100.158

1.4 最后路由表

輸入命令

route -n

打印返回

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.100.1   0.0.0.0         UG    100    0        0 ens33
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 ens33
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.100.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.126.0   0.0.0.0         255.255.255.0   U     0      0        0 br-5485ae4ce244
192.168.127.0   192.168.100.158 255.255.255.0   UG    0      0        0 ens33
192.168.200.0   192.168.126.2   255.255.255.0   UG    0      0        0 br-5485ae4ce244
192.168.200.0   192.168.100.158 255.255.255.0   UG    0      0        0 ens33

2、從機

2.1 網卡情況

輸入命令

ip a

打印返回

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:0c:29:6a:2e:27 brd ff:ff:ff:ff:ff:ffaltname enp2s1inet 192.168.100.158/24 brd 192.168.100.255 scope global dynamic noprefixroute ens33valid_lft 64476sec preferred_lft 64476secinet6 fe80::5d22:1c65:d887:63e6/64 scope link noprefixroute valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default link/ether 02:42:69:89:fc:8c brd ff:ff:ff:ff:ff:ffinet 172.17.0.1/16 brd 172.17.255.255 scope global docker0valid_lft forever preferred_lft foreverinet6 fe80::42:69ff:fe89:fc8c/64 scope link valid_lft forever preferred_lft forever
4: br-c0c4641ba16b: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 02:42:a3:ee:77:97 brd ff:ff:ff:ff:ff:ffinet 192.168.127.1/24 brd 192.168.127.255 scope global br-c0c4641ba16bvalid_lft forever preferred_lft foreverinet6 fe80::42:a3ff:feee:7797/64 scope link valid_lft forever preferred_lft forever
10: vethbe7b7fe@if9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-c0c4641ba16b state UP group default link/ether 1a:e7:2f:a9:3b:8e brd ff:ff:ff:ff:ff:ff link-netnsid 0inet6 fe80::18e7:2fff:fea9:3b8e/64 scope link valid_lft forever preferred_lft forever

2.2 查看路由

輸入命令

route -n

打印返回

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.100.1   0.0.0.0         UG    100    0        0 ens33
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 ens33
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.100.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.127.0   0.0.0.0         255.255.255.0   U     0      0        0 br-c0c4641ba16b

2.3 添加路由

從機到主機的路由

route add -net 192.168.126.0/24 gw 192.168.100.157

從機到vip的路由

route add -net 192.168.200.0/24 gw 192.168.127.2

vip到主機的路由

route add -net 192.168.200.0/24 gw 192.168.100.157

2.4 最后路由情況

route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.100.1   0.0.0.0         UG    100    0        0 ens33
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 ens33
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.100.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.126.0   192.168.100.157 255.255.255.0   UG    0      0        0 ens33
192.168.127.0   0.0.0.0         255.255.255.0   U     0      0        0 br-c0c4641ba16b
192.168.200.0   192.168.126.2   255.255.255.0   UG    0      0        0 br-c0c4641ba16b
192.168.200.0   192.168.100.157 255.255.255.0   UG    0      0        0 ens33

3、宿主機(windows主機)

3.1 添加路由

vip到主機

route add 192.168.200.0 mask 255.255.255.0 192.168.100.157

vip到從機

route add 192.168.200.0 mask 255.255.255.0 192.168.100.158

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/212842.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/212842.shtml
英文地址,請注明出處:http://en.pswp.cn/news/212842.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

為 Compose MultiPlatform 添加 C/C++ 支持(2):在 jvm 平臺使用 jni 實現桌面端與 C/C++ 互操作

前言 在上篇文章中我們已經介紹了實現 Compose MultiPlatform 對 C/C 互操作的基本思路。 并且先介紹了在 kotlin native 平臺使用 cinterop 實現與 C/C 的互操作。 今天這篇文章將補充在 jvm 平臺使用 jni。 在 Compose MultiPlatform 中&#xff0c;使用 jvm 平臺的是 An…

Kubernetes實戰(十)-升級k8s集群

1 Kubernetes(k8s) 集群升級過程 Kubernetes 使用 kubeadm 工具來管理集群組件的升級。在集群節點層面&#xff0c;升級 Kubernetes(k8s)集群的過程可以分為以下幾個步驟&#xff1a; 1&#xff09;檢查當前環境和配置是否滿足升級要求。 2&#xff09;升級master主節點&…

如何一個例子玩明白GIT

一個例子玩明白GIT GIT的介紹和教程五花八門&#xff0c;但實際需要用的就是建倉、推送、拉取等操作&#xff0c;這兒咱可以通過一個例子熟悉這些操作&#xff0c;一次性搞定GIT的使用方法學習。下面這個例子的內容是內容是建立初始版本庫&#xff0c;然后將數據復制到 "遠…

輕量封裝WebGPU渲染系統示例<45>- 材質組裝流水線(MaterialPipeline)燈光、陰影、霧(源碼)

當前示例源碼github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/material/src/voxgpu/sample/MaterialPipelineFog.ts 當前示例運行效果: 此示例基于此渲染系統實現&#xff0c;當前示例TypeScript源碼如下&#xff1a; export class MaterialPipelineFog {pr…

數組創建方法

數組的創建 1.let a[] 2.let anew Array(5) 3.let anew Array(1,2,3) 4.let a[1,2,3] 創建數組是空還是有值是以上四種寫法。但是如果沒給值的變量是undefined&#xff0c;再a[0]找不到這種變量的。所以當找某一個數需要已經是數組內存。不想給值可以給空數組。只要是數組…

MEMS制造的基本工藝介紹——晶圓鍵合

晶圓鍵合是一種晶圓級封裝技術&#xff0c;用于制造微機電系統 (MEMS)、納米機電系統 (NEMS)、微電子學和光電子學&#xff0c;確保機械穩定和氣密密封。用于 MEMS/NEMS 的晶圓直徑范圍為 100 毫米至 200 毫米&#xff08;4 英寸至 8 英寸&#xff09;&#xff0c;用于生產微電…

【重點】【環鏈表入口】142. 環形鏈表 II

題目 public class Solution {public ListNode detectCycle(ListNode head) {if (head null || head.next null) {return null;}ListNode slow head, fast head;while (fast ! null && fast.next ! null) {slow slow.next;fast fast.next.next;if (slow fast) …

SQL語句---更新數據

介紹 使用sql語句更新數據。 命令 update 表名 set 字段1值1[,字段2值2] [where 條件表達式];[]&#xff08;方括號&#xff09;內的表是表示可選。 例子 將a表id值等于1的數據的名稱改為666 update a set name666 where id1;

2023-12-05 Qt學習總結7

點擊 <C 語言編程核心突破> 快速C語言入門 Qt學習總結 前言二十 QTcpSocket QTcpServer網絡庫服務端代碼:客戶端代碼 二十一 QProcess進程類二十二 QThread線程總結 前言 要解決問題: 學習qt最核心知識, 多一個都不學. 二十 QTcpSocket QTcpServer網絡庫 QTcpSocket和…

持續集成交付CICD:Jenkins流水線實現Nexus制品晉級策略

目錄 一、理論 1.開發測試運維環境 二、實驗 1.Nexus制品晉級策略 一、理論 1.開發測試運維環境 &#xff08;1&#xff09;環境 1&#xff09;持續集成開發環境&#xff08;DEV: Development Environment&#xff09; 直接通過源代碼編譯打包&#xff0c;其會跑單元測試…

python 筆記 :trajectory_distance包(如何可以正確使用)【debug篇】

包的地址&#xff1a;maikol-solis/trajectory_distance (github.com) 1 模塊介紹 用Cython實現的Python模塊&#xff0c;用于計算二維軌跡之間的距離 trajectory_distance包提供了9種軌跡間的距離計算方法&#xff1a; SSPD&#xff08;對稱線段路徑距離&#xff09;OWD&a…

機器學習算法(9)——集成技術(Bagging——隨機森林分類器和回歸)

一、說明 在這篇文章&#xff0c;我將向您解釋集成技術和著名的集成技術之一&#xff0c;它屬于裝袋技術&#xff0c;稱為隨機森林分類器和回歸。 集成技術是機器學習技術&#xff0c;它結合多個基本模塊和模型來創建最佳預測模型。為了更好地理解這個定義&#xff0c;我們需要…

WLAN配置實驗

本文記錄了WLAN配置實踐的過程&#xff0c;該操作在華為HCIA中屬于相對較復雜的實驗&#xff0c;記錄過程備忘。這里不就WLAN原理解釋&#xff0c;僅進行配置實踐&#xff0c;可以作為學習原理時候的參考。本文使用華為ENSP進行仿真。實驗拓撲圖如下&#xff1a; 1.WLAN工作流程…

【electron】外語函數接口 FFI

? 目錄 ? &#x1f6eb; 導讀需求開發環境 1?? FFI概念優點注意事項 2?? 【廢棄】node-ffi3?? node-ffi-napi安裝&#xff08;windows系統下&#xff09;示例&#xff1a;MessageBoxA、NtSuspendProcess 4?? node-win32-api安裝示例&#xff1a;查找窗口并設置窗口標…

UE5數據傳遞-紋理貼圖

期待結果&#xff1a; 流程 1. 通過C寫入數據到紋理貼圖 2. 在材質中通過采樣能正確讀取寫入的數值 踩坑&#xff1a; 1. UE5之后&#xff0c;需要設置采樣類型&#xff0c;才能達到上圖效果&#xff0c;默認采樣類型做了插值計算 FColor中寫入 PF_B8G8R8A8 UTexture2D* Conve…

第四題:憧憬(JavaPythonC++實現)【第六屆傳智杯-新增場次-程序設計挑戰賽解題分析詳解復盤】

本文僅為【2023傳智杯-第二場】第六屆傳智杯程序設計挑戰賽-題目解題分析詳解的解題個人筆記,個人解題分析記錄。 本文包含:第六屆傳智杯程序設計挑戰賽題目、解題思路分析、解題代碼、解題代碼詳解(Java&Python&C++實現) 文章目錄 更新進度記錄第四題:憧憬(Java…

AI 繪畫 | Stable Diffusion 藝術二維碼制作

前言 這篇文章教會你如果用Stable Diffusion WEB UI制作藝術二維碼,什么是藝術二維碼呢?就是普通二維碼和藝術圖片融合后的二維碼圖片,如下圖所示。主要原理還是使用controlNet的control_v1p_sd15_qrcode_monster模型和光影模型control_v1p_sd15_brightness。 教程 準備…

【論文閱讀筆記】NeRF+Mip-NeRF+Instant-NGP

目錄 前言NeRF神經輻射場體渲染連續體渲染體渲染離散化 方法位置編碼分層采樣體渲染推導公式&#xff08;1&#xff09;到公式&#xff08;2&#xff09;部分代碼解讀相機變換&#xff08;重要&#xff01;&#xff09; Mip-NerfTo do Instant-NGPTo do 前言 NeRF是NeRF系列的…

DIP——邊緣提取與分割

1.使用canny算法進行邊緣提取 本實驗比較簡單&#xff0c;基本思路是對原圖像進行一個高斯模糊處理&#xff0c;用于去噪&#xff0c;之后轉換為灰度圖&#xff0c;直接調用cv庫中的canny記性邊緣提取。若想直接得到彩色邊緣&#xff0c;則通過按位與操作&#xff0c;將原始彩色…

SQLMap進階使用

預計更新SQL注入概述 1.1 SQL注入攻擊概述 1.2 SQL注入漏洞分類 1.3 SQL注入攻擊的危害 SQLMap介紹 2.1 SQLMap簡介 2.2 SQLMap安裝與配置 2.3 SQLMap基本用法 SQLMap進階使用 3.1 SQLMap高級用法 3.2 SQLMap配置文件詳解 3.3 SQLMap插件的使用 SQL注入漏洞檢測 4.1 SQL注入…