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

浙公网安备 33010602011771号