1、系统环境及软件版本
2、安装前准备
# 修改系统主机名称
hostnamectl set-hostname nacos
# 安装必要软件包
dnf install vim curl wget -y3、安装jdk17
根据系统选择合适的版本下载,此处我们选择 清华源的linux压缩包版本下载
wget https://mirrors.tuna.tsinghua.edu.cn/Adoptium/17/jdk/x64/linux/OpenJDK17U-jdk_x64_linux_hotspot_17.0.18_8.tar.gz
# 解压软件包
tar zxf OpenJDK17U-jdk_x64_linux_hotspot_17.0.18_8.tar.gz -C /usr/local/
# 创建软连接
ln -s /usr/local/jdk-17.0.18+8 /usr/local/java按照官网提示内容 配置
# 配置环境变量
echo 'export JAVA_HOME=/usr/local/java' >> ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
# 验证java版本
java -version4、离线安装nacao3
从github下载对应release版本
# 下载压缩包
wget https://github.com/alibaba/nacos/releases/download/3.1.1/nacos-server-3.1.1.tar.gz
# 解压
tar zxf nacos-server-3.1.1.tar.gz -C /usr/local/
由于Nacos从3.0.0版本开始默认启用控制台鉴权功能,因此如下3个鉴权相关配置必须填写
`nacos.core.auth.plugin.nacos.token.secret.key` is missing, please set with Base64 string: ${your_input_token_secret_key}
nacos.core.auth.plugin.nacos.token.secret.key` Updated:
----------------------------------
`nacos.core.auth.server.identity.key` is missing, please set: ${your_input_server_identity_key}
`nacos.core.auth.server.identity.key` Updated:
----------------------------------
`nacos.core.auth.server.identity.value` is missing, please set: ${your_input_server_identity_key}
`nacos.core.auth.server.identity.value` Updated:
----------------------------------你也可以在conf/application.properties直接修改这三个变量
修改后直接运行(以单机模式)
sh startup.sh -m standalone
显示下面行表示启动成功
INFO Nacos started successfully in stand alone mode with embedded storage in 9221 ms
关闭服务
sh shutdown.sh
编写systemd自启动文件
sudo tee /etc/systemd/system/nacos.service << 'EOF'
[Unit]
Description=Nacos Server (running as root)
Documentation=https://nacos.io
After=network.target
[Service]
Type=forking
# 不指定 User/Group,默认以 root 运行
WorkingDirectory=/usr/local/nacos
Environment="JAVA_HOME=/usr/local/java"
Environment="PATH=/usr/local/java/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
ExecStart=/usr/local/nacos/bin/startup.sh -m standalone
ExecStop=/usr/local/nacos/bin/shutdown.sh
Restart=on-failure
RestartSec=10
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
EOF# 配置生效并启动
systemctl daemon-reload
systemctl enable --now nacos.service5、生产环境使用mysql数据库
5.1、离线安装mysql8
先去官网上下载mysql8的离线安装包
下载地址:https://dev.mysql.com/downloads/mysql/
归档版本:https://downloads.mysql.com/archives/community/
我们选择community server下载,版本此次选择mysql 8.0.43 。
查看glibc版本
ldd --version
直接调用glibc
/lib/x86_64-linux-gnu/libc.so.6 或者 /lib64/libc.so.6
查看到glibc 2.28
# 检查并移除系统自带mariadb和mysql
[root@localhost ~]# rpm -qa | grep mariadb
mariadb-common-10.3.39-1.p02.ky10.x86_64
mariadb-connector-c-3.0.6-9.ky10.x86_64
mariadb-errmessage-10.3.39-1.p02.ky10.x86_64
mariadb-server-10.3.39-1.p02.ky10.x86_64
mariadb-10.3.39-1.p02.ky10.x86_64
[root@localhost ~]# rpm -qa | grep mysql
qt5-qtbase-mysql-5.11.1-20.p01.ky10.x86_64
python2-mysqlclient-1.3.12-8.ky10.x86_64
# 移除
sudo yum remove \
mariadb-server \
mariadb \
mariadb-common \
mariadb-connector-c \
mariadb-errmessage \
-y# 下载压缩包 选择linux generic glibc2.28
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.43-linux-glibc2.28-x86_64.tar.xz
# 解压
tar xf mysql-8.0.43-linux-glibc2.28-x86_64.tar.xz -C /usr/local
# 创建软连接
ln -s /usr/local/mysql-8.0.43-linux-glibc2.28-x86_64/ /usr/local/mysql
# 创建数据目录及用户
groupadd mysql
useradd -g mysql -s /sbin/nologin mysql
mkdir -p /var/log/mysql
chown -R mysql.mysql /usr/local/mysql
chown -R mysql.mysql /var/log/mysql配置环境变量
echo 'export MYSQL_HOME=/usr/local/mysql' >> /etc/profile
echo 'export PATH=$MYSQL_HOME/bin:$PATH' >> /etc/profile
source /etc/profile修改配置文件
cat > /etc/my.cnf << 'EOF'
[mysqld]
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/data/mysql.sock
innodb_file_per_table=on
character-set-server=utf8mb4
log-error=/var/log/mysql/mysql.log
pid-file=/usr/local/mysql/data/mysql.pid
[client]
port=3306
socket=/usr/local/mysql/data/mysql.sock
default-character-set=utf8mb4
EOF
chmod 644 /etc/my.cnf执行数据库初始化
/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --user=mysql --initialize初始化完成后,/var/log/mysql/mysql.log 会自动生成默认 root 密码
也可以使用--initialize-insecure 参数会生成空密码
创建systemd启动文件
cat > /etc/systemd/system/mysql.service << 'EOF'
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
Type=notify
# Disable service start and stop timeout logic of systemd for mysqld service.
TimeoutSec=0
# Execute pre and post scripts as root
PermissionsStartOnly=true
# Start main service
ExecStart=/usr/local/mysql/bin/mysqld $MYSQLD_OPTS
# Use this to switch malloc implementation
EnvironmentFile=-/etc/sysconfig/mysql
# Sets open_files_limit
LimitNOFILE = 10000
Restart=on-failure
RestartPreventExitStatus=1
# Set enviroment variable MYSQLD_PARENT_PID. This is required for restart.
Environment=MYSQLD_PARENT_PID=1
PrivateTmp=false
EOF# 配置生效
systemctl daemon-reload
#启动mysqld服务
systemctl start mysql
#查看mysqld服务状态
systemctl status mysql
#开机启动mysqld服务
systemctl enable mysql修改密码与远程登录
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
CREATE USER 'root'@'%' IDENTIFIED BY '新密码';
GRANT ALL PRIVILEGES ON *.* TO 'root';
flush privileges;5.2、nacos3配置环境修改为mysql数据库
在mysql中创建nacos数据库
mysql -u root -p
create database nacos;
将nacos 目录下的conf/mysql-schema.sql 导入mysql 初始化 表结构和数据
mysql -u root -p nacos < /usr/local/nacos/conf/mysql-schema.sql
修改配置文件
/usr/local/nacos/conf/application.properties
spring.sql.init.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=nacos
db.password=nacos