Ubuntu 增加服务 比如openfire

在Ubuntu上,可以使用systemd来管理和配置服务。下面是将命令添加为服务的一般步骤:

创建一个.service文件,该文件描述了您要添加的服务。打开终端,并使用以下命令创建一个新的服务文件:

sudo nano /etc/systemd/system/my-service.service

在打开的文件中,输入以下内容(请根据您的需求进行适当修改):

Unit

Description=My Service

After=network.target

Service

ExecStart=/path/to/your/command

WorkingDirectory=/path/to/working/directory

Restart=always

Install

WantedBy=multi-user.target

Description:服务的简短描述。

After:指定服务应在哪个目标之后启动(例如network.target表示在网络连接之后启动)。

ExecStart:要执行的命令或脚本的路径。

WorkingDirectory:命令执行的工作目录。

Restart:定义服务在发生错误或停止后是否应自动重启。

WantedBy:指定服务所属的目标。

保存并关闭文件。使用Ctrl + X,然后按Y确认保存,最后按Enter键退出编辑器。

让系统重新加载systemd服务配置:

sudo systemctl daemon-reload

启动服务并设置其在系统启动时自动启动:

sudo systemctl start my-service

sudo systemctl enable my-service

start:启动服务。

enable:设置服务在系统启动时自动启动。

现在,您的命令已经以服务的形式添加到Ubuntu中,并且可以通过systemctl命令启动、停止和管理该服务。例如:

sudo systemctl start my-service # 启动服务

sudo systemctl stop my-service # 停止服务

sudo systemctl restart my-service # 重启服务

sudo systemctl status my-service # 查看服务状态


针对openfire,下载的tar.gz解压缩文件目录如下:

复制代码
root@QHTProxy:/opt/openfire/bin# ls
extra  openfire  openfire.sh  openfirectl

在/etc/systemd/system下面新建文件 openfired.service

bash 复制代码
root@QHTProxy:/opt/openfire/bin#  cat /etc/systemd/system/openfired.service 
[Unit]
Description=OpenFire
After=network.target

[Service]
ExecStart=/opt/openfire/bin/openfire.sh
WorkingDirectory=/opt/openfire/bin
Restart=always

[Install]
WantedBy=multi-user.target

增加可执行权限

bash 复制代码
root@QHTProxy:/opt/openfire/bin# chmod a+x /etc/systemd/system/openfired.service

重新加载systemd服务配置

bash 复制代码
root@QHTProxy:/opt/openfire/bin# systemctl daemon-reload

开启服务:

bash 复制代码
root@QHTProxy:/opt/openfire/bin# systemctl start  openfired 

root@QHTProxy:/opt/openfire/bin# systemctl status  openfired 
● openfired.service - OpenFire
   Loaded: loaded (/etc/systemd/system/openfired.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2023-11-03 11:00:20 CST; 8s ago
 Main PID: 2702 (java)
    Tasks: 59
   Memory: 289.8M
      CPU: 13.435s
   CGroup: /system.slice/openfired.service
           └─2702 /usr/lib/jvm/java-8-openjdk-amd64/bin/java -Dlog4j.configurationFile=/opt/openfire/lib/log4j2.xml -Dlog4j2.formatMsgNoLookups=true -Djdk.tls.ephemeralDHKeySize=matched -Djsse.S

Nov 03 11:00:20 QHTProxy systemd[1]: Started OpenFire.
Nov 03 11:00:20 QHTProxy openfire.sh[2702]: /opt/openfire/bin/openfire.sh: 21: /opt/openfire/bin/openfire.sh: shopt: not found
Nov 03 11:00:23 QHTProxy openfire.sh[2702]: Openfire 4.7.5 [2023-11-3 11:00:23]
Nov 03 11:00:24 QHTProxy openfire.sh[2702]: 管理平台开始监听:
Nov 03 11:00:24 QHTProxy openfire.sh[2702]:   http://qhtproxy:9090
Nov 03 11:00:24 QHTProxy openfire.sh[2702]:   https://qhtproxy:9091
Nov 03 11:00:24 QHTProxy openfire.sh[2702]: Successfully loaded plugin 'admin'.
Nov 03 11:00:24 QHTProxy openfire.sh[2702]: Successfully loaded plugin 'search-1.7.3'.
Nov 03 11:00:24 QHTProxy openfire.sh[2702]: Successfully loaded plugin 'userimport
相关推荐
小小代码狗10 分钟前
SQLi-Labs 基础注入实战教程(Less-1 ~ Less-5and Less-9)
服务器·python·php
letisgo528 分钟前
VMware Workstation + Ubuntu 26.04 LTS 小白运维部署手册
linux·运维·ubuntu
蓝创工坊Blue Foundry34 分钟前
图片文字提取到 Excel:批量任务如何先定义要交付的字段
运维·服务器·开发语言·数据库·自动化·ocr·excel
晚风吹长发43 分钟前
Docker使用——Docker容器及相关命令
linux·运维·服务器·docker·容器·架构
ShiXZ2131 小时前
Docker Compose 安装与配置指南
运维·docker·容器
麦聪聊数据1 小时前
企业数据市场建设(四):流程闭环与价值运营,让数据市场真正转起来
运维·数据库
是潮汕的灿灿展吖2 小时前
Centos离线部署nfs操作
linux·运维·centos
FII工业富联科技服务2 小时前
从灯塔工厂到AI Factory新模式:AI正在重构制造业的四大核心能力
大数据·运维·人工智能·重构·ar·制造
小五传输2 小时前
自主可控建设指南:Serv-u替代方案,实现平滑迁移业务不中断
大数据·运维·安全
jun_bai2 小时前
Orthanc服务器使用java上传dicom影像文件
java·运维·服务器