systemd写微服务启动脚本范例

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: systemd写微服务启动脚本范例

1.下面是一个使用systemd写的服务的启动脚本模板:



[Unit]
Description=systemd service for <联系devops获取微服务名>
After=network.target
[Service]
Type=simple
WorkingDirectory=<微服务主目录>
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=<联系devops获取微服务名>
LimitNOFILE = 65535
ExecStart= <JAVA_HOME目录>/bin/java \
            -Xmx128M \
            -Xms128M \
            -XX:CompressedClassSpaceSize=64M  \
            -XX:MaxMetaspaceSize=128M \
            -XX:MaxDirectMemorySize=64M \
            -XX:+HeapDumpOnOutOfMemoryError \
            -XX:HeapDumpPath=<微服务主目录>/jvm_dump/<联系devops获取微服务名>.heapdump \
            -XX:+UseG1GC \
            -XX:-OmitStackTraceInFastThrow \
                                    -jar <微服务jar包路径>  --spring.profiles.active=uat
ExecStop=/bin/kill -SIGTERM $MAINPID
[Install]
WantedBy=multi-user.target


2.下面是笔者服务的实例



[Unit]
Description=systemd service for upms-server-biz
After=network.target
[Service]
Type=simple
WorkingDirectory=/apps/server-admin/sunacwy-cockpit/upms-server/
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=upms-server-biz
LimitNOFILE = 65535
ExecStart= /usr/java/bin/java \
            -Xmn1024M \
            -Xms512M \
            -XX:MetaspaceSize=128M \
            -XX:InitiatingHeapOccupancyPercent=85 \
            -XX:ParallelGCThreads=4 \
            -XX:G1HeapRegionSize=32 \
            -XX:MaxGCPauseMillis=200 \
      -XX:+UseG1GC \
      -XX:+HeapDumpOnOutOfMemoryError \
            -XX:HeapDumpPath=/apps/server-admin/sunacwy-cockpit/upms-server/jvm_dump/upms-server-biz.heapdump \
            -XX:-OmitStackTraceInFastThrow \
                                    -jar /apps/server-admin/sunacwy-cockpit/upms-server/upms-server-biz.jar  --spring.profiles.active=uat
ExecStop=/bin/kill -SIGTERM $MAINPID
[Install]
WantedBy=multi-user.target


3.systemd操作命令



# systemd脚本存放位置
cd /etc/systemd/system
# systemd脚本的任何改动都需要重载
systemctl daemon-reload
# 查看状态
systemctl status upms-server-biz.service
# 关闭
systemctl stop upms-server-biz.service
# 启动
systemctl start upms-server-biz.service
# 重启
systemctl restart upms-server-biz.service



4.为甚么建议使用systemd脚本而不是shell脚本



服务器重启时,可以做到自启动,无需像shell脚本一样必须手动执行


相关文章
|
Java 微服务
微服务启动jar包脚本
微服务启动jar包脚本
95 0
|
负载均衡 Dubbo JavaScript
带你读《Apache Dubbo微服务开发从入门到精通》—— 四、 脚本路由规则
带你读《Apache Dubbo微服务开发从入门到精通》—— 四、 脚本路由规则
196 6
|
jenkins Java Shell
脚本自动化部署docker微服务,取代Jenkins
脚本自动化部署docker微服务,取代Jenkins
336 0
|
存储 设计模式 Java
微服务架构:从事务脚本到领域模型
微服务架构:从事务脚本到领域模型
256 0
微服务架构:从事务脚本到领域模型
|
2月前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
144 6
|
2月前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
54 1
|
28天前
|
Java 开发者 微服务
从单体到微服务:如何借助 Spring Cloud 实现架构转型
**Spring Cloud** 是一套基于 Spring 框架的**微服务架构解决方案**,它提供了一系列的工具和组件,帮助开发者快速构建分布式系统,尤其是微服务架构。
154 69
从单体到微服务:如何借助 Spring Cloud 实现架构转型
|
27天前
|
运维 监控 持续交付
微服务架构解析:跨越传统架构的技术革命
微服务架构(Microservices Architecture)是一种软件架构风格,它将一个大型的单体应用拆分为多个小而独立的服务,每个服务都可以独立开发、部署和扩展。
167 36
微服务架构解析:跨越传统架构的技术革命
|
4月前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
4月前
|
负载均衡 Java 应用服务中间件
微服务分布式系统架构之zookeeper与dubbor-1
微服务分布式系统架构之zookeeper与dubbor-1