一、下载 Nacos
可以看到当前最新版本是 2.0.3
往下滑
二、解压并移动
下载完成后将其解压
tar -zxvf nacos-server-2.0.3.tar.gz
解压完成后将其移动到 /usr/local
并重命名
sudo mv nacos/ /usr/local/Nacos_2.0.3
三、连接数据库
打开 conf 目录下的 .sql 文件,可以看到需要创建的数据库名称
导入 .sql 文件
导入成功后进入 Nacos 的 conf 目录下,在 application.properties
文件中修改配置
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.0.103:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=root
输入
sudo ifconfig
可以查看 IP 地址,如果显示找不到命令,输入sudo apt install net-tools
安装
四、启动测试
注:需要提前配置好 JDK 和 Maven
JDK 环境配置
Maven 环境配置
进入 bin 目录启动 Nacos
sh startup.sh -m standalone
或 bash startup.sh -m standalone
稍等一会,输入 vim /usr/local/Nacos_2.0.3/logs/start.out
查看是否启动成功
启动成功访问 http://****:8848/nacos/index.html
,登录的用户名和密码默认的都是 nacos
五、问题解决
1. Could not create the Java Virtual Machine
nacos 启动后浏览网站却无法打开,查看 /usr/local/Nacos_2.0.3/logs/start.out
,看文件中提示具体什么错误
usr/local/JDK_11.0.12/bin/java -Djava.ext.dirs=/usr/local/JDK_11.0.12/jre/lib/ext:/usr/local/JDK_11.0.12/lib/ext -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/local/Nacos_2.0.3/logs/java_heapdump.hprof -XX:-UseLargePages -Dnacos.member.list= -Xloggc:/usr/local/Nacos_2.0.3/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dloader.path=/usr/local/Nacos_2.0.3/plugins/health,/usr/local/Nacos_2.0.3/plugins/cmdb -Dnacos.home=/usr/local/Nacos_2.0.3 -jar /usr/local/Nacos_2.0.3/target/nacos-server.jar --spring.config.additional-location=file:/usr/local/Nacos_2.0.3/conf/ --logging.config=/usr/local/Nacos_2.0.3/conf/nacos-logback.xml --server.max-http-header-size=524288
-Djava.ext.dirs=/usr/local/JDK_11.0.12/jre/lib/ext:/usr/local/JDK_11.0.12/lib/ext is not supported. Use -classpath instead.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
错误:无法创建Java虚拟机。
错误:发生致命异常。 程序将会退出。
解决方案:
修改 startup.sh
中JDK的文件路径
2. 找不到或无法加载主类 java.lang.ClassNotFoundException
vim 打开 /usr/local/Nacos_2.0.3/logs/start.out
,发现报错:找不到或无法加载主类
原因可能是 Nacos 和 JDK 11 不兼容导致的,需要修改 bin 目录下的 startup.sh
文件。
- 将
JAVA_ OPT_ EXT_ FIX="-Djava.ext.dirs=${JAVA_ HOME}/jre/lib/ext:${JAVA_ HOME}/lib/ext"
改为:JAVA_ OPT="${JAVA_ OPT} -Djava.ext.dirs=${JAVA_ HOME}/jre/lib/ext:${JAVA_ HOME}/lib/ext"
- 将
echo "$JAVA $JAVA_ OPT_ EXT_ FIX ${JAVA_ OPT}"
改为echo "$JAVA ${JAVA_ OPT}"
- 将
echo "$JAVA $JAVA_ OPT_ EXT_ FIX ${JAVA_ OPT}" > ${BASE_ DIR}/logs/start.out 2>&1 &
和nohup "$JAVA" "$JAVA_ OPT_ EXT_ FIX" ${JAVA_ OPT} nacos.nacos >> ${BASE_ DIR}/logs/start.out 2>&1 &
改为echo "$JAVA ${JAVA_ OPT}" > ${BASE_ DIR}/logs/start.out 2>&1 &
和nohup $JAVA ${JAVA_ OPT} nacos.nacos >> ${BASE_ DIR}/logs/start.out 2>&1 &
3. No DataSource set
这说明数据库连接配置错误,输入 sh shutdown.sh
停掉 nacos 服务,
输入 ip a s
查看IP地址
打开 conf 目录下的 application.properties
,检查ip、账号、密码是否正确
另外,注意数据库连接的 URL中是否含有 serverTimezone=UTC
原本我数据库连接的 URL 里写的是 IP 地址,但是启动后就是报错,把 IP 地址换成
localhost
后就能启动成功。启动成功后发现网页的 URL 里显示的就是我之前的 IP 地址,我又把 IP 重新复制到 配置文件以后重启服务又能正常访问了。这真是让人头大。