文章目录
nacos在VM centOS7 中安装
单节点
准备
- nacos-server-2.0.4.tar.gz 安装包
- mysql-8.0.28-el7-x86_64.tar.gz 安装包
- java 8 + 环境
安装java环境
具体详见 centerOs7安装相关的应用脚本
安装mysql
具体详见 centerOs7安装相关的应用脚本
nacos 单节点安装
-
在 /usr/local/ 下创建 nacos 文件夹。
-
将安装包 **nacos-server-2.0.4.tar.gz ** 上传到虚拟机的 /usr/local/nacos/ 目录下。
-
使用以下命令解压上传的压缩包
tar-zxvf /usr/local/nacos/nacos-server-2.0.4.tar.gz
-
登录到MySQL中,并在MySQL中创建一个名为 nacos-config 的数据库,执行以下sql语句创建nacos的数据库。
create database nacos-mysql; use nacos-mysql; source /usr/local/nacos/nacos/conf/nacos-mysql.sql; exit;
注意:nacos的数据库脚本存放地址在 /usr/local/nacos/nacos/conf/ 目录下 ,如果不在,则将source的路径改成对应nacos-mysql.sql所在的路径
-
进入 /usr/local/nacos/nacos/conf/ 修改application.properties 文件中nacos的默认配置。
找到以下对应位置,并修改mysql的配置
#*************** 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_config?characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user.0=root db.password.0=root # 数据库连接池的配置 ### Connection pool configuration: hikariCP db.pool.config.connectionTimeout=30000 db.pool.config.validationTimeout=10000 db.pool.config.maximumPoolSize=20 db.pool.config.minimumIdle=2
如下图:
-
单节点方式启动nacos, 进入**/usr/local/nacos/nacos/bin** 目录后,使用以下命令:
sh startup.sh -m standalone &
-
防火墙放通 8848 和 9848 两个端口,其他的端口建议开放3306 等常用的端口,我的端口开放如下:
端口开放脚本具体详见 centerOs7安装相关的应用脚本
-
配置开机自启nacos 。创建自启文件
vim /lib/systemd/system/nacos.service
-
在文件中填入以下内容
[Unit] Description=nacos After=network.target [Service] Type=forking ExecStart=/usr/local/nacos/nacos/bin/startup.sh -m standalone ExecReload=/usr/local/nacos/nacos/bin/shutdown.sh ExecStop=/usr/local/nacos/nacos/bin/shutdown.sh PrivateTmp=true [Install] WantedBy=multi-user.target
-
加载server
systemctl daemon-reload
-
开机启动
systemctl enable nacos.service
-
查看开机启用是否设置成功
systemctl is-enabled nacos.service
-
查看nacos自启状态
systemctl status nacos.service
验证
登录nacos管理界面
在浏览器上访问:http://虚拟机IP地址:8848/nacos/index.html#/login
初始账号密码都是:nacos
集群
将安装了单节点nacos的虚拟机克隆3台。
将这三台克隆的nacos自启脚本修改为集群启动方式。修改/lib/systemd/system/nacos.service 。
即单节点的第九步。改成如下:
[Unit]
Description=nacos
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nacos/nacos/bin/startup.sh -m cluster
ExecReload=/usr/local/nacos/nacos/bin/shutdown.sh
ExecStop=/usr/local/nacos/nacos/bin/shutdown.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target
进入 /usr/local/nacos/nacos/conf/ 中,复制一份cluster.conf.example 集群配置文件,重命名为cluster.conf
在cluster.conf 中添加3台虚拟机对应nacos的IP:端口。
例如我的三台虚拟机的nacos的IP端口如下表:
ip | 端口 |
---|---|
192.168.83.156 | 8848 |
192.168.83.157 | 8848 |
192.168.83.158 | 8848 |
如下图:
当三台虚拟机中的配置端口完成后启动nacos
以集群的方式启动nacos
sh /usr/local/nacos/nacos/bin/startup.sh -m cluster
以集群的方式启动nacos
sh /usr/local/nacos/nacos/bin/startup.sh -m cluster
启动后访问其中一个节点的管理界面,看到如下则说明集群创建成功:
整理了一个启动脚本
#!/bin/bash
systemctl start firewalld.service
firewall-cmd --state #查看防火墙firewall运行状态
firewall-cmd --add-port=3306/tcp
firewall-cmd --add-port=8848/tcp
firewall-cmd --add-port=9848/tcp
firewall-cmd --add-port=7848/tcp
firewall-cmd --add-port=22/tcp
firewall-cmd --add-port=80/tcp
firewall-cmd --list-all
echo '开始纠正服务器时间:'
# 安装ntp
sudo yum -y install ntp
# 将服务器的时区设置为上海
timedatectl set-timezone Asia/Shanghai
read -p '是否使用网络上的时间校准服务器【服务器地址:pool.ntp.org】?(是:y 否:n):' types
if [ 'y' == ${types} ]
then
ntpdate pool.ntp.org
echo "系统当前时间:"
date "+%Y-%m-%d %H:%M:%S"
else
read -p '请输入校准时间服务器的IP地址:' timeIp
if [ -z ${timeIp}]
then
echo '未输入校准时间服务器的IP地址'
exit 1001
fi
ntpdate ${timeIp}
echo "系统当前时间:"
date "+%Y-%m-%d %H:%M:%S"
fi
echo '时间纠正完毕'
read -p '请选择启动nacos的方式:1.单节点启动 2.集群启动; 请输入:' startType
rm -rf /lib/systemd/system/nacos.service
touch /lib/systemd/system/nacos.service
if [ 1 == ${startType} ]
then
echo "[Unit]">>/lib/systemd/system/nacos.service
echo "Description=nacos">>/lib/systemd/system/nacos.service
echo "After=network.target">>/lib/systemd/system/nacos.service
echo "[Service]">>/lib/systemd/system/nacos.service
echo "Type=forking">>/lib/systemd/system/nacos.service
echo "ExecStart=/usr/local/nacos/nacos/bin/startup.sh -m standalone">>/lib/systemd/system/nacos.service
echo "ExecReload=/usr/local/nacos/nacos/bin/shutdown.sh">>/lib/systemd/system/nacos.service
echo "ExecStop=/usr/local/nacos/nacos/bin/shutdown.sh">>/lib/systemd/system/nacos.service
echo "PrivateTmp=true">>/lib/systemd/system/nacos.service
echo "[Install]">>/lib/systemd/system/nacos.service
echo "WantedBy=multi-user.target">>/lib/systemd/system/nacos.service
systemctl daemon-reload
systemctl enable nacos.service
systemctl is-enabled nacos.service
systemctl status nacos.service
sh /usr/local/nacos/nacos/bin/startup.sh -m standalone &
echo '单节点启动nacos: sh /usr/local/nacos/nacos/bin/startup.sh -m standalone &'
else
echo "[Unit]">>/lib/systemd/system/nacos.service
echo "Description=nacos">>/lib/systemd/system/nacos.service
echo "After=network.target">>/lib/systemd/system/nacos.service
echo "[Service]">>/lib/systemd/system/nacos.service
echo "Type=forking">>/lib/systemd/system/nacos.service
echo "ExecStart=/usr/local/nacos/nacos/bin/startup.sh -m cluster">>/lib/systemd/system/nacos.service
echo "ExecReload=/usr/local/nacos/nacos/bin/shutdown.sh">>/lib/systemd/system/nacos.service
echo "ExecStop=/usr/local/nacos/nacos/bin/shutdown.sh">>/lib/systemd/system/nacos.service
echo "PrivateTmp=true">>/lib/systemd/system/nacos.service
echo "[Install]">>/lib/systemd/system/nacos.service
echo "WantedBy=multi-user.target">>/lib/systemd/system/nacos.service
systemctl daemon-reload
systemctl enable nacos.service
systemctl is-enabled nacos.service
systemctl status nacos.service
sh /usr/local/nacos/nacos/bin/startup.sh -m cluster
echo '集群启动nacos: sh /usr/local/nacos/nacos/bin/startup.sh -m cluster'
fi
#cd /usr/local/nacos/nacos/bin/
#systemctl status nacos.service