知识库

如何在 Linux 服务器重启时启动 Neo4j

如果您想在 Linux 系统上使用 tar 安装模拟 Neo4j RPM 服务,请执行以下步骤

以 root 身份

  1. 将 $NEO4J_HOME/bin/neo4j 脚本文件复制到 /etc/init.d

  2. 编辑 /etc/init.d/neo4j 脚本文件以取消注释 NEO4J_HOME 变量并将此变量设置为正确的 Neo4j 主目录值。NEO4J_HOME 变量设置在标记为

    # Provides these environment variables:
    NEO4J_HOME=<full_path_to_your_NEO4J_HOME>

完成这些更改后,您可以手动启动并将 neo4j 作为服务以 root 身份启动。

如果您以 root 身份执行以下操作,这将以“neo4j”用户身份启动 neo4j,因此 pid 将由该用户拥有

# su - neo4j -c "service neo4j start"

例如,如果您的 neo4j 用户具有 sudo 权限,您也可以从用户级别执行这些命令

$ sudo service neo4j start

要设置在 Linux 服务器重新启动时自动停止/启动 Neo4j,请执行以下步骤

以 root 身份

a) 使用以下内容创建文件 /etc/init.d/neo4j_ctl

#!/bin/sh

        OWNER=neo4j #Set to the owner of the Neo4j installation

        case "$1" in
        'start')
            su - $OWNER -c "service neo4j start"
            ;;
        'stop')
            su - $OWNER -c "service neo4j stop"
            ;;
        'restart')
            su - $OWNER -c "service neo4j restart"
            ;;
        *)
            echo "Usage: $0 { start | stop | restart }"
            exit 1
            ;;
        esac
        exit 0

b) 设置脚本的权限

# chmod 744 /etc/init.d/neo4j_ctl

c) 通过关闭数据库来测试脚本

# /etc/init.d/neo4j_ctl stop

d) 通过启动数据库来测试脚本

# /etc/init.d/neo4j_ctl start

e) 配置系统以在正确的运行级别启动 Neo4j,并在运行级别 0 停止 Neo4j。

运行以下命令以确定要运行的 Linux 运行级别

# /sbin/runlevel

如果运行级别为 3,则执行以下步骤

# cd /etc/rc3.d
# ln -s ../init.d/neo4j_ctl S40neo4j_ctl
# cd /etc/rc0.d
# ln -s ../init.d/neo4j_ctl K30neo4j_ctl

如果运行级别为 5,则执行以下步骤

# cd /etc/rc5.d
# ln -s ../init.d/neo4j_ctl S40neo4j_ctl
# cd /etc/rc0.d
# ln -s ../init.d/neo4j_ctl K30neo4j_ctl

f) 重新启动 Linux 系统并检查 Neo4j 是否已自动重新启动。