systemd写微服务启动脚本范例

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 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脚本一样必须手动执行


相关文章
|
10月前
|
Java 微服务
微服务启动jar包脚本
微服务启动jar包脚本
74 0
|
负载均衡 Dubbo JavaScript
带你读《Apache Dubbo微服务开发从入门到精通》—— 四、 脚本路由规则
带你读《Apache Dubbo微服务开发从入门到精通》—— 四、 脚本路由规则
181 1
|
jenkins Java Shell
脚本自动化部署docker微服务,取代Jenkins
脚本自动化部署docker微服务,取代Jenkins
311 0
|
存储 设计模式 Java
微服务架构:从事务脚本到领域模型
微服务架构:从事务脚本到领域模型
237 0
微服务架构:从事务脚本到领域模型
|
3天前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
3天前
|
负载均衡 Java 应用服务中间件
微服务分布式系统架构之zookeeper与dubbor-1
微服务分布式系统架构之zookeeper与dubbor-1
|
30天前
|
Kubernetes Cloud Native Docker
云原生之旅:从容器到微服务的架构演变
【8月更文挑战第29天】在数字化时代的浪潮下,云原生技术以其灵活性、可扩展性和弹性管理成为企业数字化转型的关键。本文将通过浅显易懂的语言和生动的比喻,带领读者了解云原生的基本概念,探索容器化技术的奥秘,并深入微服务架构的世界。我们将一起见证代码如何转化为现实中的服务,实现快速迭代和高效部署。无论你是初学者还是有经验的开发者,这篇文章都会为你打开一扇通往云原生世界的大门。
|
1月前
|
负载均衡 应用服务中间件 持续交付
微服务架构下的Web服务器部署
【8月更文第28天】随着互联网应用的不断发展,传统的单体应用架构逐渐显露出其局限性,特别是在可扩展性和维护性方面。为了解决这些问题,微服务架构应运而生。微服务架构通过将应用程序分解成一系列小型、独立的服务来提高系统的灵活性和可维护性。本文将探讨如何在微服务架构中有效部署和管理Web服务器实例,并提供一些实际的代码示例。
65 0
|
15天前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
24 3
|
23天前
|
存储 Java Maven
从零到微服务专家:用Micronaut框架轻松构建未来架构
【9月更文挑战第5天】在现代软件开发中,微服务架构因提升应用的可伸缩性和灵活性而广受欢迎。Micronaut 是一个轻量级的 Java 框架,适合构建微服务。本文介绍如何从零开始使用 Micronaut 搭建微服务架构,包括设置开发环境、创建 Maven 项目并添加 Micronaut 依赖,编写主类启动应用,以及添加控制器处理 HTTP 请求。通过示例代码展示如何实现简单的 “Hello, World!” 功能,并介绍如何通过添加更多依赖来扩展应用功能,如数据访问、验证和安全性等。Micronaut 的强大和灵活性使你能够快速构建复杂的微服务系统。
56 5