Linux 可执行文件 (.tar)

在通过 tarball 在 Linux 上安装 Neo4j 并将其作为控制台应用程序或服务运行之前,请检查系统要求以确认您的设置是否适用。

从 tarball 安装 Neo4j

  1. 如果尚未安装,请获取 OpenJDK 21Oracle Java 21

  2. Neo4j 部署中心下载最新的 Neo4j tarball 并解压

    tar zxf neo4j-enterprise-2025.05.0-unix.tar.gz
  3. 将解压的文件移动到服务器的 /opt 目录并为其创建符号链接

    mv neo4j-enterprise-2025.05.0 /opt/
    ln -s /opt/neo4j-enterprise-2025.05.0 /opt/neo4j
  4. 创建 neo4j 用户和组

    groupadd neo4j
    useradd -g neo4j neo4j -s /bin/bash
  5. 使用以下选项之一为目录赋予正确的权限

    • Ubuntu

      chown -R neo4j:adm /opt/neo4j-enterprise-2025.05.0
    • RedHat

      chown -R neo4j /opt/neo4j-enterprise-2025.05.0
  6. 通过设置环境变量 NEO4J_CONF 和相应的 server.directories.* 设置,将 dataconfcertificateslicensesplugins(如果您计划使用自定义插件)目录的默认位置指向所需位置。

    将 Neo4j 文件存储在 NEO4J_HOME 之外将简化后续的升级过程,因为您可以替换 DBMS 二进制文件而不会影响配置和状态。否则,这些 Neo4j 文件将保留在旧的安装文件夹中,并可能在升级期间被意外覆盖或在后续卸载期间被删除。

  7. 在运行 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

  8. 首次启动数据库之前,建议使用 neo4j-adminset-initial-password 命令为本机用户 neo4j 定义密码。

    如果未通过此方法显式设置密码,则密码将设置为默认密码 neo4j。在这种情况下,首次登录时会提示您更改默认密码。
    有关详细信息,请参阅设置初始密码

  9. 启动 Neo4j

    • 要将 Neo4j 作为控制台应用程序运行,请使用:<NEO4J_HOME>/bin/neo4j console

    • 要在后台进程中运行 Neo4j,请使用:<NEO4J_HOME>/bin/neo4j start

  10. 在您的网络浏览器中打开 http://localhost:7474

  11. 使用用户名 neo4j 和您的密码或默认密码 neo4j 进行连接。然后系统会提示您更改密码。

  12. 在控制台中键入 Ctrl-C 以停止服务器。

配置 Neo4j 在系统启动时自动启动

您可以创建 Neo4j 服务并将其配置为在系统启动时自动启动。

  1. 使用以下内容创建文件 /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
  2. 重新加载 systemctl 以获取新的服务文件

    systemctl daemon-reload
  3. 配置 Neo4j 在启动时启动

    systemctl enable neo4j
  4. 首次启动数据库之前,建议使用 neo4j-adminset-initial-password 命令为本机用户 neo4j 定义密码。

    如果未通过此方法显式设置密码,则密码将设置为默认密码 neo4j。在这种情况下,首次登录时会提示您更改默认密码。
    有关详细信息,请参阅设置初始密码

  5. 启动 Neo4j

    systemctl start neo4j
  6. 检查新创建服务的状态

    systemctl status neo4j
  7. 重新启动系统(如果需要)以验证 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 作为服务运行

  1. 使用 root 权限打开 neo4j.service 文件。

    sudo systemctl edit neo4j.service
  2. 将以下内容附加到在配置 Neo4j 在系统启动时自动启动中创建的 [Service] 部分。

    [Service]
    ...
    LimitNOFILE=60000

将 Neo4j 作为交互式用户运行(例如,用于测试目的)

  1. 使用 root 权限在文本编辑器中打开 user.conf 文件。本示例使用 Vim

    sudo vi /etc/systemd/user.conf
  2. 取消注释并定义在 [Manager] 部分中找到的 DefaultLimitNOFILE 的值。

    [Manager]
    ...
    DefaultLimitNOFILE=60000
  3. 打开 /etc/security/limits.conf 文件。

    sudo vi /etc/security/limits.conf
  4. 定义以下值

    neo4j	soft	nofile	60000
    neo4j	hard	nofile	60000
  5. 重新加载 systemd 设置。

    sudo systemctl daemon-reload
  6. 重新启动您的机器。

卸载 Neo4j

请按照以下步骤在 Linux 上卸载 Neo4j

  1. (可选) 创建备份以避免数据丢失。

  2. 停止所有正在运行的 Neo4j 服务

    ---
    sudo systemctl stop neo4j
    sudo systemctl disable neo4j
    ---
  3. 删除 NEO4J_HOME 和文件 /lib/systemd/system/neo4j.service

    ---
    rm /lib/systemd/system/neo4j.service
    rm -rf NEO4J_HOME
    ---
© . All rights reserved.