欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

nacos集群搭建Nginx負載均衡的操作詳解

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

一、mysql安裝與基操

1.1 數(shù)據(jù)準備 

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

my.cnf內(nèi)容: 

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

準備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腳本進入script文件下

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

二、Nacos集群部署

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

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

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

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

  •  啟動nacos集群模式(設(shè)置nacos啟動參數(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是否對應(yīng)
  • 是否在同一網(wǎng)段下
  • 檢查數(shù)據(jù)庫名稱
  • 檢查root與密碼
  • 檢查數(shù)據(jù)庫中是否存在對應(yīng)的表(是否執(zhí)行腳本)

 啟動了三臺:

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

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

圖解:

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

相關(guān)文章

最新評論