Linux版Nacos+Mysql生产环境配置
说明:以下所有涉及文件修改配置的操作,建议先将操作文件进行备份 ,在进行操作,防止污染文件后无可用问题。
在文件所在目录下执行 cp 文件名 备份文件名
例如: cp application.properties application.properties.bk
一.需要1个NGINX + 3个nacos注册中心 + 1个MySQL ( 注意:nginx和MySQL已提前安装)
二.下载Nacos linux 版
下载nacos服务包 nacos-server-1.1.4.tar.gz
解压安装
启动 在bin目录下 (执行用 ./startup.sh)
三.集群配置步骤 重点
1.linux服务器MySQL数据库配置
找到nacos的原语句文件 (nacos自带一个数据库信息,库文件脚本在nacos-mysql.sql里)
在nacos/conf 下的 nacos-mysql.sql 文件 将文件里的脚本 复制粘贴到我们自己的MySQL库里
2.application.properties配置
application.properties文件 在nacos/conf 下的 application.properties 文件
添加配置自己的MySQL连接信息 不要改变其他东西 在文件最下方添加配置
#================================================================
spring.datasource.platfrom=mysql
db.num= 1
db.url.0= jdbc:mysql://127.0.0.1:3306/数据库名称?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user= root
db.password= 123456
3.nacos的集群配置cluster.conf 即梳理出3台nacos集群的不同服务端口号
复制出cluster.conf 文件
添加配置 注意IP最好不要写 127.0.0.1
可以在nacos/conf下执行 hostname - i 查询具体IP
IP:指定的端口号
例如:
192.168.0.245:3333
192.168.0.245:4444
192.168.0.245:5555
保存退出。
4.编辑nacos的启动脚本startup.sh,使他能够接受不同的启动端口 (此过程特别注意,最容易出错,出问题)
找到在bin目录下 startup.sh 文件
修改
while getopts ":m: f: s " opt
为
while getopts ":m: f: s: p: " opt
添加:
p) PORT=$OPTARG;;
在文件尾
# start 下 修改
nohup $JAVA ${ JAVA_OPT} nacos.nacos >> ${ BASE_DIR}/logs/start.out 2>&1 &
为
nohup $JAVA -Dserver.port=${PORT} ${ JAVA_OPT} nacos.nacos >> ${ BASE_DIR}/logs/start.out 2>&1 &
保存退出
(执行时绑定端口执行 ./startup.sh -p 3333)
5.NGINX的配置,由他作为负载均衡器
修改nginx.conf 文件
upstream cluster{
server 127.0.0.1:3333;
server 127.0.0.1:4444;
server 127.0.0.1:5555;
}
server{
listen 1111;
location / {
proxy_pass http://cluster
}
}
保存退出 (修改文件启动命令 ./nginx -s reload)
按指定路径启动 在nginx sbin目录下执行 ./nginx - c /usr/local/nginx/conf/nginx.conf
6.检查防火墙的状态。有时打开防火墙外部不能访问。
防火墙的命令:
查看防火墙状态 systemctl status firewalld
开启防火墙 systemctl start firewalld
关闭防火墙 systemctl stop firewalld
开启防火墙 service firewalld start
禁止开机启动防火墙 systemctl disable firewalld.service
先用:systemctl unmask firewalld.service
然后:systemctl start firewalld.service
7.查看对应需要使用的服务的端口号是否对外开放。(此过程特别注意,最容易遗漏忘记!!!!!我在这一步花费大量时间)
命令:
1.查询已经对外开放的端口
netstat -anp
2.查询指定端口是否已经开放
firewall-cmd --query-port=端口/tcp
返回yes/no。此时也有可能返回firewalld is not running,此时需要打开防火墙在开放端口。
开放端口号命令:
添加指定需要开放的端口:
firewall-cmd --add-port=端口/tcp --permanent
重载入添加的端口:
firewall-cmd --reload
查询指定端口是否开启成功:
firewall-cmd --query-port=端口/tcp
8.启动环境
先启动nacos 进入nacos/bin目录下依次执行
./startup.sh -p 3333
./startup.sh -p 4444
./startup.sh -p 5555
启动nginx 进入nginx 的 sbin目录 下执行
./nginx - c /usr/local/nginx/conf/nginx.conf
9.访问nginx地址 服务ip:1111 例如:192.168.0.245:1111/nacos
登录测试 新增一条,查看数据库是否入库。
使用对应项目测试 确认是否将项目注册到nacos服务中
修改yal文件 nacos地址改为 nginx 地址 192.168.0.245:1111
测试完成,代表集群搭建完成。