在Arch Linux上使用Systemd运行Neo4j时出错

Jar*_*ver 2 neo4j archlinux systemd

我已经在我的arch linux设置上安装了neo4j,并且能够手动启动服务器(sudo neo4j start).但是,当我尝试使用它时systemctl start neo4j,我得到了

Job for neo4j.service failed. See 'systemctl status neo4j.service' and
'journalctl -xn' for details.
Run Code Online (Sandbox Code Playgroud)

错误消息中的任何建议都没有提供任何帮助.我有/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
Run Code Online (Sandbox Code Playgroud)

我尝试在neo4j和root之间更改用户,在尝试设置security/limits.conf中的限制之前,我最初没有注释掉LimitNOFILE(在正常启动时摆脱了文件编号错误).AUR中提到了此设置,但我无法使其正常工作.任何帮助表示赞赏!

Nig*_*all 5

我刚刚尝试在一个新的Arch VM上设置Neo4j,这已成功运行.我遵循的步骤是:

  1. 通过运行安装wgetjdk7-openjdkpacman -S wget jdk7-openjdk
  2. 使用AUR下载Neo4j软件包 wget https://aur.archlinux.org/packages/ne/neo4j/neo4j.tar.gz
  3. 解压缩包 tar xvf neo4j.tar.gz
  4. 改变目录 cd neo4j
  5. 使用构建包makepkg(从dist.neo4j.org下载Neo4j)
  6. 安装时 pacman -U neo4j-2.1.5-1-any.pkg.tar.gz
  7. 根据安装期间收到的消息,创建配置以指向已安装的JDK:
    • mkdir /etc/systemd/system/neo4j.service.d
    • echo "[Service]" >> /etc/systemd/system/neo4j.service.d/java_home.conf
    • echo "Environment=JAVA_HOME=/usr/lib/jvm/default" >> /etc/systemd/system/neo4j.service.d/java_home.conf
  8. 使用启动服务器 systemctl start neo4j.service
  9. 检查服务器是否正在运行 curl http://localhost:7474/db/data/

如果这样做,将显示JSON响应.

由于我无法确切地说明您要安装的步骤或文件系统的外观,您最好的选择可能是将上述步骤与上述步骤进行比较,看看差异在哪里.

我猜测,我建议首先查看您的Java安装,看看该服务是否在查找Java运行时时遇到问题.这肯定是整个过程中最繁琐的部分.

注意:我在这里使用了JDK,但我不明白为什么jre7-openjdk包不能正常工作.