1、GitHub下载Nacos安装包
(https://github.com/alibaba/nacos/releases)
这次下载的版本:https://github.com/alibaba/nacos/releases/tag/2.3.2
https://github.com/alibaba/nacos/releases/download/2.3.2/nacos-server-2.3.2.tar.gz
#根据版本修改路径中的2.3.2
[root@anolis8 ~]# wget https://github.com/alibaba/nacos/releases/download/2.3.2/nacos-server-2.3.2.tar.gz
[root@anolis8 ~]# tar -zxvf nacos-server-2.3.2.tar.gz
nacos/LICENSE
nacos/NOTICE
nacos/target/nacos-server.jar
nacos/conf/
nacos/conf/derby-schema.sql
nacos/conf/1.4.0-ipv6_support-update.sql
nacos/conf/application.properties.example
nacos/conf/nacos-logback.xml
nacos/conf/mysql-schema.sql
nacos/conf/cluster.conf.example
nacos/conf/application.properties
nacos/bin/startup.sh
nacos/bin/startup.cmd
nacos/bin/shutdown.sh
nacos/bin/shutdown.cmd
[root@anolis8 ~]# mv nacos /usr/local/
[root@anolis8 ~]# cd /usr/local/nacos/conf/
[root@anolis8 conf]# ll
总用量 104K
-rw-r--r-- 1 502 games 1.2K 2月 6 09:58 1.4.0-ipv6_support-update.sql
-rw-r--r-- 1 502 games 154 2月 27 16:02 announcement_en-US.conf
-rw-r--r-- 1 502 games 127 2月 27 16:02 announcement_zh-CN.conf
-rw-r--r-- 1 502 games 13K 4月 22 10:10 application.properties
-rw-r--r-- 1 502 games 11K 2月 6 09:58 application.properties.example
-rw-r--r-- 1 502 games 670 2月 6 09:58 cluster.conf.example
-rw-r--r-- 1 502 games 300 2月 6 09:58 console-guide.conf
-rw-r--r-- 1 502 games 8.8K 2月 6 09:58 derby-schema.sql
-rw-r--r-- 1 502 games 11K 2月 6 09:58 mysql-schema.sql
-rw-r--r-- 1 502 games 32K 2月 6 09:58 nacos-logback.xml
2、在/usr/local/nacos/conf/下找到mysql-schema.sql,在已经安装好的mysql数据库中建立数据库,新增用户名密码授权,执行sql脚本
数据库名nacos_config
字符集utf8mb4
排序规则utf8mb4_general_ci
3、修改conf下的application.properties配置文件
#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
### Deprecated configuration property, it is recommended to use `spring.sql.init.platform` replaced.
# spring.datasource.platform=mysql
spring.sql.init.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://172.16.17.210:3306/nacos_232?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=nacos
db.password.0=nacos
注意数据库版本,是否mysql8以上。
放开数据库配置,并修改为上面定义的数据配置信息保存
4、开放8848、9848、9849、7848端口
firewall-cmd --zone=public --add-port=8848/tcp --permanent
firewall-cmd --zone=public --add-port=9848/tcp --permanent
firewall-cmd --zone=public --add-port=9849/tcp --permanent
firewall-cmd --zone=public --add-port=7848/tcp --permanent
systemctl restart firewalld
5、启动nacos
#修改startup.sh在29行修改
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java
修改为
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/local/jdk1.8.0_11
--------------------
/usr/local/jdk1.8.0_11 为本机的 JAVA_HOME
--------------------
cd ../bin
sh startup.sh -m standalone
6、验证(换成自己的IP,默认用户名密码 nacos/nacos)
http://172.16.17.222:8848/nacos/
7、集群配置
在/usr/local/nacos/conf目录下修改cluster.conf文件
[root@nacos1 conf]# vim cluster.conf
添加如下配置
2024-04-22T10:03:57.892
172.16.17.222:8848
172.16.17.223:8848
172.16.17.224:8848
保存后退出。
8、配置为service服务
#建立service文件
vim /lib/systemd/system/nacos.service
[Unit]
Description=nacos
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nacos/bin/startup.sh
ExecReload=/usr/local/nacos/bin/shutdown.sh
ExecStop=/usr/local/nacos/bin/shutdown.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target
如果是单机模式这个语句需要修改为如下,ExecStart=/usr/local/nacos/bin/startup.sh -m standalone
[Unit]
Description=nacos
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nacos/bin/startup.sh -m standalone
ExecReload=/usr/local/nacos/bin/shutdown.sh
ExecStop=/usr/local/nacos/bin/shutdown.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target
保存后执行以下命令
加载新建的nacos.service
systemctl daemon-reload
设置nacos.service 为开机启动
systemctl enable nacos.service
开启nacos.service服务
systemctl start nacos.service
关闭nacos.service服务
systemctl stop nacos.service
查看 nacos.service服务状态
systemctl status nacos.service -l
9、其他使用设置
参考
https://blog.csdn.net/xionglangs/article/details/118145684
10、配置nginx负载均衡
https://www.jianshu.com/p/3ab9ef944c65
11、关于鉴权
官方文档
https://nacos.io/zh-cn/docs/v2/guide/user/auth.html
nacos2.3.2版本安装后默认是没有开启鉴权的,也就是访问是不需要账号密码登录的!可以直接访问。
要开启鉴权需要根据官方文档配置:
修改/usr/local/nacos/conf/application.properties配置文件
#参数名
nacos.core.auth.enabled #145行
#默认值
false #默认不开启
#功能
是否开启鉴权功能
改为:nacos.core.auth.enabled=true
-----------------------
#参数名
nacos.core.auth.system.type=nacos #142行
#默认值
nacos #可选值ldap
#功能
鉴权类型
保持默认
-----------------------
#参数名
nacos.core.auth.enable.userAgentAuthWhite
#默认值
false #151行 默认false
#功能
是否使用useragent白名单,主要用于适配老版本升级,置为true时有安全风险
-----------------------
#参数名
nacos.core.auth.server.identity.key #155行
#默认值
serverIdentity #(2.2.1后无默认值),默认为空
#功能
用于替换useragent白名单的身份识别key,使用默认值有安全风险
-----------------------
#参数名
nacos.core.auth.server.identity.value #156行
#默认值
security #(2.2.1后无默认值),默认为空
#功能
用于替换useragent白名单的身份识别value,使用默认值有安全风险
-----------------------
#参数名
nacos.core.auth.plugin.nacos.token.secret.key #163行
#默认值
SecretKey012345678901234567890123456789012345678901234567890123456789(2.2.1后无默认值)) #默认为空
#功能
默认鉴权插件用于生成用户登陆临时accessToken所使用的密钥,使用默认值有安全风险
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
-----------------------
#参数名
nacos.core.auth.plugin.nacos.token.expire.seconds
#默认值
18000 #154行,默认18000
#功能
用户登陆临时accessToken的过期时间
修改后的配置片段如图
保存退出后,再启动nacos服务就需要账号密码登录了,默认是账号nacos 密码nacos