亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

nacos集群搭建Nginx負(fù)載均衡的操作詳解

 更新時(shí)間:2024年01月28日 09:19:09   作者:云村小威  
這篇文章主要介紹了nacos集群搭建Nginx負(fù)載均衡的詳細(xì)操作,文中通過代碼示例和圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下

一、mysql安裝與基操

1.1 數(shù)據(jù)準(zhǔn)備 

  • 拉取mysql
docker pull mysql:5.7(版本)
  • 定義掛載目錄
mkdir -p /mysql/{conf,data,script}
  • 配置my.cnf

my.cnf內(nèi)容: 

[mysqld]
#Mysql服務(wù)的唯一編號(hào) 每個(gè)mysql服務(wù)Id需唯一
server-id=1
 
#服務(wù)端口號(hào) 默認(rèn)3306
port=3306
 
#mysql安裝根目錄(default /usr)
#basedir=/usr/local/mysql
 
#mysql數(shù)據(jù)文件所在位置
datadir=/var/lib/mysql
 
#pid
pid-file=/var/run/mysqld/mysqld.pid
 
#設(shè)置socke文件所在目錄
socket=/var/lib/mysql/mysql.sock
 
#設(shè)置臨時(shí)目錄
#tmpdir=/tmp
 
# 用戶
user=mysql
 
# 允許訪問的IP網(wǎng)段
bind-address=0.0.0.0
 
# 跳過密碼登錄
#skip-grant-tables
 
#主要用于MyISAM存儲(chǔ)引擎,如果多臺(tái)服務(wù)器連接一個(gè)數(shù)據(jù)庫(kù)則建議注釋下面內(nèi)容
#skip-external-locking
 
#只能用IP地址檢查客戶端的登錄,不用主機(jī)名
#skip_name_resolve=1
 
#事務(wù)隔離級(jí)別,默認(rèn)為可重復(fù)讀,mysql默認(rèn)可重復(fù)讀級(jí)別(此級(jí)別下可能參數(shù)很多間隙鎖,影響性能)
#transaction_isolation=READ-COMMITTED
 
#數(shù)據(jù)庫(kù)默認(rèn)字符集,主流字符集支持一些特殊表情符號(hào)(特殊表情符占用4個(gè)字節(jié))
character-set-server=utf8mb4
 
#數(shù)據(jù)庫(kù)字符集對(duì)應(yīng)一些排序等規(guī)則,注意要和character-set-server對(duì)應(yīng)
collation-server=utf8mb4_general_ci
 
#設(shè)置client連接mysql時(shí)的字符集,防止亂碼
init_connect='SET NAMES utf8mb4'
 
#是否對(duì)sql語句大小寫敏感,1表示不敏感
lower_case_table_names=1
 
#最大連接數(shù)
max_connections=400
 
#最大錯(cuò)誤連接數(shù)
max_connect_errors=1000
 
#TIMESTAMP如果沒有顯示聲明NOT NULL,允許NULL值
explicit_defaults_for_timestamp=true
 
#SQL數(shù)據(jù)包發(fā)送的大小,如果有BLOB對(duì)象建議修改成1G
max_allowed_packet=128M
 
#MySQL連接閑置超過一定時(shí)間后(單位:秒)將會(huì)被強(qiáng)行關(guān)閉
#MySQL默認(rèn)的wait_timeout  值為8個(gè)小時(shí), interactive_timeout參數(shù)需要同時(shí)配置才能生效
interactive_timeout=1800
wait_timeout=1800
 
#內(nèi)部?jī)?nèi)存臨時(shí)表的最大值 ,設(shè)置成128M。
#比如大數(shù)據(jù)量的group by ,order by時(shí)可能用到臨時(shí)表,
#超過了這個(gè)值將寫入磁盤,系統(tǒng)IO壓力增大
tmp_table_size=134217728
max_heap_table_size=134217728
 
#禁用mysql的緩存查詢結(jié)果集功能
#后期根據(jù)業(yè)務(wù)情況測(cè)試決定是否開啟
#大部分情況下關(guān)閉下面兩項(xiàng)
#query_cache_size = 0
#query_cache_type = 0
 
#數(shù)據(jù)庫(kù)錯(cuò)誤日志文件
#log-error=/var/log/mysqld.log
 
#慢查詢sql日志設(shè)置
#slow_query_log=1
#slow_query_log_file=/var/log/mysqld_slow.log
 
#檢查未使用到索引的sql
log_queries_not_using_indexes=1
 
#針對(duì)log_queries_not_using_indexes開啟后,記錄慢sql的頻次、每分鐘記錄的條數(shù)
log_throttle_queries_not_using_indexes=5
 
#作為從庫(kù)時(shí)生效,從庫(kù)復(fù)制中如何有慢sql也將被記錄
log_slow_slave_statements=1
 
#慢查詢執(zhí)行的秒數(shù),必須達(dá)到此值可被記錄
long_query_time=8
 
#檢索的行數(shù)必須達(dá)到此值才可被記為慢查詢
min_examined_row_limit=100
 
#mysql binlog日志文件保存的過期時(shí)間,過期后自動(dòng)刪除
#expire_logs_days=5
binlog_expire_logs_seconds=604800

準(zhǔn)備sql腳本

1.2 創(chuàng)建mysql與數(shù)據(jù)表 

創(chuàng)建mysql容器

docker run \
--name m1 \
-v /mysql/conf/my.cnf:/etc/my.cnf \
-v /mysql/data:/var/lib/mysql \
-v /mysql/script:/script \
--privileged=true \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql/mysql-server:5.7

執(zhí)行sql腳本進(jìn)入script文件下

查看數(shù)據(jù)表:

二、Nacos集群部署

2.1 創(chuàng)建nacos及配置

  • 拉取nacos容器(內(nèi)存大約1G) 
docker nacos/nacos-server

  • 連接自定義網(wǎng)絡(luò)

nacos與mysql不在同一個(gè)網(wǎng)絡(luò)IP,將mysql連接到自定義網(wǎng)絡(luò)(net)再連接到nacos 

  •  啟動(dòng)nacos集群模式(設(shè)置nacos啟動(dòng)參數(shù))
docker run -itd \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVERS="172.18.0.102:8848 172.18.0.103:8848" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=m1 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-p 8848:8848 \
--name nacos01 \
--net net \
--ip 172.18.0.101 \
--restart=always \
nacos/nacos-server
docker run -itd \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVERS="172.18.0.101:8848 172.18.0.103:8848" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=m1 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
--name nacos02 \
--net net \
--ip 172.18.0.102 \
--restart=always \
nacos/nacos-server
docker run -itd \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVERS="172.18.0.101:8848 172.18.0.102:8848" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=m1 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
--name nacos03 \
--net net \
--ip 172.18.0.103 \
--restart=always \
nacos/nacos-server

如果出現(xiàn) No DataSource set

  • 檢查ip是否對(duì)應(yīng)
  • 是否在同一網(wǎng)段下
  • 檢查數(shù)據(jù)庫(kù)名稱
  • 檢查root與密碼
  • 檢查數(shù)據(jù)庫(kù)中是否存在對(duì)應(yīng)的表(是否執(zhí)行腳本)

 啟動(dòng)了三臺(tái):

2.2 創(chuàng)建Nginx容器

創(chuàng)建nginx配置文件: 

default.conf:

upstream nacosList {
    server nacos01:8848 weight=1;
    server nacos02:8848 weight=1;
    server nacos03.:8848 weight=1;
}
 
server {
 
    listen  80;
    server_name  www.zkingedu.com;
 
    location / {
        root   /etc/nginx/html/;
        index  index.html index.htm;
    }
 
    error_page   500 502 503 504  /50x.html;
 
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
 
    location /nacos {
        proxy_pass  http://nacosList;
    }
 
}

掛載nginx:

docker run -itd \
--name nginx01 \
-v /soft/nginx/conf.d:/etc/nginx/conf.d \
-p 80:80 \
--net net \
nginx

實(shí)現(xiàn)了負(fù)載均衡,只要哪個(gè)容器下線其他的容器就開始為它服務(wù):

圖解:

以上就是nacos集群搭建Nginx負(fù)載均衡的操作詳解的詳細(xì)內(nèi)容,更多關(guān)于nacos搭建Nginx負(fù)載均衡的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論