【Ubuntu】Systemctl控制nacos启动与关闭

要使用 systemctl 来管理 Nacos Server 的启动和停止,你需要创建一个 systemd 服务单元文件。以下是创建和使用 Nacos Server systemd 服务的一般步骤:

  1. 创建一个 systemd 服务单元文件: 打开终端并使用文本编辑器创建一个新的 systemd 服务单元文件,比如 /etc/systemd/system/nacos.service。你可以使用 sudo 权限来编辑系统级服务单元文件。

    bash 复制代码
    sudo vim /etc/systemd/system/nacos.service
  2. 在服务单元文件中添加以下内容(适应你的情况修改 ExecStart 和其他选项):

    bash 复制代码
    [Unit]
    Description=Nacos Server
    After=network.target
    
    [Service]
    Environment="JAVA_HOME=/path/to/jdk"
    Type=forking
    ExecStart=/path/to/nacos/bin/startup.sh
    ExecStop=/path/to/nacos/bin/shutdown.sh
    
    [Install]
    WantedBy=multi-user.target
    • Environment="JAVA_HOME=/path/to/jdk": 这个字段设置了环境变量 JAVA_HOME,指定了 JDK 的安装路径。这是为了确保 Nacos 服务能够找到正确的 Java 运行时环境。
    • Type=forking: 这个字段指定了服务的类型。forking 类型适用于那些会启动子进程并在父进程退出后返回的服务。Nacos 启动脚本通常会创建一个子进程来运行 Nacos 服务,因此 Type=forking 是合适的选择。
    • ExecStart=/path/to/nacos/bin/startup.sh: 这个字段定义了服务启动时要执行的命令。它指定了 Nacos 启动脚本的路径,用于启动 Nacos 服务。
    • ExecStart=/path/to/nacos/bin/shutdown.sh: 这个字段定义了在执行 systemctl stop 命令时要运行的命令,用于停止 Nacos 服务。
    • WantedBy=multi-user.target: 这个字段指定了服务应该在哪个 systemd 目标中启动。multi-user.target 是多用户系统的默认目标,通常用于服务的启动。
  3. 保存并关闭文件。

  4. 重新加载 systemd 配置以使新的服务单元文件生效:

    bash 复制代码
    sudo systemctl daemon-reload
  5. 启动 Nacos 服务:

    bash 复制代码
    sudo systemctl start nacos
  6. 若要在系统启动时自动启动 Nacos,可以启用自动启动:

    bash 复制代码
    sudo systemctl enable nacos
  7. 现在,你可以使用以下命令来管理 Nacos 服务:

    • 启动服务:sudo systemctl start nacos
    • 停止服务:sudo systemctl stop nacos
    • 重启服务:sudo systemctl restart nacos
    • 查看服务状态:sudo systemctl status nacos

确保替换配置文件中的路径和用户信息,以适应你的具体情况。完成这些步骤后,你就可以使用 systemctl 来管理 Nacos Server 的启动和停止了。

相关推荐
唐青枫18 分钟前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
AlfredZhao2 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐3 天前
Linux内存扩容指南
linux
zylyehuo3 天前
Linux 彻底且安全地删除文件
linux
用户805533698034 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297914 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
乘云数字DATABUFF4 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
Web3探索者6 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo6 天前
Linux系统中网线与USB网络共享冲突
linux
荣--6 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计