我已经在我的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中提到了此设置,但我无法使其正常工作。任何帮助表示赞赏!
答案 0 :(得分:5)
我刚尝试在新的Arch VM上设置Neo4j,这已成功运行。我遵循的步骤是:
pacman -S wget jdk7-openjdk
wget https://aur.archlinux.org/packages/ne/neo4j/neo4j.tar.gz
tar xvf neo4j.tar.gz
cd neo4j
makepkg
构建软件包(从dist.neo4j.org下载Neo4j)pacman -U neo4j-2.1.5-1-any.pkg.tar.gz
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
systemctl start neo4j.service
curl http://localhost:7474/db/data/
如果有效,将显示JSON响应。
由于我无法确切地说明您要安装的步骤或文件系统的外观,您最好的选择可能是比较上述步骤并查看差异所在。< / p>
猜测,我建议先查看Java安装,看看该服务是否在查找Java运行时时遇到问题。这当然是整个过程中最繁琐的部分。
注意:我在这里使用了JDK,但我不明白为什么 jre7-openjdk 包不能正常工作。
答案 1 :(得分:1)
您是否尝试为文件 /usr/lib/systemd/system/neo4j.service 添加此修改后的行?
[Unit]
Description=Neo4j
[Service]
User=neo4j
Type=forking
RuntimeDirectory=neo4j
RuntimeDirectoryMode=770
ExecStart=/usr/bin/neo4j start
ExecStop=/usr/bin/neo4j stop
ExecReload=/usr/bin/neo4j restart
RemainAfterExit=no
Restart=on-failure
PIDFile=/run/neo4j/neo4j-service.pid
LimitNOFILE=60000
TimeoutSec=600
[Install]
WantedBy=multi-user.target