【译】在 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 策略。

相关推荐
一入程序无退路3 分钟前
c语言传参数路径太长,导致无法获取参数
linux·c语言·数据库
上海运维Q先生5 分钟前
面试题整理19----Metric的几种类型?分别是什么?
运维·服务器·面试
打鱼又晒网13 分钟前
Linux网络 | 网络计算器客户端实现与Json的安装以及使用
linux·c++·网络协议·计算机网络
hao_wujing14 分钟前
现代网络负载均衡与代理导论
运维·网络·负载均衡
朝九晚五ฺ16 分钟前
【Linux探索学习】第二十三弹——理解文件系统:认识硬件、探索文件在硬件上的存储问题
linux·运维·学习
匹马夕阳43 分钟前
容器化平台Docker初识
运维·docker·容器
互联网资讯1 小时前
抖音生活服务商系统源码怎么搭建?
大数据·运维·人工智能·生活
-指短琴长-1 小时前
Linux从0到1——线程同步和互斥【互斥量/条件变量/信号量/PC模型】
linux·运维·服务器
梦呓01041 小时前
platform_msi使用
linux
A charmer1 小时前
畅游 Linux 开发天地:yum 与 vim 详解
linux·运维·服务器