知识库

如何在 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>

完成这些更改后,您可以以 root 用户身份手动启动和停止 Neo4j 服务。

如果您以 root 用户身份执行以下命令,这将以 "neo4j" 用户身份启动 neo4j,因此进程 ID 将归此用户所有

# 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 是否自动重启。

© . All rights reserved.