Linux 可执行文件 (.tar)
在通过 tarball 在 Linux 上安装 Neo4j 并将其作为控制台应用程序或服务运行之前,请检查系统要求以确认您的设置是否适用。
从 tarball 安装 Neo4j
-
如果尚未安装,请获取 OpenJDK 21 或 Oracle Java 21。
-
从 Neo4j 部署中心下载最新的 Neo4j tarball 并解压
tar zxf neo4j-enterprise-2025.05.0-unix.tar.gz
-
将解压的文件移动到服务器的 /opt 目录并为其创建符号链接
mv neo4j-enterprise-2025.05.0 /opt/ ln -s /opt/neo4j-enterprise-2025.05.0 /opt/neo4j
-
创建
neo4j
用户和组groupadd neo4j useradd -g neo4j neo4j -s /bin/bash
-
使用以下选项之一为目录赋予正确的权限
-
Ubuntu
chown -R neo4j:adm /opt/neo4j-enterprise-2025.05.0
-
RedHat
chown -R neo4j /opt/neo4j-enterprise-2025.05.0
-
-
通过设置环境变量
NEO4J_CONF
和相应的server.directories.*
设置,将 data、conf、certificates、licenses 和 plugins(如果您计划使用自定义插件)目录的默认位置指向所需位置。将 Neo4j 文件存储在
NEO4J_HOME
之外将简化后续的升级过程,因为您可以替换 DBMS 二进制文件而不会影响配置和状态。否则,这些 Neo4j 文件将保留在旧的安装文件夹中,并可能在升级期间被意外覆盖或在后续卸载期间被删除。 -
在运行 Neo4j 企业版之前,请接受商业许可协议或评估许可协议。如果您使用的是社区版,则可以跳过此步骤。
-
使用以下选项之一接受商业许可协议。有关可用协议的详细信息,请参阅 Neo4j 许可页面。
-
设置环境变量
NEO4J_ACCEPT_LICENSE_AGREEMENT=yes
。 -
运行
<NEO4J_HOME>/bin/neo4j-admin server license --accept-commercial
-
-
使用以下选项之一接受适用于 Neo4j 软件的 Neo4j 评估协议。
-
设置环境变量
NEO4J_ACCEPT_LICENSE_AGREEMENT=eval
。 -
运行
<NEO4J_HOME>/bin/neo4j-admin server license --accept-evaluation
。
-
-
-
首次启动数据库之前,建议使用
neo4j-admin
的set-initial-password
命令为本机用户neo4j
定义密码。如果未通过此方法显式设置密码,则密码将设置为默认密码
neo4j
。在这种情况下,首次登录时会提示您更改默认密码。
有关详细信息,请参阅设置初始密码。 -
启动 Neo4j
-
要将 Neo4j 作为控制台应用程序运行,请使用:
<NEO4J_HOME>/bin/neo4j console
。 -
要在后台进程中运行 Neo4j,请使用:
<NEO4J_HOME>/bin/neo4j start
。
-
-
在您的网络浏览器中打开 http://localhost:7474。
-
使用用户名
neo4j
和您的密码或默认密码neo4j
进行连接。然后系统会提示您更改密码。 -
在控制台中键入
Ctrl-C
以停止服务器。
配置 Neo4j 在系统启动时自动启动
您可以创建 Neo4j 服务并将其配置为在系统启动时自动启动。
-
使用以下内容创建文件 /lib/systemd/system/neo4j.service
[Unit] Description=Neo4j Graph Database After=network-online.target Wants=network-online.target [Service] ExecStart=/opt/neo4j/bin/neo4j console Restart=on-abnormal User=neo4j Group=neo4j Environment="NEO4J_CONF=/opt/neo4j/conf" "NEO4J_HOME=/opt/neo4j" LimitNOFILE=60000 TimeoutSec=120 [Install] WantedBy=multi-user.target
-
重新加载 systemctl 以获取新的服务文件
systemctl daemon-reload
-
配置 Neo4j 在启动时启动
systemctl enable neo4j
-
首次启动数据库之前,建议使用
neo4j-admin
的set-initial-password
命令为本机用户neo4j
定义密码。如果未通过此方法显式设置密码,则密码将设置为默认密码
neo4j
。在这种情况下,首次登录时会提示您更改默认密码。
有关详细信息,请参阅设置初始密码。 -
启动 Neo4j
systemctl start neo4j
-
检查新创建服务的状态
systemctl status neo4j
-
重新启动系统(如果需要)以验证 Neo4j 在启动时是否重新启动
reboot
有关操作 Neo4j 系统服务的更多信息,请参阅Neo4j 系统服务。
设置打开文件数量
Linux 平台对每个用户和会话同时打开的文件数量施加了上限。要检查当前会话的限制,请运行命令 ulimit -n
。默认值为 1024。
ulimit -n
但是,如果您遇到“打开文件过多 (Too many open files)”或“无法统计目录 (Could not stat() directory)”的异常,则必须根据您的使用模式将限制增加到 40000 或更高。当使用大量索引,或者服务器安装有太多打开的网络连接或套接字时,尤其如此。
一个快速解决方案是命令 ulimit -n <新限制值>
,但它只为 root 用户设置新限制,并且只影响当前会话。如果您想在系统范围内设置该值,请按照您平台的说明进行操作。
以下步骤将 Ubuntu 16.04 LTS、Debian 8、CentOS 7 或更高版本下用户 neo4j 的打开文件描述符限制设置为 60000。
将 Neo4j 作为服务运行
-
使用 root 权限打开 neo4j.service 文件。
sudo systemctl edit neo4j.service
-
将以下内容附加到在配置 Neo4j 在系统启动时自动启动中创建的
[Service]
部分。[Service] ... LimitNOFILE=60000
将 Neo4j 作为交互式用户运行(例如,用于测试目的)
-
使用 root 权限在文本编辑器中打开 user.conf 文件。本示例使用 Vim
sudo vi /etc/systemd/user.conf
-
取消注释并定义在
[Manager]
部分中找到的DefaultLimitNOFILE
的值。[Manager] ... DefaultLimitNOFILE=60000
-
打开 /etc/security/limits.conf 文件。
sudo vi /etc/security/limits.conf
-
定义以下值
neo4j soft nofile 60000 neo4j hard nofile 60000
-
重新加载
systemd
设置。sudo systemctl daemon-reload
-
重新启动您的机器。
卸载 Neo4j
请按照以下步骤在 Linux 上卸载 Neo4j
-
(可选) 创建备份以避免数据丢失。
-
停止所有正在运行的 Neo4j 服务
--- sudo systemctl stop neo4j sudo systemctl disable neo4j ---
-
删除 NEO4J_HOME 和文件 /lib/systemd/system/neo4j.service
--- rm /lib/systemd/system/neo4j.service rm -rf NEO4J_HOME ---