开机启动项配置
- 创建编辑nacos.service文件
vim /lib/systemd/system/nacos.service
- 编辑内容
[Unit]
Description=nacos
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nacos/bin/startup.sh -m standalone
ExecReload=/usr/local/nacos/bin/bin/shutdown.sh
ExecStop=/usr/local/nacos/bin/shutdown.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target
执行命令:
systemctl daemon-reload
systemctl enable nacos.service
systemctl start nacos.service
由于启动的默认由cluster改成了standalone单机启动模式,但是启动仍然是集群模式启动,并且抛出上述找不到cluster.conf文件。
将官方的启动命令
sh startup.sh -m standalone
替换为
bash startup.sh -m standalone
nohup bash startup.sh -m standalone & #后台启动
原因是:bash与sh是有区别的,两者是不同的命令,且bash是sh的增强版,而"[[]]"是bash脚本中的命令,因此在执行时,使用sh命令会报错。因而是因为startup.sh文件中的[[ ]] 的问题,sh命令并不能识别,只有bash才行;
另外一种办法是将dash启动改为bash启动(ubuntu默认采用dash,也是导致整个问题的原因!),方法如下:
查看与使用
先用命令ls -l /bin/sh 看看
结果是: /bin/sh -> dash
我们会发现Ubuntu默认采用的是 dash
如果要修改默认的sh,可以采用命令
sudo dpkg-reconfigure dash
然后选择【否】
成功后再执行ls -l /bin/sh 看看
结果是: /bin/sh -> bash
修改成功!
当然我们也可以使用
sudo dpkg-reconfigure dash
把sh修改回去
- 注:nacos设置开机启动是需要配置启动脚本javahome路径为jdk安装目录