【发布时间】:2014-10-16 03:02:26
【问题描述】:
我已经在我的 arch linux 设置上安装了 neo4j,并且能够手动启动服务器 (sudo neo4j start)。但是,当我尝试使用 systemctl start neo4j 启动它时,我得到了
Job for neo4j.service failed. See 'systemctl status neo4j.service' and
'journalctl -xn' for details.
错误消息中的建议都没有提供任何帮助。我有 /usr/lib/systemd/system/neo4j.service:
[Unit]
Description=Neo4j
[Service]
User=root
Type=forking
ExecStart=/usr/bin/neo4j start
ExecStop=/usr/bin/neo4j stop
PIDFile=/run/neo4j/neo4j-service.pid
#LimitNOFILE=40000
[Install]
WantedBy=multi-user.target
我尝试在 neo4j 和 root 之间更改用户,并且在我尝试在 security/limits.conf 中设置限制之前,我最初没有注释掉 LimitNOFILE(它在正常启动时消除了文件编号错误) . AUR 中提到了此设置,但我无法使其正常工作。任何帮助表示赞赏!
【问题讨论】:
-
systemd 应该正在捕获 Neo4j 的标准输出。当你运行
journalctl时,你看到了吗?还是在/var/log/syslog? (或其他地方,取决于 syslog 的配置方式。)你在 Neo4j 自己的日志中看到了什么吗?它们的位置取决于您安装 Neo4j 的方式,通常在<neo4j-root>/data下。 -
我在这些地方都没有看到来自 neo4j 的任何东西。日志记录是基于每个服务配置的吗?我可以设置 systemctl 将其通过管道传输到标准输出吗?
-
恐怕我对 Arch 或 systemd 不够了解,无法回答这个问题。但我看到你已经接受了下面的答案,所以我假设你现在没事了。
-
看起来错误发生在 neo4j 将任何内容放入标准输出之前。我把它整理出来了,现在我可以看到记录的输出了。