主题
Neo4j服务部署指南
🚀 一、部署步骤
1. 系统环境检查
bash
# 检查系统版本
cat /etc/redhat-release
# 检查Java环境(Neo4j需要Java 11或更高版本)
java -version
# 检查是否已安装Neo4j
rpm -qa | grep neo4j1
2
3
4
5
6
2
3
4
5
6
2. 安装Java环境(如果未安装)
安装之前先执行:更换源方法
bash
# 切换成root用户
su - root
# 安装OpenJDK 11(Neo4j推荐版本)
yum -y install java-11-openjdk java-11-openjdk-devel
# 验证Java安装
java -version
javac -version
# 设置Java环境变量
echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk' >> /etc/profile
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile
source /etc/profile1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11

3. 安装Neo4j
bash
# 添加Neo4j官方Yum仓库
cat > /etc/yum.repos.d/neo4j.repo << 'EOF'
[neo4j]
name=Neo4j Yum Repo
baseurl=https://yum.neo4j.com/stable
enabled=1
gpgcheck=1
gpgkey=https://debian.neo4j.com/neotechnology.gpg.key
EOF
# 导入GPG密钥
rpm --import https://debian.neo4j.com/neotechnology.gpg.key
# 安装Neo4j社区版
yum -y install neo4j
# 验证安装
rpm -qa | grep neo4j1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

4. 启动并配置Neo4j服务
bash
# 启动Neo4j服务
systemctl start neo4j
# 设置Neo4j开机自启
systemctl enable neo4j
# 检查服务状态
systemctl status neo4j
# 查看服务日志
journalctl -u neo4j -f1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
5. 配置Neo4j
bash
# 编辑Neo4j主配置文件
vim /etc/neo4j/neo4j.conf1
2
2
在配置文件中进行以下关键配置:
ini
# 启用远程连接(注意:Neo4j 4.4+ 推荐使用新语法)
dbms.default_listen_address=0.0.0.0
# 设置Bolt连接端口(默认7687)
dbms.connector.bolt.enabled=true
dbms.connector.bolt.listen_address=:7687
dbms.connector.bolt.advertised_address=:7687
# 设置HTTP连接端口(默认7474)
dbms.connector.http.enabled=true
dbms.connector.http.listen_address=:7474
dbms.connector.http.advertised_address=:7474
# 禁用HTTPS(避免SSL证书问题)
# dbms.connector.https.enabled=true
# dbms.connector.https.listen_address=:7473
# dbms.connector.https.advertised_address=:7473
# 设置初始密码(首次启动后需要修改)
dbms.security.auth_enabled=true
# 内存配置(适合1-2GB内存服务器)
dbms.memory.heap.initial_size=128m
dbms.memory.heap.max_size=256m
dbms.memory.pagecache.size=128m
# 日志配置
dbms.logs.debug.level=WARN
# 禁用不必要的功能以减少资源占用
dbms.jvm.additional=-XX:+UseG1GC
# 事务日志配置
dbms.tx_log.rotation.retention_policy=100M size
dbms.logs.query.enabled=true
dbms.logs.query.threshold=0s1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
bash
# 重启Neo4j使配置生效
systemctl restart neo4j
# 检查服务状态
systemctl status neo4j1
2
3
4
2
3
4
6. 防火墙配置
bash
# 开放Neo4j相关端口
firewall-cmd --permanent --add-port=7474/tcp # HTTP
firewall-cmd --permanent --add-port=7473/tcp # HTTPS
firewall-cmd --permanent --add-port=7687/tcp # Bolt协议
# 重新加载防火墙配置
firewall-cmd --reload
# 验证端口开放
firewall-cmd --list-ports1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
或者直接完全关闭防火墙(测试环境):
bash
systemctl stop firewalld
systemctl disable firewalld
setenforce 01
2
3
2
3
🧪 二、部署后测试
1. 服务状态测试
bash
# 检查Neo4j服务状态
systemctl status neo4j
# 检查端口监听
netstat -tlnp | grep -E '7474|7473|7687'
# 检查进程
ps aux | grep neo4j1
2
3
4
5
6
2
3
4
5
6
2. 本地连接测试
bash
# 使用curl测试HTTP接口
curl -I http://localhost:7474
# 获取Neo4j欢迎页面
curl http://localhost:74741
2
3
4
2
3
4
3. 浏览器访问测试
在浏览器中访问:
- HTTP接口:
http://服务器IP:7474初次登陆用户名密码如下,需要设置密码 - 用户名: neo4j
- 密码: neo4j

📊 三、常用管理命令
服务管理
bash
# 启动Neo4j
systemctl start neo4j
# 停止Neo4j
systemctl stop neo4j
# 重启Neo4j
systemctl restart neo4j
# 查看服务状态
systemctl status neo4j
# 查看服务日志
journalctl -u neo4j -f
# 设置开机自启
systemctl enable neo4j
# 禁用开机自启
systemctl disable neo4j1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
日志管理
bash
# 查看Neo4j日志
tail -f /var/log/neo4j/neo4j.log
# 查看调试日志
tail -f /var/log/neo4j/debug.log
# 查看查询日志
tail -f /var/log/neo4j/query.log1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
Cypher查询示例
建议用Neo4j自带的示例,来尝试使用数据库,演示视频如下
也可以通过Neo4j Browser或命令行工具执行Cypher查询:
cypher
-- 创建第一个节点
CREATE (n:Person {name: 'Alice', age: 30})
-- 创建第二个节点
CREATE (n:Person {name: 'Bob', age: 25})
-- 创建关系
MATCH (a:Person {name: 'Alice'}), (b:Person {name: 'Bob'})
CREATE (a)-[:KNOWS {since: 2020}]->(b)
-- 查询所有节点和关系
MATCH (n) RETURN n
-- 查询特定关系
MATCH (a:Person)-[r:KNOWS]->(b:Person)
RETURN a.name, r.since, b.name1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
🔧 四、故障排除
常见问题及解决方案
4. 忘记管理员密码
bash
# 停止Neo4j服务
systemctl stop neo4j
# 编辑配置文件,禁用认证
echo 'dbms.security.auth_enabled=false' >> /etc/neo4j/neo4j.conf
# 启动Neo4j
systemctl start neo4j
# 通过Cypher重置密码
:server connect
# 执行:CALL dbms.security.changePassword('新密码')
# 重新启用认证
vim /etc/neo4j/neo4j.conf
# 将dbms.security.auth_enabled改为true
# 重启服务
systemctl restart neo4j1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
🎯 六、备份与恢复
备份数据库
bash
# 停止Neo4j服务
systemctl stop neo4j
# 备份数据目录
tar -czf /backup/neo4j-backup-$(date +%Y%m%d).tar.gz /var/lib/neo4j/data/
# 启动服务
systemctl start neo4j1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
恢复数据库
bash
# 停止Neo4j服务
systemctl stop neo4j
# 恢复备份
tar -xzf /backup/neo4j-backup-20231214.tar.gz -C /
# 启动服务
systemctl start neo4j1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
✅ 总结
通过以上步骤,您已经成功在CentOS 7上部署了Neo4j图数据库服务。主要完成了:
- ✅ Java环境安装和配置
- ✅ Neo4j官方仓库配置
- ✅ Neo4j服务安装和启动
- ✅ 网络和防火墙配置
- ✅ 初始密码设置和测试
- ✅ 常用管理命令学习
- ✅ 故障排除方案准备