Supervisar el inicio del paquete jar y la ejecución automática en Linux

                                                     #Linux中监控jar包的启动

Descripción:
Creador: csc
Hora: 2023-06-05
Entorno: OpenCloudOS/CentOS 8.
Prueba personal Ya sea que reinicie el sistema o finalice el proceso con kill -9, se iniciará automáticamente.

Puede escribir un servicio systemd para permitir que el sistema inicie automáticamente el paquete jar. Estos son los pasos específicos:

Paso 1. Primero ingrese el directorio /etc/systemd/system/ en el sistema Linux y el comando es el siguiente

 cd /etc/systemd/system 

Paso 2. El comando para crear un archivo myapp.service es el siguiente:
#Recordatorio amigable: si el archivo no existe, también puede vim directamente. El comando myapp.service lo creará directamente y entrará al modo de edición. No lo explico a continuación.

touch myapp.service
#友情提示 如果文件不存在也可以直接vim myapp.service命令 会直接创建进入编辑模式
vim myapp.service

Paso 3. Edite el comando del archivo de la siguiente manera:

vim myapp.service

Copie el siguiente comando en el comando myapp.service:

[Unit]
Description=My App Service
After=network.target

[Service]
User=root
WorkingDirectory=/path/to/your/jar/file/
ExecStart=/usr/bin/java -jar your.jar
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

Explicación de la propiedad:

   Description表示服务的描述,可以自定义;
   After表示该服务要在网络服务启动后才能启动,也可以指定某个jar包启动之后再启动该jar包服务 
   User表示该服务要以root用户身份运行;
   WorkingDirectory表示你自己jar包所在的路径;
   **ExecStart表示要执行的命令 /usr/bin/java 是你jdk安装的目录下的bin文件夹 别忘了改成你自己的;**
   RestartRestartSec表示服务停止后要重新启动的时间间隔

el cuarto paso:

 点击 esc
 输入  :wq 退出编辑
  1. Después de salir del archivo, ejecute el siguiente comando:
systemctl daemon-reload
systemctl enable myapp.service
systemctl start myapp.service
#查看运行状态
systemctl status myapp.service
#停止服务
systemctl stop myapp.service

De esta manera, el sistema iniciará automáticamente su paquete jar.

Extensión:
4. Lo anterior es suficiente, pero también puede especificar el tamaño de la pila y el entorno de ejecución:
4.1 Primero "edite y cree un archivo .env" en el mismo directorio que el jar. Este archivo debe tener permisos ejecutables como se muestra abajo:

  vim netty-server.env  #netty-server文件的名字 你们自己随意

Después del éxito,
Insertar descripción de la imagen aquí
los comandos en el archivo que se muestra en la Figura 4.2 son los siguientes:

   JAVA_OPTS=-Xms256m -Xmx512m -Xmn256m -Xss512k

Insertar descripción de la imagen aquí

  1. Luego agregue [servicio] en el archivo my.service:
EnvironmentFile=-/data/netty-server.env
  1. El comando completo para mi archivo my.service es el siguiente:
[Unit]
Description=My App Service
After=network.target

[Service]
User=root
EnvironmentFile=-/data/netty-server.env
WorkingDirectory=/data
ExecStart=/usr/local/java/jdk1.8.0_361/jre/bin/java $JAVA_OPTS -jar /data/netty-server.jar
SuccessExitStatus=143
StandardOutput=journal
StandardError=journal
Restart=on-failure
RestartSec=60s

[Install]
WantedBy=multi-user.target

Luego simplemente ejecútelo en secuencia:

systemctl daemon-reload
systemctl enable myapp.service
systemctl start myapp.service

Supongo que te gusta

Origin blog.csdn.net/qq_37120477/article/details/131047103
Recomendado
Clasificación