知识库

设置 Neo4j 服务以使用不同的服务 ID 运行

默认情况下,当通过 yum 或 apt-get 安装 neo4j 为 RPM 包时,会创建一个用户 neo4j 和组 neo4j,并以 neo4j 用户运行。然而可能需要将 Neo4j 服务以除 neo4j 之外的其他服务 ID 运行。因此本文将探讨如何配置服务 ID 来运行 Neo4j 服务。

为简化起见,假设此操作在 Redhat Release 7.x 上进行

遵循 Neo4j 操作手册文档中指定的说明来安装 Neo4j Enterprise。 /docs/operations-manual/current/installation/linux/rpm/

Neo4j 服务安装完成后,会创建一个名为 neo4j 的新用户和组。使用 sudo systemctl start neo4j 启动 Neo4j 服务时,服务由 neo4j 用户启动。

要以不同用户设置并启动 Neo4j 服务,我们必须遵循下面列出的步骤。

我们将使用用户 testuser 和组 testuser 来设置 Neo4j 服务。

第一步是编辑 neo4j.service,将用户和组更改为 testuser,使服务能够以该用户和组启动。

 sudo vi /usr/lib/systemd/system/neo4j.service

如下所示编辑,修改 UserGroup

[Unit]
Description=Neo4j Graph Database
After=network-online.target
Wants=network-online.target

[Service]
ExecStart=/home/rohan_kharwar/neo4j-enterprise-3.5.5/bin/neo4j console
Restart=on-failure
User=testuser
Group=testuser
Environment="NEO4J_CONF=/home/rohan_kharwar/neo4j-enterprise-3.5.5/conf" "NEO4J_HOME=/home/rohan_kharwar/neo4j-enterprise-3.5.5"
LimitNOFILE=60000
TimeoutSec=120

[Install]
WantedBy=multi-user.target

第二步是将以下文件的所有者更改为 testuser:testuser。适用于 RPM 安装

/etc/neo4j
/etc/neo4j/jmx.access
/etc/neo4j/jmx.password
/etc/neo4j/neo4j.conf
/var/lib/neo4j
/var/lib/neo4j/data
/var/lib/neo4j/data/databases
/var/lib/neo4j/import
/var/lib/neo4j/plugins
/var/log/neo4j
/var/run/neo4j

步骤记录如下

$ sudo chown testuser:testuser -R /etc/neo4j
$ sudo chown testuser:testuser -R /var/lib/neo4j
$ sudo chown testuser:testuser -R /var/log/neo4j
$ sudo chown testuser:testuser -R /var/run/neo4j

完成上述步骤后,文件所有者应更改为 testuser。然后以如下方式启动 neo4j 服务

$ sudo systemctl start neo4j

这样应以已设置的服务用户启动。

要验证 neo4j 服务是否以用户 testuser 启动,执行 ps -ef | grep -i neo4j

输出应显示 testuser,如下所示

testuser  3296     1 26 18:00 ?        00:00:19 /usr/bin/java -cp /var/lib/neo4j/plugins:/etc/neo4j:/usr/share/neo4j/lib/*:/var/lib/neo4j/plugins/* -server -XX:+UseG1GC -XX:-OmitStackTraceInFastThrow -XX:+AlwaysPreTouch -XX:+UnlockExperimentalVMOptions -XX:+TrustFinalNonStaticFields -XX:+DisableExplicitGC -Djdk.tls.ephemeralDHKeySize=2048 -Djdk.tls.rejectClientInitiatedRenegotiation=true -Dunsupported.dbms.udc.source=rpm -Dfile.encoding=UTF-8 com.neo4j.server.enterprise.CommercialEntryPoint --home-dir=/var/lib/neo4j --config-dir=/etc/neo4j
© . This site is unofficial and not affiliated with Neo4j, Inc.