1、安装jdk
参考文章: Centos安装JDK1.8
2、安装MySQL
参考文章: Centos安装MySQL
2.1、docker安装MySQL
- 下载镜像文件
docker pull mysql:5.7
- 创建实例并启动
参数说明docker run -p 3306:3306 --name mysql \ -v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码 - MySQL 配置
vi /mydata/mysql/conf/my.cnf
注意:解决 MySQL 连接慢的问题[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8 collation-server=utf8_unicode_ci skip-character-set-client-handshake skip-name-resolve
在配置文件中加入如下,并重启 mysql
[mysqld]
skip-name-resolve
解释:
skip-name-resolve:跳过域名解析 - 通过容器的 mysql 命令行工具连接docker exec -it mysql mysql -uroot -proot
- 设置 root 远程访问
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option; flush privileges;
- 进入容器文件系统
docker exec -it mysql /bin/bash
3、安装Nginx
参考文章: Centos安装Nginx
- 配置Nginx配置文件
- 启动Nginx
./nginx
- 具体含义可参考该文章: Nginx
4、安装Nacos
-
下载地址(我下的是2.0.3版本): Nacos版本下载地址
-
下载完成后,放到虚拟机的某个目录,进行解压 nacos-server-2.0.3.tar.gz
tar -zxvf nacos-server-2.0.3.tar.gz
-
nacos配置mysql数据库
- 我使用的是docker安装的MySQL数据库,需要进入容器后,查看容器ip,如果是Centos安装的MySQL,ip就是127.0.0.1.
- 进入nacos目录下的conf目录下
- 配置application.properties文件(最好备份一份 cp application.properties application.properties. init)
- 我使用的是docker安装的MySQL数据库,需要进入容器后,查看容器ip,如果是Centos安装的MySQL,ip就是127.0.0.1.
-
nacos的集群配置cluster.conf
- 配置cluster.conf(最好备份一份 cp cluster.conf cluster.conf.init),配置内容如下(配置的是本机真实ip,不能用localhost和127.0.0.1 ,暂时不清楚为什么是这样):
- 上述ip可以通过命令查看,地址如下(如果用第二192.168.56.10,会出现一些问题,集群部署后,会有ip为10.0.2.15:3333等多个nacos被启动,暂时不清楚这个原因):
- 配置cluster.conf(最好备份一份 cp cluster.conf cluster.conf.init),配置内容如下(配置的是本机真实ip,不能用localhost和127.0.0.1 ,暂时不清楚为什么是这样):
-
编辑Nacos的启动脚本startup.sh,使它能够接受不同的启动端口
-
进入nacos安装目录下的bin目录下,编辑 startup.sh(建议这个启动文件快照或者cp startup.sh startup.sh.bk一份)
while getopts ":m:f:s:c:p:o:" opt do case $opt in m) MODE=$OPTARG;; f) FUNCTION_MODE=$OPTARG;; s) SERVER=$OPTARG;; c) MEMBER_LIST=$OPTARG;; p) EMBEDDED_STORAGE=$OPTARG;; o) PORT=$OPTARG;; ?) echo "Unknown parameter" exit 1;; esac done
# start echo "$JAVA $JAVA_OPT_EXT_FIX ${JAVA_OPT}" > ${BASE_DIR}/logs/start.out 2>&1 & nohup "$JAVA" -Dserver.port=${PORT} "$JAVA_OPT_EXT_FIX" ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 & echo "nacos is starting,you can check the ${BASE_DIR}/logs/start.out"
-
-
复制当前Nacos文件夹复制两份(如果都在一个文件夹启动一个会报错)
-
启动第一个能成功,如果在当前文件夹下启动第二个,当启动报错信息如下(打印日志,可以进入nacos目录下的log文件夹下的naocs.log文件或者查看Nacos2.0.3的日志(如果没启动Nacos是不会有logs/start.out这个文件的)):
./startup.sh -o 3333
-
分别在不同的copy的nacos文件夹下的startup.sh启动,指定端口号 ./startup.sh -o 端口号。启动成功查看日志,都会出现下图。可以在访问:http://虚拟机ip:3333/nacos/#/login 、http://虚拟机ip:4444/nacos/#/login 、http://虚拟机ip:5555/nacos/#/login,如果都能访问成功,证明集群搭建成功。
#查看启动nacos实例 ps -ef|grep nacos|grep -v grep
-
-
使用Nginx访问,实现负载均衡效果。之后环境需要配置即可配置该地址即可,实现了nacos集群环境的搭建和使用。