nacos持久化
- 找到nacos的配置文件目录的
nacos-mysql.sql
把它导入到数据库,就会得到以下的表
然后修改application.properties
配置文件
#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=123456
把数据库换成自己的数据用户名密码。
nacos集群搭建
预计需要,1个Nginx+3个nacos注册中心+1个mysql
修改配置文件cluster.conf.example
复制出一份新的名字改为cluster.conf
linux环境配置的话,这里的IP一定是hostname -i 查询出来的IP,不允许写127.0.0.1,因为集群分不清到底是哪个IP
若在 linux上,如果是同一台机器对应3个端口启动3个nacos服务并且nacos只有一份的话,需要修改启动脚本,通过-p指定端口启动,否则没法启动,修改startup.sh 3个地方:
nohup J A V A − D s e r v e r . p o r t = JAVA -Dserver.port= JAVA−Dserver.port={EMBEDDED_STORAGE} ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &
while getopts “: m:f:s:c:p:” opt
nohup $JAVA -Dserver.port=${EMBEDDED_STORAGE} ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &
启动他们
安装nginx
在linux下安装nginx,首先需要安装 gcc-c++编译器。然后安装nginx依赖的pcre和zlib包。最后安装nginx即可。
1.先安装gcc-c++编译器
yum install gcc-c++
yum install -y openssl openssl-devel
2.再安装pcre包
yum install -y pcre pcre-devel
3.再安装zlib包
yum install -y zlib zlib-devel
下面进行nginx的安装
1.在/usr/local/下创建文件nginx文件
mkdir /usr/local/nginx
2.在网上下nginx包上传至Linux(https://nginx.org/download/),也可以直接下载,下载地址
wget https://nginx.org/download/nginx-1.21.1.tar.gz
3.解压并进入nginx目录
tar -zxvf nginx-1.21.1.tar.gz
cd nginx-1.21.1
4.使用nginx默认配置
./configure
5.编译安装
make
make install
6.查找安装路径
whereis nginx
7.修改nginx.conf配置文件
upstream cluster{ #定义upstream名字,下面会引用
server 192.168.0.159:3333; #指定后端服务器地址
server 192.168.0.159:4444; #指定后端服务器地址
server 192.168.0.159:5555; #指定后端服务器地址
}
server {
listen 1111;
server_name localhost;
location / {
proxy_pass http://cluster; #引用upstream
}
}
整个配置文件
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
upstream cluster{ #定义upstream名字,下面会引用
server 192.168.0.159:3333; #指定后端服务器地址
server 192.168.0.159:4444; #指定后端服务器地址
server 192.168.0.159:5555; #指定后端服务器地址
}
server {
listen 1111;
server_name localhost;
location / {
proxy_pass http://cluster; #引用upstream
}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}
8.启动nginx
cd /usr/local/nginx/sbin
./nginx -c /usr/local/nginx/conf/nginx.conf
9.查看是否启动成功
ps -ef | grep nginx
然后去浏览器访问http://192.168.0.159:1111/nacos/#/login
把9002服务注册进集群nacos
server:
port: 9002
spring:
application:
name: nacos-payment-provider
cloud:
nacos:
discovery:
#配置Nacos地址
#server-addr: localhost:8848
# 换成nginx的1111端口,做集群
server-addr: 192.168.111.144:1111
management:
endpoints:
web:
exposure:
include: '*'
访问http://192.168.0.159:1111/nacos/#/serviceManagement?dataId=&group=&appName=&namespace=
可以看到成功的注册了进来。