[Projeto Prático] Pacote Jar com inicialização automática no sistema Linux

O que é inicialização automática do pacote jar

Em sistemas Linux, "inicialização automática do pacote jar" refere-se ao empacotamento de um programa Java em um arquivo Jar executável por meio de configuração e configuração para execução automática quando o sistema for iniciado. A seguir estão alguns conceitos relacionados à inicialização automática do pacote jar:

Arquivo Jar: O arquivo Jar (Java Archive) é um formato de arquivo usado para empacotar e distribuir programas Java. Ele pode conter arquivos de classe Java, arquivos de recursos, arquivos de biblioteca, etc. Os arquivos Jar podem usar a Java Virtual Machine (JVM) para executar os programas dentro deles.

Arquivo Jar executável: Um arquivo Jar executável refere-se a um arquivo Jar com o ponto de entrada do programa principal incorporado nele. Ele pode ser executado diretamente por meio de comandos Java ou clicando duas vezes. Os arquivos Jar podem ser marcados como executáveis ​​definindo o atributo Main-Class no arquivo de manifesto.

Script de inicialização: um script de inicialização é um script Shell usado para executar operações específicas, como definir variáveis ​​de ambiente, iniciar uma máquina virtual Java e especificar o arquivo Jar executável do programa principal como parâmetro. Os scripts de inicialização normalmente executam programas Java como processos em segundo plano.

Serviço do sistema: Em sistemas Linux, os arquivos Jar podem ser gerenciados como um serviço do sistema para que possam ser executados automaticamente quando o sistema for iniciado. Um serviço de sistema é um programa que fornece funções em segundo plano e pode ser gerenciado e controlado por meio de scripts de inicialização do sistema ou ferramentas de gerenciamento de serviço (como Systemd).

Systemd: Systemd é um sistema de inicialização e gerenciador de serviços no sistema Linux. Ele pode ser usado para gerenciar operações como iniciar, parar, reiniciar e visualizar o status dos serviços do sistema. Ao criar e configurar um arquivo de unidade Systemd, você pode usar o arquivo Jar como um serviço Systemd e configurá-lo para ser executado automaticamente quando o sistema for iniciado.

Os benefícios dos pacotes jar de inicialização automática

Executar automaticamente quando o sistema é iniciado: Ao definir o pacote Jar como um serviço de inicialização automática, você pode garantir que o programa seja executado automaticamente quando o sistema for iniciado. Isso é útil para aplicativos que precisam ser executados como serviço em segundo plano após a inicialização do sistema, sem a necessidade de iniciá-los manualmente.

Gerenciamento e manutenção convenientes: Depois de usar o pacote Jar como um serviço de inicialização automática, você pode usar ferramentas ou comandos relevantes para gerenciar e manter o serviço, como iniciar, parar, reiniciar e visualizar o status. Isso pode simplificar as operações e melhorar a eficiência do gerenciamento.

Evite intervenção manual: os serviços de inicialização automática eliminam a necessidade de intervenção manual. Você não precisa executar manualmente o pacote Jar sempre que o sistema for reiniciado, o que reduz o risco de erros e melhora a estabilidade do sistema.

Controle de sequência de inicialização: Ao configurar serviços de inicialização automática, você pode controlar com precisão a sequência de inicialização entre diferentes serviços. Se o seu aplicativo depender de outros serviços ou recursos, definir dependências em um serviço de inicialização automática poderá garantir a sequência de inicialização correta.

Registro em log e tratamento de erros: serviços de inicialização automática podem configurar mecanismos de registro em log e tratamento de erros. Você pode registrar informações de saída do programa em um arquivo de log para facilitar a solução de problemas e a localização do problema. Além disso, você pode definir políticas de tratamento de erros, incluindo ações como reinicializações automáticas ou envio de notificações, para garantir a confiabilidade do serviço.

Ao definir o pacote Jar como um serviço de inicialização automática, você pode gerenciar e controlar facilmente a operação do aplicativo e melhorar a confiabilidade e estabilidade do sistema. Isto é especialmente verdadeiro para serviços em segundo plano, tarefas agendadas e aplicativos que precisam ser executados automaticamente quando o sistema é iniciado.

Operação real

Preparação preliminar

Verifique o número da versão do seu servidor java

java -version

Insira a descrição da imagem aqui

Nota: Se o servidor aqui for a versão java11, o ambiente jdk no script jarSysInit.sh abaixo deverá ser alterado para o ambiente correspondente.

etapa

1. Crie um novo arquivo de inicialização automática do pacote jar

sudo vi /etc/init.d/jarSysInit.sh

Pressione a tecla i para entrar no modo de edição e digite o seguinte:

# !/bin/bash
##JDK start 配置自己服务器的JDK环境(jkd8还是11)
export JAVA_HOME=/usr/java/jdk1.8.0_251-amd64
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
export PATH=$PATH:$JAVA_HOME/bin
## JDK end
# 有多少个jar就后面加上去就好(这里需要参考自己jenkins的启动脚本注意全局变量$APP_PATH 要换成jar包对应的全路径)
nohup java -Xms1024m -Xmx1024m -jar /home/admin/apps/typing_provider.jar > /home/admin/apps/typing.log 2>&1 &

Pressione a tecla esc para sair do modo de edição e digite: wq para salvar
Insira a descrição da imagem aqui
2. Edite o arquivo que é executado automaticamente quando o servidor é ligado.

sudo vi /etc/rc.d/rc.local

Pressione a tecla i para entrar no modo de edição e adicione o seguinte conteúdo
em touch /var/lock/subsys/local neste arquivo :

#开机启动jar脚本
/etc/init.d/jarSysInit.sh

Insira a descrição da imagem aqui
Pressione a tecla esc para sair do modo de edição e digite: wq para salvar

3. Eleve as permissões. Ambos os arquivos de script estão verdes.
Alterne os caminhos.

cd /etc/rc.d

Elevar privilégios:

sudo chmod 755 /etc/rc.local

Verifique se a atualização foi bem-sucedida

ll

Insira a descrição da imagem aqui
Alternar diretório

cd /etc/init.d

Elevar privilégios

sudo chmod 755 /etc/init.d/jarSysInit.sh

Insira a descrição da imagem aqui

Resumir

**Quando o pacote Jar é definido como o serviço de inicialização automática do sistema Linux, o conteúdo pode ser ainda mais enriquecido, incluindo:

Gerenciamento de recursos do sistema: por meio de serviços de inicialização automática, os recursos do sistema, como CPU, memória e rede, podem ser razoavelmente alocados e gerenciados quando o sistema é inicializado. O uso de recursos do programa pode ser otimizado com base nas necessidades reais e garantir que outras tarefas e serviços importantes possam funcionar normalmente.

Aprimoramento de segurança: Ao definir o programa como um serviço de inicialização automática, você pode usar uma identidade de usuário ou permissões específicas para executar o programa e melhorar a segurança. Os direitos de acesso podem ser restringidos e garantir que apenas utilizadores autorizados possam aceder e operar serviços relacionados. Isso ajuda a evitar acesso não autorizado e possíveis violações de segurança.

Monitoramento e alarme: O serviço de inicialização automática pode ser integrado a ferramentas de monitoramento para monitorar o status de execução do programa em tempo real. Ao configurar indicadores de monitoramento e regras de alarme apropriados, situações anormais como travamentos, cargas altas e vazamentos de memória podem ser descobertas e tratadas em tempo hábil. Isto ajuda a tomar medidas oportunas e garante a disponibilidade e estabilidade do serviço.

Atualizações automáticas e gerenciamento de versões: Usando serviços de inicialização automática, atualizações automáticas e gerenciamento de versões de programas podem ser alcançados. Você pode configurar uma política para verificar regularmente novas versões e baixar e implantar automaticamente novos pacotes Jar quando atualizados. Isso garante que os aplicativos sempre usem os recursos e correções de bugs mais recentes, garantindo a segurança e estabilidade do sistema.

Escalabilidade e flexibilidade: com serviços de inicialização automática, os aplicativos podem ser facilmente expandidos, se necessário. Você pode adicionar mais parâmetros, arquivos de configuração, plug-ins, etc. para personalizá-lo de acordo com as necessidades reais. Isso proporciona maior flexibilidade e escalabilidade para posterior desenvolvimento e manutenção de aplicativos.

Resumindo, definir o pacote Jar como um serviço de inicialização automática no sistema Linux não apenas simplifica o processo de operação, melhora a confiabilidade e a eficiência do gerenciamento, mas também fornece mais funções e garantias, como gerenciamento de recursos, aprimoramento de segurança, monitoramento e alarme. ., atualizações automáticas e flexibilidade, etc. Ao aproveitar essas vantagens, você pode gerenciar e executar melhor seus aplicativos para atender às necessidades em constante mudança e proporcionar uma experiência superior ao usuário. **

Acho que você gosta

Origin blog.csdn.net/weixin_45309155/article/details/133268898
Recomendado
Clasificación