centos搭建单机nacos服务
搭建单机nacos服务
前提:机器必须具备JDK 1.8环境
首先下载nacos包,我用的是nacos-server-2.4.0.1.tar.gz,把包传到Linux服务器上并使用命令解压到/usr/local
目录下
tar -zxvf nacos-server-2.4.0.1.tar.gz -C /usr/local
这时nacos就可以启动了,执行命令 /usr/local/nacos/bin/startup.sh -m standalone
即可,稍等半分钟左右用jps
查看服务是否启动成功
但如果用的不是真实服务器而是虚拟机或树莓派,你可能需要修改nacos运行时所需内存:进入/usr/local/nacos/bin
目录,打开文件startup.sh
,大约91行代码附近,做如下修改
#===========================================================================================
# JVM Configuration
#===========================================================================================
if [[ "${MODE}" == "standalone" ]]; then
# 单机启动修改此处配置,虚拟机如果有4G内存,使用默认配置也够,看自己真实情况
JAVA_OPT="${JAVA_OPT} ${CUSTOM_NACOS_MEMORY:- -Xms512m -Xmx512m -Xmn256m}"
JAVA_OPT="${JAVA_OPT} -Dnacos.standalone=true"
else
if [[ "${EMBEDDED_STORAGE}" == "embedded" ]]; then
JAVA_OPT="${JAVA_OPT} -DembeddedStorage=true"
fi
# 集群启动修改此处配置,建议-Xms512m -Xmx512m -Xmn256m
JAVA_OPT="${JAVA_OPT} -server ${CUSTOM_NACOS_MEMORY:- -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m}"
JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${BASE_DIR}/logs/java_heapdump.hprof"
JAVA_OPT="${JAVA_OPT} -XX:-UseLargePages"
fi
使用MySQL存储nacos服务的数据
打开文件/usr/local/nacos/conf/mysql-schema.sql
,拷贝其中的SQL语句放到MySQL执行
打开文件/usr/local/nacos/conf/application.properties
,大约33行处做如下修改
#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
### Deprecated configuration property, it is recommended to use `spring.sql.init.platform` replaced.
spring.datasource.platform=mysql
#spring.sql.init.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
# 数据库配置,如果机器性能差网络慢,可以把jdbc参数中的Timeout的参数改得尽量大些,其他jdbc参数建议不要动
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos? characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=nacos
db.password.0=123456
把nacos注册为系统服务
如果还想把nacos注册为系统服务,通过systemctl来启动关闭,也是可以的,具体步骤如下
在/etc/systemd/system
文件夹下新建nacos.service
文件,文件内容如下
[Unit]
Description=nacos
After=network.target
[Service]
# 请把JAVA_HOME修改为自己机器上的配置,不要照搬我的!
Environment="JAVA_HOME=/usr/local/java/jdk1.8.0_421"
Type=forking
ExecStart=/usr/local/nacos/bin/startup.sh -m standalone
ExecReload=/usr/local/nacos/bin/shutdown.sh
ExecStop=/usr/local/nacos/bin/shutdown.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target
修改完成后,执行命令如下
# 重载配置
systemctl daemon-reload
# 启动服务
systemctl start nacos
# 查看状态
systemctlstatus nacos
如果不行,报错JAVA_HOME找不到,那就只能去修改startup.sh脚本了,打开
/usr/local/nacos/bin/startup.sh
,大约30行代码附近,做如下修改# 请把JAVA_HOME修改为自己机器上的配置,不要照搬我的! [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/local/java/jdk1.8.0_421 #[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java #[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/opt/taobao/java #[ ! -e "$JAVA_HOME/bin/java" ] && unset JAVA_HOME
OK!nacos启动成功后,你可以在浏览器输入 http://IP地址:8848/nacos访问了
提醒一下,如果Linux的防火墙是工作状态的,防火墙要放开端口,我用的是centos,Ubuntu的请自行度娘
- 主端口 (HTTP): 默认为8848,此端口用于客户端、控制台及OpenAPI的HTTP通信。
- 客户端gRPC端口: 默认为主端口+1000,即9848,用于客户端通过gRPC协议向服务端发起连接和请求。
- 服务端gRPC端口: 默认为主端口+1001,即9849,用于服务间同步等内部通信。
- Jraft请求服务端端口: 默认为主端口-1000,即7848,用于处理服务端间的Raft相关请求。
# 放开端口(永久生效)
sudo firewall-cmd --zone=public --add-port=端口号/tcp --permanent
# 重载配置
sudo firewall-cmd --reload
本文来自博客园,作者:勤匠,转载请注明原文链接:https://www.cnblogs.com/JarryShu/articles/18369231
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现