1 准备
环境:centos7,nacos tar包:nacos-server-1.3.1.tar.gz、mysql5.7.30 码包
下载https://github.com/alibaba/nacos/releases nacos-server-1.3.1.tar.gz 源
进入/opt目录
[root@localhost nacos]# cd /opt/
[root@localhost opt]# ls
[root@localhost opt]# ls
nacos-server-1.3.1.tar.gz
[root@localhost opt]# tar -zxvf nacos-server-1.3.1.tar.gz
图:
不直接操作nacos,复制一份,执行命令:cp -r nacos /usr/local/fire/nacos/ ; (/下存在/usr/local/fire目录 (/nacos会自己生成))
2 集群配置
2.1 建库建表
linux上安装一个mysql数据库,新建一个nacos_config库,执行/usr/local/fire/nacos/conf路径下的nacos-mysql.sql(或自己准备好的sql)。
2.2 修改application.properties
修改/usr/local/fire/nacos/conf的application.properties配置文件(保险起见,自己先备份一份该文件)。
备份配置文件:cp application.properties application.properties.bk
修改配置文件:vi application.properties
在配置文件中添加内容如下(其实application.properties配置中有对应的配置,被注释了,自己自己打开注释并做对应的修改即可):
// 实际环境需要修改
###################################################
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://1.1.1.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root
2.3 集群配置cluster.cnf
拷贝/usr/local/fire/nacos/conf下的cluster.conf.example为cluster.conf,在cluster.conf添加集群配置,配置如下图:
分别配置三台不同的主机,端口可以一样,也可以不一样
配置比较简单,只要ip:port的形式就可以,官网要求集群配置至少要三个。需要注意的是,ip不能用127.0.0.1:port形式。
2.4 启动脚本startup.sh配置
进入/usr/local/fire/nacos/bin目录,修改startup.sh(修改前备份一份)
修改前1:
修改后1:
一定要加最上面那一行:
export SERVER_PORT=""
d)
SERVER_PORT=$OPTARG;;
JAVA_OPT="${JAVA_OPT} -Dserver.port=8848"
JAVA_OPT="${JAVA_OPT} -Dnacos.server.ip=192.168.xx.xx"
修改前2:
修改后2:
-Dserver.port=${SERVER_PORT}
默认关于JVM的几个参数设置的过大,要是虚拟机内存不够,可以自己调整一下。
说明:
-Xms500m:-Xms 为jvm启动时分配的内存,比如-Xms500m,表示分配500M。
-Xmx500m:-Xmx为jvm运行过程中最大可以使用的内存,如果程序运行需要更大的内存,超出该值,那么就会抛出OOM异常。
-Xmn256m:-Xmn表示年轻代大小。堆大小=年轻代大小 + 年老代大小 + 持久代大小 。持久代一般大小固定为64m,所以当增大年轻代后,将会减小年老代大小。该值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。
2.5 Nginx配置
进入/usr/local/nginx/conf,修改nginx.conf配置文件,主要修改的地方在http块。
Nginx安装
https://blog.csdn.net/bighuan/article/details/106601905
配置:
-1 启动命令
在/usr/local/nginx/sbin 目录下执行 ./nginx
-2 关闭命令
在/usr/local/nginx/sbin 目录下执行 ./nginx -s stop
-3 重新加载命令
在/usr/local/nginx/sbin 目录下执行 ./nginx -s reload
-4 查看版本
./nginx -v;
问题1:
// centos启动Nginx提示nginx: [emerg] still could not bind()
// 同时页面访问也会出现 nginx 403 Forbidden
[root@xyw-cyck-cms-3 ~]# /usr/local/nginx/sbin/nginx
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
解决办法:
根据Nginx配置文件查看配置的端口(本文中使用的是80端口),然后根据端口查看端口占用情况
[root@xyw-cyck-cms-3 ~]# netstat -ntlp|grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 7043/nginx: worker
使用kill命令杀死占用进程,之后重新启动Nginx
kill -9 7043
2.6 启动集群
2.6.1 启动nacos集群
进入nacos的/usr/local/fire/nacos/bin目录,
http://192.168.xx.xx:1111/nacos/#/login