FAQ 常见问题系列--系统管理篇 如何在Linux上配置InterSystems IRIS服务随机自启动?
与Windows上默认安装为服务随机自启动不同,我们在Linux上安装完InterSystems IRIS后,默认是没有配置系统服务的,需要做手动配置。本文提供使用systemd方式来配置InterSystems IRIS服务随机自启动的简单示例,供大家参考。
假设我们已经安装了InterSystems IRIS产品,安装完成后您可以通过iris list来来查看实例信息,包括安装路径,如:"/intersystems/iris"
[root@RHEL8-64-001 ~]# iris list
Configuration 'IRIS' (default)
directory: /intersystems/iris
versionid: 2021.2.0L.546.0
datadir: /intersystems/iris
conf file: iris.cpf (SuperServer port = 51773, WebServer = 52773)
status: running, since Mon May 31 05:03:09 2021
state: ok
product: InterSystems IRIS
在安装完成后,用以下方式搜索不到iris.service,
[root@RHEL8-64-001 ~]# systemctl list-unit-files --type=service|grep iris.service
如何将其配置为系统服务呢,下面是一个简单示例及操作步骤,供大家参考。注意:请使用root用户或者拥有root权限的用户来进行。
1. 创建systemd service,
1) 在/usr/lib/systemd/system下创建文件,iris.service,内容如下,
[root@RHEL8-64-001 system]# cat iris.service
[Unit]
Description=InterSystems IRIS
[Service]
Type=forking
ExecStart=/bin/bash -c '/intersystems/iris/irisstart 2>&1 | logger -t iris_start'
ExecStop=/bin/bash -c '/intersystems/iris/irisstop quietly 2>&1 | logger -t iris_stop'
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
其中,/intersystems/iris为实例安装目录。
2) 创建后,更改文件的属性,
[root@RHEL8-64-001 system]# chmod 755 iris.service
更改后,文件属性如下,
-rwxr-xr-x. 1 root root 225 May 31 07:32 iris.service
2. 启用该Service。
1)启用,创建系统service的link,
[root@RHEL8-64-001 system]# systemctl enable iris.service
Created symlink /etc/systemd/system/multi-user.target.wants/iris.service → /usr/lib/systemd/system/iris.service.
2)确认状态,确保已经enabled
[root@RHEL8-64-001 system]# systemctl list-unit-files --type=service|grep iris.service
iris.service enabled
3. 测试该Service,
1)进行到这个步骤,查看状态应为inactive(dead)。
[root@RHEL8-64-001 system]# systemctl status iris
● iris.service - InterSystems IRIS
Loaded: loaded (/usr/lib/systemd/system/iris.service; enabled; vendor preset>
Active: inactive (dead)
lines 1-3/3 (END)
2) 下面来启动iris服务,
[root@RHEL8-64-001 system]# systemctl start iris.service
3) 再次查看服务状态已经为active(running),启动成功。
[root@RHEL8-64-001 system]# systemctl status iris
● iris.service - InterSystems IRIS
Loaded: loaded (/usr/lib/systemd/system/iris.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2021-05-31 07:57:43 EDT; 1min 37s ago
Process: 1704 ExecStart=/bin/bash -c /intersystems/iris/irisstart 2>&1 | logger -t iris_start (code=exited, status=0/SUCCE>
Tasks: 52 (limit: 11442)
Memory: 246.0M
CGroup: /system.slice/iris.service
├─2076 /intersystems/iris/bin/irisdb -s/intersystems/iris/mgr/ -w/intersystems/iris/mgr/ -cc -B -C/intersystems/i>
├─2085 /intersystems/iris/bin/irisdb WD >
├─2086 /intersystems/iris/bin/irisdb GC >
├─2087 /intersystems/iris/bin/irisdb JD >
├─2088 /intersystems/iris/bin/irisdb AUX7 >
├─2089 /intersystems/iris/bin/irisdb AUX6 >
├─2090 /intersystems/iris/bin/irisdb AUX5 >
├─2091 /intersystems/iris/bin/irisdb AUX4 >
├─2092 /intersystems/iris/bin/irisdb AUX3 >
├─2093 /intersystems/iris/bin/irisdb AUX2 >
├─2094 /intersystems/iris/bin/irisdb AUX1 >
├─2095 /intersystems/iris/bin/irisdb DBXD >
├─2098 /intersystems/iris/bin/irisdb -s/intersystems/iris/mgr -cj -p13 START^MONITOR
├─2102 /intersystems/iris/bin/irisdb -s/intersystems/iris/mgr -cj -p13 START^CLNDMN
├─2105 /intersystems/iris/bin/irisdb -s/intersystems/iris/mgr -cj -p13 stumonitor^JRNRESTO
├─2109 /intersystems/iris/bin/irisdb -s/intersystems/iris/mgr -cj -p13 ^RECEIVE
4)最后重启操作系统,测试iris可以随机自启动。
注:以上测试在Red Hat Linux Enterprise 8版本上进行。