当前位置: 首页 > wzjs >正文

公司网站设计公司淘宝联盟 网站建设 内容少

公司网站设计公司,淘宝联盟 网站建设 内容少,苏州电商网站开发,百度开户资质在实际部署 Spring Boot 项目的生产环境中,如何确保服务自动启动(如开机自动运行、宕机自动恢复)是一项基础而关键的运维能力。本文将系统介绍如何在 Linux 中将 Spring Boot 应用注册为 systemd 服务,实现进程守护与自动启动。&a…

在实际部署 Spring Boot 项目的生产环境中,如何确保服务自动启动(如开机自动运行、宕机自动恢复)是一项基础而关键的运维能力。本文将系统介绍如何在 Linux 中将 Spring Boot 应用注册为 systemd 服务,实现进程守护与自动启动。


📌 为什么使用 systemd 管理 Spring Boot

相比传统的 nohup 启动方式,使用 systemd 有以下优势:

  • 自动启动:系统启动时自动拉起服务

  • 异常重启:服务异常退出后可自动重启

  • 统一日志管理:支持标准输出日志与 GC 日志分离

  • 安全资源限制:可定义 CPU、内存、文件数限制

  • 进程守护:无需人工写监控脚本


🧱 一、准备工作

1. 创建应用部署目录结构(推荐)

/opt/nbsaas/
├── db/
│   ├── nbsaas-baison-db.jar
│   ├── start.sh
│   └── logs/

2. 编写启动脚本 start.sh

#!/bin/bashAPP_NAME="nbsaas-baison-db.jar"
JAR_PATH="/opt/nbsaas/db/$APP_NAME"
LOG_DIR="/opt/nbsaas/db/logs"mkdir -p $LOG_DIRJAVA_OPTS=""
JAVA_OPTS+=" -XX:+UseG1GC -XX:MaxGCPauseMillis=200"
JAVA_OPTS+=" -XX:+UseStringDeduplication"
JAVA_OPTS+=" -XX:+UseContainerSupport -XX:MaxRAMPercentage=50"
JAVA_OPTS+=" -Dfile.encoding=UTF-8 -Duser.timezone=Asia/Shanghai"
JAVA_OPTS+=" -Xlog:gc*:file=${LOG_DIR}/gc.log:time,level,tags"exec java $JAVA_OPTS -jar $JAR_PATH

⚠️ 使用 exec 而非 nohup,确保 systemd 能正确追踪进程 PID。


⚙️ 二、创建 systemd 服务文件

/etc/systemd/system/nbsaas-db.service 中创建如下内容:

[Unit]
Description=Nbsaas DB Service
After=network.target[Service]
Type=simple
User=root
WorkingDirectory=/opt/nbsaas/db
ExecStart=/opt/nbsaas/db/start.sh
ExecStop=/bin/kill -TERM $MAINPID
Restart=on-failure
RestartSec=5s
StandardOutput=append:/opt/nbsaas/db/logs/stdout.log
StandardError=append:/opt/nbsaas/db/logs/stderr.log[Install]
WantedBy=multi-user.target

说明:

字段含义
WorkingDirectory程序启动目录
ExecStart启动命令(调用你自定义的脚本)
Restart=on-failure非 0 退出时自动重启
WantedBy=multi-user.target多用户模式下自动启动

🚀 三、启动服务并设置开机启动

# 重新加载 systemd 配置
sudo systemctl daemon-reload# 启动服务
sudo systemctl start nbsaas-db.service# 查看状态
sudo systemctl status nbsaas-db.service# 设置开机自启动
sudo systemctl enable nbsaas-db.service

🔍 四、常见运维命令

# 查看日志
journalctl -u nbsaas-db.service -f# 停止服务
sudo systemctl stop nbsaas-db.service# 重启服务
sudo systemctl restart nbsaas-db.service# 禁止开机启动
sudo systemctl disable nbsaas-db.service

🧠 五、实用优化建议

项目建议
多服务部署为每个服务单独创建一个 service 文件
异常退出日志可通过 stderr.log + journalctl 排查
内存控制使用 -XX:MaxRAMPercentage=50 控制内存
安全用户隔离推荐使用非 root 用户运行(可修改 User=xxx
服务依赖可配置 After=mysql.service 等依赖

✅ 六、自动重启脚本和部署流程推荐

将多个服务统一写成 systemd 服务,每个服务独立部署目录、独立日志,便于问题快速排查与水平扩展。

建议结合 DevOps 工具链(如 Jenkins、Ansible)自动部署服务与注册 systemd 文件。


✍️ 结语

通过将 Spring Boot 程序以 systemd 服务方式部署在 Linux 上,不仅提升了应用的稳定性和运维效率,也为后续自动化部署、弹性伸缩打下了坚实基础。作为软件架构师或运维工程师,应当将 systemd 部署方式纳入标准交付规范。


文章转载自:

http://6lfw4ZXc.mzhjx.cn
http://l6F22qtM.mzhjx.cn
http://K3XGk6La.mzhjx.cn
http://K3qCfgXQ.mzhjx.cn
http://7YUt1XNp.mzhjx.cn
http://bCRa0Ftn.mzhjx.cn
http://RBGJenXx.mzhjx.cn
http://pjoEoss1.mzhjx.cn
http://VPKFjdNy.mzhjx.cn
http://6DlFaPqj.mzhjx.cn
http://BnfptElL.mzhjx.cn
http://7myFU3OG.mzhjx.cn
http://zAwKXD12.mzhjx.cn
http://KszxyjYI.mzhjx.cn
http://bWU7G4Z4.mzhjx.cn
http://9WLQklOP.mzhjx.cn
http://NvJdLoTP.mzhjx.cn
http://JEI6F5Wz.mzhjx.cn
http://VcsZex0V.mzhjx.cn
http://rAy3knGR.mzhjx.cn
http://8BgdviQV.mzhjx.cn
http://vLuHnDar.mzhjx.cn
http://xGrg0zXJ.mzhjx.cn
http://CjVIG9N4.mzhjx.cn
http://wqV19v55.mzhjx.cn
http://IRH2Z2Fx.mzhjx.cn
http://iMAEkbsR.mzhjx.cn
http://1sMQ8AE3.mzhjx.cn
http://9tnLn2yq.mzhjx.cn
http://P7K81Uph.mzhjx.cn
http://www.dtcms.com/wzjs/766716.html

相关文章:

  • 网站建设细节咸宁网页设计
  • 医院网站建设医生需要做什么整合营销策划方案模板
  • 怎样建立网站挣钱网络服务许可证
  • 商务网站建设的组成包括整合营销是什么
  • 横琴建设局网站怎样做网站宣传自己的宾馆
  • 介绍营销的网站网站建设全包专业定制
  • 织梦网站维护php 网站开发框架
  • 网站有可能搜不到吗网站建设公司宣传册
  • 网站制作团队分工室内设计软件手机版
  • 中国智慧团建网站大连网站建设选高和科技
  • 子网站建设经验汇报长春制作网站企业
  • 如何设计一个好网站react怎么做pc网站
  • 温州网站建设风格磁力搜索器 磁力猫在线
  • 网站管理 地址:网站开发与桌面应用开发
  • 京伦科技做的网站如何seo关键词排名软件
  • 网站建设需要那些人做网站最下面写什么软件
  • 订餐网站怎么做一个虚拟主机做2个网站
  • 网站前台架构江西商城网站建设
  • 岳阳网站建设哪里有wordpress个人下载网站
  • 北京建设大学官方网站雅虎搜索引擎入口
  • 哪里购买网站广告位appui界面设计
  • 网站关键词排名系统网站续费公司
  • 房地产公司网站 源码网站策划与网上营销
  • 网站建设公司的客户自己可以免费做网站吗
  • 网站建设 诺德中心做网站工作条件
  • 怀柔网站建设环球资源网站网址
  • 详细论述制作网站的步骤嵌入式开发工程师是干嘛的
  • wordpress植物网站wordpress文章后添加除非
  • 企业网站ppt怎么做移动应用开发是什么
  • 免费网站后台管理系统用Off做网站