Centos java standalone service - boot on start

腾讯云CentOS7.5服务器上,手把手教你搞定Spring Boot项目从打包到上线的完整流程 本文详细介绍了在腾讯云CentOS7.5服务器上部署Spring Boot项目的完整流程,包括环境配置、项目打包、服务器部署及常见问题解决。特别针对腾讯云环境优化,提供从零开始的手把手教程,帮助开发者高效完成项目上线。 阅读详情

假设我们已经有一个web应用的standalone jar包:hello.jar

在命令行启动:java -jar hello.jar

我们先暂时把hello.jar放在了根目录下


Money see,Monkey do


模仿crond,注意/etc/init.d/hello需要可执行权限



1. /etc/init.d/hello

#!/bin/sh
#
# hello          Start/Stop the hello daemon.
#
# chkconfig: 2345 95 20
# description: hello api server

### BEGIN INIT INFO
# Provides: hello thoughtworks
# Required-Start: $local_fs $syslog
# Required-Stop: $local_fs $syslog
# Default-Start:  2345
# Default-Stop: 95
# Short-Description: run hello api daemon
# Description: hello api server
### END INIT INFO


[ -f /etc/sysconfig/hello ] || {
    [ "$1" = "status" ] && exit 4 || exit 6
}


RETVAL=0
prog="hello"
exec=/usr/sbin/hello
lockfile=/var/lock/subsys/hello
config=/etc/sysconfig/hello


# Source function library.
. /etc/rc.d/init.d/functions


[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog


start() {
    if [ $UID -ne 0 ] ; then
        echo "User has insufficient privilege."
        exit 4
    fi
    [ -x $exec ] || exit 5
    [ -f $config ] || exit 6
    echo -n $"Starting $prog: "
    daemon $prog $HELLOARGS
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
}


stop() {
    if [ $UID -ne 0 ] ; then
        echo "User has insufficient privilege."
        exit 4
    fi
    echo -n $"Stopping $prog: "
    if [ -n "`pidfileofproc $exec`" ]; then
        killproc $exec
        RETVAL=3
    else
        failure $"Stopping $prog"
    fi
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
}


restart() {
    stop
    start
}


reload() {
    echo -n $"Reloading $prog: "
    if [ -n "`pidfileofproc $exec`" ]; then
        killproc $exec -HUP
    else
        failure $"Reloading $prog"
    fi
    retval=$?
    echo
}


force_reload() {
    # new configuration takes effect after restart
    restart
}


rh_status() {
    # run checks to determine if the service is running or use generic status
    status -p /var/run/hello.pid $prog
}


rh_status_q() {
    rh_status >/dev/null 2>&1
}




case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart)
        $1
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
        restart
        ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
        exit 2
esac
exit $?



2./usr/sbin/hello

/usr/bin/java -jar /hello.jar 1>/dev/null  2>&1 </dev/null &


3./etc/sysconfig/hello

# Settings for the CRON daemon.
# HELLOARGS= :  any extra command-line startup arguments for hello

HELLOARGS=



配置start on boot

/sbin/chkconfig --add hello

/sbin/chkconfig hello on


CentOS 7 + Docker Swarm 在 DigitalOcean 构建高稳轻量集群 Docker Swarm 是面向中小规模生产环境的轻量级容器编排方案,基于 Raft 共识算法实现去中心化调度与服务发现,相比 Kubernetes 更低资源占用、更简运维路径。其核心价值在于将容器生命周期管理、网络覆盖(overlay)、滚动更新等能力深度集成于 Docker 引擎,无需额外组件即可构建具备故障自愈与弹性伸缩能力的集群。典型应用场景包括 SaaS 初创团队的低成本高可用架构、DevOps 团队从单机向编排演进的平滑过渡,以及教学实训中快速交付可运行集群环境。本文聚焦 CentOS 7 Mi 阅读详情

相关推荐

Nacos配置热更新实战:Spring Boot集成与动态配置管理

动态配置管理是现代微服务架构中的核心能力,它允许应用在运行时动态获取和更新配置,而无需重启服务。其原理通常基于客户端长轮询或服务端推送机制,实现配置变更的实时监听与同步。这项技术的核心价值在于提升系统的可维护性和可用性,避免了因配置变更导致的服务中断,尤其适用于需要频繁调整参数(如功能开关、限流阈值)的场景。在微服务生态中,Nacos作为主流的配置中心与服务发现组件,其热更新功能正是这一理念的典型实践。本文将以Spring Boot项目为例,详细演示如何集成Nacos客户端,并验证配置变更如何实时生效,帮助

weixin_34174105的博客 418

Tomcat启动过程原理详解

Tomcat启动过程原理详解,Tomcat Server处理一个http请求的过程

xiao.yu的博客 3万+

Nacos配置中心从入门到实践:微服务配置管理与热更新指南

在微服务架构中,配置管理是保障服务稳定性和动态调整能力的关键技术。其核心原理是将应用程序的配置从代码中剥离,实现集中化存储和动态分发,从而解决传统配置文件分散、难以维护的痛点。这项技术的核心价值在于支持配置的实时推送与热更新,无需重启应用即可使新配置生效,极大地提升了运维效率和系统灵活性。典型的应用场景包括微服务架构下的多环境配置隔离、运行时参数动态调整以及功能开关管理等。Nacos作为一款开源的配置中心,不仅提供了配置管理能力,还集成了服务发现功能,其配置热更新特性通过Spring Cloud的@Refr

weixin_34194359的博客 342

【Linux 基础篇】之服务

服务的介绍     在开始介绍如何管理Linux的服务前,先为你介绍Linux的服务究竟有哪些。这些服务的分类方法,以及一些关于服务的基本概念 服务的种类 Linux提供了许多的服务。这些服务,可以使依照其功能和依照服务启动的方法与执行时的特性进行分类。 依照功能分类: 1.系统服务 —  某些服务的服务对象是Linux系统本身,或者Linux系统用户,这类的服务我们称为系统服务(Sy

Row Row Row your boat 655

Nacos 1.x 注册中心核心原理与本地实操指南

在微服务架构中,服务注册与发现是实现服务间动态通信的基石。其核心原理在于维护一个中心化的服务注册表,服务提供者启动时向注册中心注册自身信息,并通过心跳机制维持健康状态;服务消费者则从注册中心拉取或订阅服务提供者列表,实现动态寻址。这项技术对于构建高可用、可扩展的分布式系统具有关键价值,广泛应用于电商、社交、金融等需要应对流量波动和实例动态变化的场景。本文聚焦于阿里巴巴开源的Nacos 1.x,深入剖析其作为注册中心时,默认采用的AP一致性模型和基于心跳的健康检查机制,并通过本地环境搭建,带你亲手验证服务注册

culuo8053的博客 492

Nacos生产级安装与安全加固实战指南

Nacos作为微服务架构中集配置中心、服务发现与动态DNS于一体的基础设施,其核心价值在于统一治理能力与高可用设计。理解其启动原理、目录结构与多端口通信机制,是规避‘能访问却不可用’问题的前提;掌握认证启用、namespace权限隔离、数据库最小权限配置及网络白名单策略,可有效防范未授权访问等典型安全风险。本文聚焦真实生产环境中的安装路径选择、进程守护差异、三层可用性验证及Docker集群隐性约束,覆盖Windows开发机到Linux服务器的全场景落地要点,尤其针对nacos namespaces未授权访问

weixin_33801856的博客 497

wildfly服务器系列--wildfly运行standalone启动时报错

一、问题描述运行 sh standalone.sh 命令启动wildfly服务器时,出现红色报错信息,详细信息如下:1.报错一22:06:40,631 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC000001: Failed to start service jboss.undertow.listener.http

高自强的博客 5762

MySQL数据库从零到实战:安装配置、SQL核心语法与Python/Java连接指南

最近在帮团队新人搭建开发环境时,发现很多同学卡在了数据库配置这一步,尤其是 MySQL 的安装、连接和基础操作,网上教程要么版本过时,要么步骤不全,导致反复踩坑。本文将从零开始,手把手带你完成 MySQL 的安装、配置、基础操作到核心概念理解,并提供完整的代码示例和避坑指南。无论你是刚接触数据库的学生,还是需要快速上手 MySQL 进行项目开发的工程师,都能从本文获得一套可直接复用的实战方案。 1. MySQL 核心概念与背景 1.1 什么是 MySQL? MySQL 是一个开源的关系型数据库管理系统(RD

weixin_30326515的博客 466

Nacos热更新原理与实践:微服务配置与服务的动态管理

在微服务架构中,配置管理和服务发现是两大核心基础能力。其原理在于通过中心化的服务注册与配置中心,实现应用配置的集中存储和动态分发,以及服务实例的自动注册与发现。这项技术的核心价值在于能够实现应用的无缝更新与弹性伸缩,从而显著提升系统的可维护性、可用性和迭代速度。典型的应用场景包括需要频繁变更业务参数、实现灰度发布以及应对流量波动的在线服务系统。本文聚焦于阿里巴巴开源的Nacos平台,深入解析其如何通过“热更新”机制,在不重启应用的情况下,动态刷新配置和实时更新服务列表,并结合Spring Boot演示从环境

weixin_30312563的博客 615

RuoYi-Cloud微服务框架在Linux生产环境的完整部署与排错指南

微服务架构通过将单体应用拆分为一组小型、独立的服务,有效解决了系统扩展性、技术异构性和部署灵活性的问题。其核心原理是围绕业务能力组织服务,每个服务独立开发、部署和运行,并通过轻量级通信机制(如HTTP/REST)进行协作。这种架构的技术价值在于提升了开发迭代速度、增强了系统容错能力,并便于团队按服务划分职责。在应用场景上,微服务特别适合业务复杂、团队规模较大且需要快速响应市场变化的系统。本文以RuoYi-Cloud这一基于Spring Cloud Alibaba的流行微服务框架为例,详细阐述了在CentOS

weixin_33875839的博客 320

RuoYi-Cloud微服务生产环境部署实战:从Linux到Nginx全链路配置

微服务架构通过将单体应用拆分为多个独立部署、松耦合的服务,提升了系统的可扩展性和可维护性。其核心原理是服务治理,涉及服务注册发现、配置管理和API网关等关键技术。在工程实践中,采用Spring Cloud Alibaba等技术栈能有效实现这些能力,对于构建高可用、易扩展的企业级应用具有重要价值。典型的应用场景包括电商平台、后台管理系统等需要快速迭代和弹性伸缩的业务。本文以RuoYi-Cloud这一基于Spring Cloud Alibaba的快速开发平台为例,结合Nacos服务注册与配置中心、Nginx反向

weixin_34050005的博客 433

docker学习文档

docker学习文档

qq_42449963的博客 3785

悟空AICRM Docker Compose一键部署:微服务架构的容器化实践

最近在调研开源CRM系统时,发现悟空CRM(WukongCRM)凭借其开源免费、功能模块齐全以及支持AI能力集成等特性,受到了不少中小企业和开发者的关注。然而,在尝试部署时,很多朋友卡在了环境配置这一步,尤其是面对Java后端、Nacos注册中心、Elasticsearch搜索等一整套微服务组件,手动安装配置不仅耗时,还容易因版本兼容性问题导致失败。 为了解决这个痛点,悟空CRM官方提供了基于Docker Compose的一键部署方案,将MySQL、Redis、Nacos、Nginx等所有依赖服务容器化,极

weixin_30325487的博客 406

JBoss/WildFly部署实战:从下载安装到生产配置的完整指南

Java EE应用服务器是构建企业级Java应用的核心基础设施,它提供了完整的运行时环境、资源管理和服务集成能力。其核心原理在于通过模块化架构统一管理Web容器、EJB容器、JMS、数据源等组件,为分布式应用提供事务、安全、连接池等关键服务。在技术价值上,完整的应用服务器能有效管理复杂依赖、保障应用一致性,并简化集群与高可用配置。尽管云原生和微服务架构兴起,但在金融、电信等领域的遗留系统维护、特定技术栈依赖及经典架构学习中,Java EE应用服务器仍不可或缺。本文聚焦于JBoss/WildFly这一经典实现

weixin_34034670的博客 417

RuoYi-Cloud微服务系统在Linux环境下的完整部署与排错指南

微服务架构通过将单体应用拆分为一组小型、独立的服务,提升了系统的可扩展性和开发效率。其核心原理在于服务间的解耦与协同,依赖服务注册与发现机制实现动态通信。这种架构的技术价值在于支持独立部署、技术异构和弹性伸缩,广泛应用于电商、金融等复杂业务场景。在具体实践中,基于Spring Cloud Alibaba的微服务框架,如RuoYi-Cloud,常与MySQL、Redis、Nacos和Nginx等组件协同部署。本文将聚焦于**Nacos服务注册与发现**这一关键环节,并结合**Linux环境部署**的实战经验,

weixin_34185320的博客 411

微服务交付包不是ZIP:破解在线教育系统伪压缩包

微服务交付物常以.zip为外壳,实则为多模态工程归档,涉及架构设计、配置管理、容器编排与前后端协同。其本质是‘部署意图’的编码表达,而非标准压缩文件。理解微服务架构图、服务契约(OpenAPI)、Nacos配置中心、Docker Compose编排及前端CSS与后端API的隐式耦合,是正确解析的关键。技术价值在于规避Windows批处理(bat)与Linux云原生环境的范式冲突,支撑教育类系统在课程管理、直播推流、题库引擎等高并发场景下的可靠落地。本文聚焦‘基于微服务的在线教育系统设计.zip’这一典型交付

weixin_33146151的博客 337

Nacos实例频繁掉线:从心跳机制到全链路排查的根治指南

在微服务架构中,服务注册与发现是实现服务治理的核心技术,其原理是通过注册中心维护服务实例的实时状态。心跳机制是维持状态一致性的关键技术,客户端定期向注册中心发送心跳以证明其存活。这一机制的技术价值在于保障服务调用的可用性与负载均衡的准确性。然而,网络抖动、资源竞争或配置不当都可能导致心跳异常,进而引发服务实例在注册中心频繁掉线,直接影响服务发现与调用的稳定性。本文聚焦Nacos这一主流注册中心,深入分析其心跳机制与健康检查原理,针对实例频繁掉线的典型场景,提供涵盖客户端配置、网络诊断、服务端性能调优的全链路

weixin_30552811的博客 336

统信UOS系统盘空间不足?5分钟搞定扩容的图形化解决方案

本文提供统信UOS系统盘空间不足的图形化扩容解决方案,使用GParted分区编辑器在不丢失数据的情况下快速完成扩容。详细步骤包括准备工作、空间调整和执行验证,适合技术用户快速解决问题。

d6e7f8的博客 956

构建支持10万并发重启的分布式系统架构与性能优化实战

分布式系统是现代互联网架构的核心概念,通过将应用拆分为多个独立服务实现水平扩展。其原理基于服务发现、负载均衡和容错机制,确保系统高可用性。在技术价值层面,分布式架构能够有效应对高并发场景,提升系统吞吐量和稳定性。特别是在微服务架构中,服务重启和性能优化成为关键挑战。通过合理的连接池配置、缓存预热策略和优雅停机机制,可以显著提升系统在金融、电商等高并发应用场景下的表现。本文基于Spring Cloud和Nacos等技术栈,深入探讨如何实现支持10万并发重启的分布式系统架构,涵盖负载均衡优化、服务发现机制等热词

weixin_30267785的博客 439

[XJTUSE DATABASE]——第三章 关系数据库标准语言SQL

新年了,来个大的,写了好几天,将近9000字,希望对大家有所帮助

weixin_47692652的博客 3120

KUKA机器人 - 从开机到自动运行

注1:本文仅代表本人对机器人使用的一些建议,在使用机器人前,还请详细阅读库卡机器人官方资料,道路千万条,安全第一条!!! 注2:技术有限,欢迎各位大大在阅读过程中发现各类问题,并且批评指正!!! 目录 一、准备工作 1. 机器人上电完成 2. 电脑安装Workvisual 二、学习手动移动机器人 三、项目配置 1. 设置机器人IP地址 2.电脑和机器人通过网线连接 3.查找并打开项目 4. 通讯配置 5. 项目上传 6. 检验IO配置 四、编程 1.新建程序 2. 程序...

yilunyao的博客 1万+
上一篇: yum安装java8
下一篇: 用packer + ansible定制Centos AMI
kiwi小白
博客等级 码龄14年 153粉丝 154原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值