【译】在 Linux 上以 systemd 服务方式运行 Jira

原文地址:Run Jira as a systemd service on linux

本文仅适用于服务器和数据中心平台上的 Atlassian 产品。 对服务器*产品的支持将于 2024 年 2 月 15 日之后终止。如果您正在运行服务器产品,可以访问 Atlassian 服务器支持终止公告,查看迁移选项。

*Fisheye和Crucible除外
Linux/Solaris 系统管理不属于 Atlassian 支持范围。本页面仅供参考。

一、目的

本文介绍如何在 Linux 中将 Jira 安装为 systemd 服务。

二、前提条件

Jira 已安装并正常运行,但启动时不会自动启动。例如,Jira 是通过 .zip 包而不是 .bin 安装程序安装的,或者您已将 JIRA 迁移到不同的服务器上。实测发现 bin 安装的也不会自动启动。

三、解决方案

  1. 以 root 用户身份登录 Jira 应用程序服务器。
  2. 以 root 用户身份为 jira 服务创建以下 systemd 单元文件:
bash 复制代码
touch /lib/systemd/system/jira.service
chmod 664 /lib/systemd/system/jira.service
  1. 以 root 身份编辑 systemd 单元文件:
bash 复制代码
vi /lib/systemd/system/jira.service
  1. 在 systemd 单元文件中添加以下内容,以定义 jira 服务:
bash 复制代码
[Unit] 
Description=Atlassian Jira
After=network.target

[Service] 
Type=forking
User=jira
LimitNOFILE=20000
PIDFile=/opt/atlassian/jira/work/catalina.pid
ExecStart=/opt/atlassian/jira/bin/start-jira.sh
ExecStop=/opt/atlassian/jira/bin/stop-jira.sh

[Install] 
WantedBy=multi-user.target 

ℹ️上面定义的 "jira "用户是用于运行 jira 的用户,如果您在其他用户下运行 jira,请更改该用户。像我当前的服务器安装过多次 jira,所以用户名是 jira5,可以通过ps -ef | grep java来查看 jira 运行的用户名。

ℹ️"/opt/atlassian/jira "是默认的 Jira 安装路径,如果您的 Jira 安装路径不同,请更改此路径。

⚠️请勿在前台运行 jira,否则将无法创建文件 "catalina.out"。

  1. 启用服务并启动它:
bash 复制代码
systemctl daemon-reload
systemctl enable jira.service
systemctl start jira.service
systemctl status jira.service

ℹ️在某些情况下,尝试启用 Jira 服务时可能会看到以下错误消息:

bash 复制代码
systemctl enable jira.service
Synchronizing state of jira.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable jira
update-rc.d: error: jira Default-Start contains no runlevels, aborting.
root@cnovit:/lib/systemd/system# cat /etc/init.d/jira

ℹ️这可能是由于之前创建的 Jira 服务文件造成的。要解决这个问题,用户可以根据自己的环境执行以下操作:

  1. 如果文件存在,请备份以前的 Jira 服务文件,然后在启用新的 Jira 服务文件之前删除它:
bash 复制代码
cp /etc/init.d/jira /opt/atlassian/jira-init.d.bak && rm /etc/init.d/jira
sudo systemctl enable jira.service
Created symlink /etc/systemd/system/multi-user.target.wants/jira.service → /lib/systemd/system/jira.service.

⚠️此外,我们建议禁用 SELinux 策略。

相关推荐
chlk1231 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑1 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件1 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒1 天前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号2 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash2 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行3 天前
Linux和window共享文件夹
linux
木心月转码ing3 天前
WSL+Cpp开发环境配置
linux
蝎子莱莱爱打怪4 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes