1. 安装JDK环境
tar -xf jdk-8u201-linux-x64.tar.gz -C /usr/local/
ln -sv /usr/local/jdk1.8.0_201 /usr/local/jdk8
vim /etc/profile.d/java.sh
export JDK_HOME=/usr/local/jdk8
export PATH=$PATH:$JDK_HOME/bin
export CLASSPATH=.:$JDK_HOME/lib/dt.jar:$JDK_HOME/lib/tools.jar
source /etc/profile.d/java.sh
java -version
2. 部署MySQL服务
# 略过具体安装步骤
3. 创建Nacos数据库
wget https://raw.githubusercontent.com/alibaba/nacos/refs/tags/2.2.0/distribution/conf/mysql-schema.sql
mysql -uroot -p
CREATE DATABASE IF NOT EXISTS nacos_config DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;
use nacos_config;
source /root/mysql-schema.sql;
CREATE USER 'nacos_user'@'%' IDENTIFIED BY 'SecurePass123!';
GRANT ALL PRIVILEGES ON nacos_config.* TO 'nacos_user'@'%';
FLUSH PRIVILEGES;
exit;
4. 下载与配置Nacos
wget https://github.com/alibaba/nacos/releases/download/2.2.0/nacos-server-2.2.0.tar.gz
tar -xf nacos-server-2.2.0.tar.gz -C /usr/local
cd /usr/local/nacos/conf
cp cluster.conf.example cluster.conf
vim cluster.conf
192.168.200.101:8848
192.168.200.102:8848
192.168.200.103:8848
vim application.properties
# 数据库配置
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.200.101:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=nacos_user
db.password.0=SecurePass123!
# 认证配置
nacos.core.auth.system.type=mysql
nacos.core.auth.enabled=true
nacos.core.auth.caching.enabled=true
nacos.core.auth.enable.userAgentAuthWhite=false
nacos.core.auth.server.identity.key=NacosServerAuthKey
nacos.core.auth.server.identity.value=AbcDefGhiJklMno
nacos.core.auth.plugin.nacos.token.expire.seconds=18000
nacos.core.auth.plugin.nacos.token.secret.key=XYZzyxWVUtsrqponmlkjihgfedcba
# 分发到其他节点
scp -r /usr/local/nacos/ 192.168.200.102:/usr/local/
scp -r /usr/local/nacos/ 192.168.200.103:/usr/local/
5. 启动与验证
cd /usr/local/nacos/bin
sh startup.sh
tail -f /usr/local/nacos/logs/start.out
# 查看启动日志
6. 配置代理服务
# 配置TCP代理到所有节点的8848端口
7. 配置systemd服务托管
vim /etc/systemd/system/nacos.service
[Unit]
Description=Nacos Server
After=syslog.target
After=network.target
[Service]
User=nacos
Group=nacos
Type=forking
Environment="JDK_HOME=/usr/local/jdk8"
ExecStart=/usr/local/nacos/bin/startup.sh -m standalone
ExecStop=/usr/local/nacos/bin/shutdown.sh
KillMode=mixed
KillSignal=SIGTERM
TimeoutStopSec=30
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
# 重新加载服务配置
systemctl daemon-reload
# 启动服务
systemctl start nacos
# 查看服务状态
systemctl status nacos
# 查看端口监听情况
netstat -tnlp