Tomcat負載均衡、動靜分離

目錄

引言

實驗圖解?

1.實驗環境搭建?

2.部署Nginx服務器及配置靜態頁面Web服務

3.部署Tomcat服務及配置動態頁面Web服務

4.實驗驗收

動態頁面

靜態頁面


引言

tomcat服務既可以處理動態頁面,也可以處理靜態頁面;但其處理靜態頁面的速度遠遠不如nginx和apache服務,但ngingx和apache服務無法直接處理動態頁面,下文就講述了nginx和tomcat組合使用,實現動靜分離和負載均衡;目前很多大型網站都應用Nginx服務器作為后端網站程序的反向代理及負載均衡器,提升整個站點的負載并發能力。

  • standalone模式,Tomcat單獨運行,直接接受用戶的請求,不推薦。

    反向代理,單機運行,提供了一個Nginx作為反向代理,可以做到靜態由nginx提供響應,動態jsp代理給Tomcat

  • LNMT:Linux + Nginx + MySQL + Tomcat

    LAMT:Linux + Apache(Httpd)+ MySQL + Tomcat

    前置一臺Nginx,給多臺Tomcat實例做反向代理和負載均衡調度,Tomcat上部署的純動態頁面更適合

    LNMT:Linux + Nginx + MySQL + Tomcat

  • 多級代理

    LNNMT:Linux + Nginx + Nginx + MySQL + Tomcat

動態服務器的問題,往往就是并發能力太弱,往往需要多臺動態服務器一起提供服務。如何把并發的壓力分攤,這就需要調度,采用一定的調度策略,將請求分發給不同的服務器,這就是Load Balance負載均衡。當單機Tomcat,演化出多機多級部署的時候,一個問題便凸顯出來,這就是Session。而這個問題的由來,都是由于HTTP協議在設計之初沒有想到未來的發展。

實驗圖解?

在部署Tomcat之前,要部署好環境(JDK),因為JDK是Tomcat運行的必要環境

1.實驗環境搭建?

根據實驗環境,客戶端可以用真機模擬,此實驗需要五臺虛擬機,Centos7-1Nginx代理服務器,Centos7-2和Centos7-3作為負載均衡第一分支的后端服務器,Centos7-4和Centos7-6作為負載均衡第二分支的后端服務器;Centos7-2和Centos7-4作為處理靜態資源的服務器,需要搭建Nginx服務;Centos7-3和Centos7-6作為處理動態資源的服務器,需要搭建Tomcat服務

五臺虛擬機統一關閉防火墻

2.部署Nginx服務器及配置靜態頁面Web服務

Centos7-1、Centos7-2、Centos7-4都要部署Nginx服務

[root@7-1 opt]#yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make
#安裝依賴關系包
[root@7-1 opt]#useradd -M -s /sbin/nologin nginx
#新建Nginx用戶 方便管理
[root@7-1 opt]#yum install nginx -y
[root@7-1 opt]#systemctl start nginx
[root@7-1 opt]#systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy serverLoaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)Active: active (running) since 六 2024-03-02 13:40:43 CST; 3s agoProcess: 2436 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)Process: 2433 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)Process: 2429 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)Main PID: 2438 (nginx)CGroup: /system.slice/nginx.service├─2438 nginx: master process /usr/sbin/nginx├─2439 nginx: worker process└─2440 nginx: worker process3月 02 13:40:42 7-1 systemd[1]: Starting The nginx HTTP and reverse prox.....
3月 02 13:40:43 7-1 nginx[2433]: nginx: the configuration file /etc/ngin...ok
3月 02 13:40:43 7-1 nginx[2433]: nginx: configuration file /etc/nginx/ng...ul
3月 02 13:40:43 7-1 systemd[1]: Started The nginx HTTP and reverse proxy...r.
Hint: Some lines were ellipsized, use -l to show in full.

?

[root@7-2 ~]#yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make
#安裝依賴關系包
[root@7-2 ~]#useradd -M -s /sbin/nologin nginx
#新建Nginx用戶  方便管理
[root@7-2 ~]#systemctl start nginx
[root@7-2 ~]#systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy serverLoaded: loaded (/usr/lib/systemd/system/nginx.service; static; vendor preset: disabled)Active: active (running) since Sat 2024-03-02 00:32:49 EST; 5s agoProcess: 1986 ExecStart=/usr/local/nginx/sbin/nginx (code=exited, status=0/SUCCESS)Process: 1983 ExecStartPre=/usr/local/nginx/sbin/nginx -t (code=exited, status=0/SUCCESS)Main PID: 1988 (nginx)CGroup: /system.slice/nginx.service├─1988 nginx: master process /usr/local/nginx/sbin/nginx└─1989 nginx: worker processMar 02 00:32:49 node2.localdomain systemd[1]: Starting The nginx HTTP and ....
Mar 02 00:32:49 node2.localdomain nginx[1983]: nginx: the configuration fi...k
Mar 02 00:32:49 node2.localdomain nginx[1983]: nginx: configuration file /...l
Mar 02 00:32:49 node2.localdomain systemd[1]: Failed to read PID from file...t
Mar 02 00:32:49 node2.localdomain systemd[1]: Started The nginx HTTP and r....
Hint: Some lines were ellipsized, use -l to show in full.
[root@7-2 ~]#cd /usr/local/nginx/
[root@7-2 nginx]#ls
client_body_temp  fastcgi_temp  logs        sbin       uwsgi_temp
conf              html          proxy_temp  scgi_temp
[root@7-2 nginx]#cd html/
[root@7-2 html]#ls
50x.html  index.html
[root@7-2 html]#mkdir /usr/local/nginx/html/static
[root@7-2 html]#ls
50x.html  index.html  static
[root@7-2 html]#cd static/
[root@7-2 static]#rz -E
rz waiting to receive.
[root@7-2 static]#ls
f32b966ddaf1002dfa4b2f6c556e57f0.jpg
[root@7-2 static]#mv f32b966ddaf1002dfa4b2f6c556e57f0.jpg nginx.jpg
[root@7-2 static]#ls
nginx.jpg
[root@7-2 static]#vim /usr/local/nginx/conf/nginx.conf

靜態要加jpg,路徑要修改為/usr/local/nginx/html/static?

[root@7-4 ~]#yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make
#安裝依賴關系包
[root@7-4 ~]#useradd -M -s /sbin/nologin nginx
#新建Nginx用戶 方便管理
[root@7-4 ~]#systemctl start nginx
[root@7-4 ~]#systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy serverLoaded: loaded (/usr/lib/systemd/system/nginx.service; static; vendor preset: disabled)Active: active (running) since 六 2024-03-02 13:33:00 CST; 12s agoProcess: 1962 ExecStart=/usr/local/nginx/sbin/nginx (code=exited, status=0/SUCCESS)Process: 1960 ExecStartPre=/usr/local/nginx/sbin/nginx -t (code=exited, status=0/SUCCESS)Main PID: 1964 (nginx)CGroup: /system.slice/nginx.service├─1964 nginx: master process /usr/local/nginx/sbin/nginx└─1965 nginx: worker process3月 02 13:32:59 G.D systemd[1]: Starting The nginx HTTP and reverse prox.....
3月 02 13:33:00 G.D nginx[1960]: nginx: the configuration file /usr/loca...ok
3月 02 13:33:00 G.D nginx[1960]: nginx: configuration file /usr/local/ng...ul
3月 02 13:33:00 G.D systemd[1]: Started The nginx HTTP and reverse proxy...r.
Hint: Some lines were ellipsized, use -l to show in full.
[root@7-4 ~]#cd /usr/local/nginx/html/
[root@7-4 html]#ls
50x.html  index.html
[root@7-4 html]#mkdir static
[root@7-4 html]#cd static/
[root@7-4 static]#ls
[root@7-4 static]#rz -E
rz waiting to receive.
[root@7-4 static]#ls
f32b966ddaf1002dfa4b2f6c556e57f0.jpg
[root@7-4 static]#mv f32b966ddaf1002dfa4b2f6c556e57f0.jpg nginx.jpg
[root@7-4 static]#ls
nginx.jpg

3.部署Tomcat服務及配置動態頁面Web服務

Centos7-3和Centos7-6需要部署Tomcat服務

[root@7-3 ~]#cd /opt
[root@7-3 opt]#rz -E
rz waiting to receive.
[root@7-3 opt]#ls
jdk-8u291-linux-x64.tar.gz
[root@7-3 opt]#tar xf jdk-8u291-linux-x64.tar.gz 
[root@7-3 opt]#ls
jdk1.8.0_291  jdk-8u291-linux-x64.tar.gz
[root@7-3 opt]#java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
[root@7-3 opt]#mv jdk1.8.0_291/ /usr/local/
[root@7-3 opt]#cd /usr/local/
[root@7-3 local]#ls
bin  games    jdk1.8.0_291  lib64    nginx  share
etc  include  lib           libexec  sbin   src
[root@7-3 local]#vim /etc/profile.d/jdk.sh 
[root@7-3 local]#cat /etc/profile.d/jdk.sh 
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH
export JRE_HOME=$JAVA_HOME/jre 
export CLASSPATH=$JAVA_HOME/lib/:$JRE_HOME/lib/
[root@7-3 local]#source /etc/profile.d/jdk.sh 
[root@7-3 local]#echo $PATH
/usr/local/jdk1.8.0_91/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@7-3 local]#ln -s jdk1.8.0_291/ jdk
[root@7-3 ~]#java -version
java version "1.8.0_291"
Java(TM) SE Runtime Environment (build 1.8.0_291-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.291-b10, mixed mode)
[root@7-3 opt]#cd /opt
[root@7-3 opt]#ls
jdk-8u291-linux-x64.tar.gz
[root@7-3 opt]#rz -E
rz waiting to receive.
[root@7-3 opt]#ls
apache-tomcat-9.0.16.tar.gz  jdk-8u291-linux-x64.tar.gz
[root@7-3 opt]#tar xf apache-tomcat-9.0.16.tar.gz 
[root@7-3 opt]#ls
apache-tomcat-9.0.16  apache-tomcat-9.0.16.tar.gz  jdk-8u291-linux-x64.tar.gz
[root@7-3 opt]#cp -r apache-tomcat-9.0.16 /usr/local/
[root@7-3 opt]#cd /usr/local/
[root@7-3 local]#ls
apache-tomcat-9.0.16  etc    include       lib    libexec  sbin   src
bin                   games  jdk1.8.0_291  lib64  nginx    share
[root@7-3 local]#ln -s apache-tomcat-9.0.16/ tomcat
[root@7-3 local]#ls
apache-tomcat-9.0.16  etc    include       lib    libexec  sbin   src
bin                   games  jdk1.8.0_291  lib64  nginx    share  tomcat
[root@7-3 ~]#ss -natp |grep 8080
LISTEN     0      100         :::8080                    :::*                   users:(("java",pid=3237,fd=57))
[root@7-3 ~]#cd /usr/local/tomcat/webapps/
[root@7-3 webapps]#ls
docs  examples  host-manager  manager  ROOT
[root@7-3 webapps]#mkdir test
[root@7-3 webapps]#ls
docs  examples  host-manager  manager  ROOT  test
[root@7-3 webapps]#cd test/
[root@7-3 test]#ls
[root@7-3 test]#vim index.jsp
[root@7-3 test]#cat index.jsp 
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html><head><tile>JSP test1 page </title></head><boby><% out.println("動態頁面1,http://www.test1.com");%></boby>
</html>
[root@7-3 test]#vim /usr/local/tomcat/conf/server.xml 
[root@7-3 test]#/usr/local/tomcat/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk/jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@7-4 static]#vim /usr/local/nginx/conf/nginx.conf

[root@7-6 ~]#cd /opt
[root@7-6 opt]#rz -E
rz waiting to receive.
[root@7-6 opt]#ls
jdk-8u291-linux-x64.tar.gz
[root@7-6 opt]#tar xf jdk-8u291-linux-x64.tar.gz 
[root@7-6 opt]#ls
jdk1.8.0_291  jdk-8u291-linux-x64.tar.gz
[root@7-6 opt]#java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
[root@7-6 opt]#mv jdk1.8.0_291/ /usr/local/
[root@7-6 opt]#cd /usr/local/
[root@7-6 local]#ls
bin  games    jdk1.8.0_291  lib64    nginx  share
etc  include  lib           libexec  sbin   src
[root@7-6 local]#ln -s jdk1.8.0_291/ jdk
[root@7-6 local]#vim /etc/profile.d/jdk.sh 
[root@7-6 local]#cat /etc/profile.d/jdk.sh 
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH
export JRE_HOME=$JAVA_HOME/jre 
export CLASSPATH=$JAVA_HOME/lib/:$JRE_HOME/lib/
[root@7-6 local]#source /etc/profile.d/jdk.sh 
[root@7-6 ~]#java -version
java version "1.8.0_291"
Java(TM) SE Runtime Environment (build 1.8.0_291-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.291-b10, mixed mode)
[root@7-6 local]#cd /opt/
[root@7-6 opt]#ls
jdk-8u291-linux-x64.tar.gz
[root@7-6 opt]#rz -E
rz waiting to receive.
[root@7-6 opt]#ls
apache-tomcat-9.0.16.tar.gz  jdk-8u291-linux-x64.tar.gz
[root@7-6 opt]#tar xf apache-tomcat-9.0.16.tar.gz 
[root@7-6 opt]#cp -r apache-tomcat-9.0.16 /usr/local/
[root@7-6 opt]#cd /usr/local/
[root@7-6 local]#ls
apache-tomcat-9.0.16  etc    include       lib    libexec  sbin   src
bin                   games  jdk1.8.0_291  lib64  nginx    share
[root@7-6 local]#ln -s apache-tomcat-9.0.16/ tomcat
[root@7-6 local]#ls
apache-tomcat-9.0.16  etc    include       lib    libexec  sbin   src
bin                   games  jdk1.8.0_291  lib64  nginx    share  tomcat
[root@7-6 ~]#/usr/local/tomcat/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk/jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@7-6 ~]#ss -natp|grep 8080
LISTEN     0      100         :::8080                    :::*                   users:(("java",pid=2811,fd=57))
[root@7-6 ~]#cd /usr/local/tomcat/webapps/
[root@7-6 webapps]#ls
docs  examples  host-manager  manager  ROOT
[root@7-6 webapps]#mkdir test
[root@7-6 webapps]#ls
docs  examples  host-manager  manager  ROOT  test
[root@7-6 webapps]#cd test/
[root@7-6 test]#ls
[root@7-6 test]#vim index.jsp
[root@7-6 test]#cat index.jsp 
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html><head><tile>JSP test2 page </title></head><boby><% out.println("動態頁面2,http://www.test2.com");%></boby>
</html>
[root@7-6 test]#vim /usr/local/tomcat/conf/server.xml 
[root@7-6 test]#/usr/local/tomcat/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk/jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

4.實驗驗收

動態頁面

[root@7-1 opt]#tail -f /var/log/nginx/access.log 

靜態頁面

[root@7-1 opt]#tail -f /var/log/nginx/access.log 

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

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

相關文章

Oracle SQL優化概念之集群因子解析

導讀 本文介紹一個Oracle 數據庫SQL優化的一個基本概念【集群因子】&#xff0c;理解了此概念&#xff0c;有助于對Oracle數據庫進行SQL優化。 1. 集群因子名詞解析 集群因子&#xff08;ClusteringFactor&#xff09;是如果通過一個索引掃描一張表&#xff0c;需要訪問的表的數…

js優雅的統計字符串字符出現次數

題目如下 統計一串字符串中每個字符出現的頻率 示例字符串 let str asdfasqwerqwrdfafafasdfopasdfopckpasdfassfd小白寫法 let str asdfasqwerqwrdfafafasdfopasdfopckpasdfassfdlet result {}; for (let i 0; i < str.length; i) {if (result[str[i]]) {result[str[…

鏈表基礎知識詳解(非常詳細簡單易懂)

概述&#xff1a; 鏈表作為 C 語言中一種基礎的數據結構&#xff0c;在平時寫程序的時候用的并不多&#xff0c;但在操作系統里面使用的非常多。不管是RTOS還是Linux等使用非常廣泛&#xff0c;所以必須要搞懂鏈表&#xff0c;鏈表分為單向鏈表和雙向鏈表&#xff0c;單向鏈表很…

【Vue3】解鎖Vue3黑科技:探索接口、泛型和自定義類型的前端奇跡

&#x1f497;&#x1f497;&#x1f497;歡迎來到我的博客&#xff0c;你將找到有關如何使用技術解決問題的文章&#xff0c;也會找到某個技術的學習路線。無論你是何種職業&#xff0c;我都希望我的博客對你有所幫助。最后不要忘記訂閱我的博客以獲取最新文章&#xff0c;也歡…

Android Compose - PlainTooltipBox(已廢棄)的替代方案

Android Compose - PlainTooltipBox 的替代方案 TooltipBox(positionProvider TooltipDefaults.rememberPlainTooltipPositionProvider(),tooltip {PlainTooltip {Text(/* tooltip content */)}},state rememberTooltipState(), ) {// tooltip anchorIconButton(onClick {…

跨站腳本攻擊xss-labs(1-20)靶機練手

目錄 一、跨站腳本攻擊&#xff08;XSS&#xff09; 1.1 漏洞簡介 1.2:類型 1.3 XSS危害 1.4XSS防御規則 二、環境搭建 三、xsst通關記錄 Level 1&#xff1a;文本解析為 HTML Level 2&#xff1a;htmlspecialchars;input 標簽 value 注入 定義和用法 字符過濾繞過 …

從零自制docker-1-【環境配置 docker go介紹與安裝】

文章目錄 docker簡介舉例docker安裝go語言go安裝go 配置 docker簡介 Docker可以看作是一種極其輕巧的“虛擬機”&#xff0c;它允許你將一個或多個程序及其運行環境打包在一起&#xff0c;形成一個標準化的單元&#xff0c;這個單元可以在任何支持Docker的系統上運行&#xff…

實用!IntelliJ IDEA離線開發使用要點(一)

如果IntelliJ IDEA在本地網絡之外沒有HTTP訪問&#xff0c;它將無法檢查更新和應用補丁。在這種情況下&#xff0c;您必須下載新版本的IDE并按照離線安裝中的描述手動安裝它們。 IDEA v2023.3正式版下載 注意&#xff1a;沒有互聯網接入&#xff0c;您不能安裝IntelliJ IDEA使…

SaaS 電商設計 (九) 動態化且易擴展的實現購物車底部彈層(附:一套普適的線上功能切量的發布方案)

目錄 一.背景1.1 業務背景1.2 技術負債 二.技術目標三.方案設計3.1 解決移動端頻繁發版3.1.1 場景分析3.1.2 技術方案 3.2 減少后端壞味道代碼&無法靈活擴展問題3.2.1 通過抽象接口完成各自單獨樓層渲染邏輯3.2.2 通過配置能力做到部分字段可配 四.升級上線(普適于高并發大…

2314576

? 通用計算機啟動過程 1??一個基礎固件&#xff1a;BIOS 一個基礎固件&#xff1a;BIOS→基本IO系統&#xff0c;它提供以下功能&#xff1a; 上電后自檢功能 Power-On Self-Test&#xff0c;即POST&#xff1a;上電后&#xff0c;識別硬件配置并對其進行自檢&#xff0c…

學習JAVA的第十二天(基礎)

算法 算法&#xff08;Algorithm&#xff09;是指解題方案的準確而完整的描述&#xff0c;是一系列解決問題的清晰指令&#xff0c;算法代表著用系統的方法描述 解決問題的策略 機制。 查找算法 基本查找&#xff08;順序查找&#xff09; 關鍵&#xff1a; 從0索引開始依次向…

學習:吳恩達:什么是神經元?神經網絡如何工作?

學習-吳恩達《AI for everyone》2019 深度學習非技術解釋 第2部分 可選.zh_嗶哩嗶哩_bilibili 深度學習Deep learning 人工神經網絡Artificial Neural network 什么是神經網絡&#xff1f; 只有一個神經元 4個神經元的神經網絡 神經網路的絕妙之處 神經網路的絕妙之處就在…

ctf_show筆記篇(web入門---信息收集)

目錄 信息收集 1-2&#xff1a;查看源代碼 3&#xff1a;bp抓包 4&#xff1a;robots.txt&#xff08;這個文件里會寫有網站管理者不想讓爬蟲的頁面或其他&#xff09; 5&#xff1a;網站源代碼泄露index.phps 6&#xff1a;同樣也是源碼泄露&#xff0c;&#xff08;拿到…

Java快讀

java的快讀 (1)BufferedReader BufferedReader br new BufferedReader(new InputStreamReader(System.in));//定義對象String[] strings br.readLine().split(" ");//讀取一行字符串&#xff0c;以空格為分隔轉化為字符串數組int n Integer.parseInt(strings[0])…

k8s分布式圖床(k8s,metricsapi,vue3+ts)

image-manage 圖像管理應用 圖像管理應用提供了一個方便管理圖片的平臺&#xff0c;支持單機和Kubernetes集群部署。請確保您至少擁有一個MySQL數據庫和一個Redis數據庫&#xff0c;以及一個至少為Kubernetes 1.29版本的集群&#xff08;如果選擇集群部署&#xff09;。 文檔…

PCL1.14.0安裝、使用教程

寫在前面 本文內容 本文是PCL1.14.0在Windows下的安裝、使用教程&#xff1b; PCL、Open3D其他版本的編譯和使用相關教程見 各個版本的Open3D、PCL的編譯、使用教程平臺/環境 windows11(windows10): visual studio 2022&#xff1b;cmake 3.22; VsCode轉載請注明出處&#xff…

http和https的區別是什么?

–前言 傳輸信息安全性不同、連接方式不同、端口不同、證書申請方式不同 一、傳輸信息安全性不同 1、http協議&#xff1a;是超文本傳輸協議&#xff0c;信息是明文傳輸。如果攻擊者截取了Web瀏覽器和網站服務器之間的傳輸報文&#xff0c;就可以直接讀懂其中的信息。 2、h…

關于django makemigrations/migrate在生成數據表上遇到的一些問題

當你刪除了生成的 migration 文件夾&#xff0c;將數據庫從 SQLite 切換到 MySQL&#xff0c;并且在執行 makemigrations 命令時顯示沒有變化&#xff0c;同時 MySQL 中沒有生成表&#xff0c;可能是由于以下原因造成的&#xff1a; Django遷移系統的工作方式&#xff1a;Djang…

排序(3)——直接選擇排序

目錄 直接選擇排序 基本思想 整體思路&#xff08;升序&#xff09; 單趟 多趟 代碼實現 特性總結 直接選擇排序 基本思想 每一次從待排序的數據元素中選出最小&#xff08;或最大&#xff09;的一個元素&#xff0c;存放在序列的起始位置&#xff0c;直到全部待排序的…

軟考 系統分析師系列知識點之詳細調查(3)

接前一篇文章&#xff1a;軟考 系統分析師系列知識點之詳細調查&#xff08;2&#xff09; 所屬章節&#xff1a; 第10章. 系統分析 第2節. 詳細調查 在系統規劃階段&#xff0c;通過初步調查&#xff0c;系統分析師已經對企業的組織結構、系統功能等有了大致的了解。但是&…