docker运行neo4j图形数据库在浏览器登录出现 ServiceUnavailable: WebSocket connection failure. Due to sec报错解决办法,亲自测试有效

1.第一步

[root@localhost conf]# docker search neo4j
NAME                                DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
neo4j                               Neo4j is a highly scalable, robust native gr…   839                 [OK]                
2.第二步

docker pull neo4j

3.第三步 运行neo4j

 

docker run \
    --publish=7474:7474 --publish=7687:7687 \
    --volume=$HOME/neo4j/data:/data \
    --volume=$HOME/neo4j/conf:/conf \
    --volume=$HOME/neo4j/logs:/logs \
    neo4j:4.1

 

4.在浏览器输入http://192.168.111.130:7474 登录后出现 ServiceUnavailable: WebSocket connection failure. Due to security constraints..错

解决的方法 如下:

1. 切换到 cd neo4j/conf 目录

     vim neo4j.conf 进入编辑状态

 

# 修改第9行,去掉#,修改数据库名
dbms.active_database=databasegraph.db
 
# 修改第12行,去掉#。修改路径,改成绝对路径
dbms.directories.data=$HOME/neo4j/conf
# 修改9行和12行后,neo4j数据存放在 C:/WorkSpaces/Neo4j/databases/wkq_graph.db,没错,多了一个databases
 
# 修改第22行,在前面加个#,load csv时允许从任意路径读取文件
#dbms.directories.import=import
 
# 修改第26行,删除#后,连接数据库不需要密码
#dbms.security.auth_enabled=false
 
# 修改35行和36行,设置JVM初始堆内存和JVM最大堆内存,这是在我自己电脑上测试用,生产环境自己慢慢调
# 建议生产环境给的JVM最大堆内存越大越好,但是要小于机器的物理内存
dbms.memory.heap.initial_size=512m
dbms.memory.heap.max_size=2048m
 
# 修改46行,可以认为这个是缓存,如果机器配置高,这个越大越好
dbms.memory.pagecache.size=512m
 
# 修改54行,去掉改行的#,可以远程通过ip访问neo4j数据库
dbms.connectors.default_listen_address=0.0.0.0

dbms.connector.bolt.enabled=true

dbms.connector.http.enabled=true

#dbms.connector.https.enabled=true
 
# 默认 bolt端口是7687,http端口是7474,https关口是7473,不修改下面3项也可以
# 修改71行,去掉#,设置http端口为7474,端口可以自定义,只要不和其他端口冲突就行
dbms.connector.bolt.listen_address=:7678
 
# 修改75行,去掉#,设置http端口为7474,端口可以自定义,只要不和其他端口冲突就行
dbms.connector.http.listen_address=:7474
 
# 修改79行,去掉#,设置http端口为7473,端口可以自定义,只要不和其他端口冲突就行
dbms.connector.https.listen_address=:7473
 
# 修改227行,去掉#,允许从远程url来load csv
dbms.security.allow_csv_import_from_file_urls=true
 
# 修改233行,允许使用neo4j-shell,类似于mysql 命令行之类的
dbms.shell.enabled=true
 
# 修改235行,去掉#,设置连接neo4j-shell的端口,一般都是localhost或者127.0.0.1,这样安全,其他地址的话,一般使用https就行
dbms.shell.host=127.0.0.1
 
# 修改237行,去掉#,设置neo4j-shell端口,端口可以自定义,只要不和其他端口冲突就行
dbms.shell.port=1337
 
# 修改241行,设置neo4j可读可写
dbms.read_only=false

2.把上面的内容复制到neo4j.conf 保存并推出(linux 命令  :qw)

3.重新启动 docker start neo4j 访问后正常

4.neo4j 默认账户名neo4j密码neo4j ,登录后会要你修改密码

 

 

 

你可能感兴趣的:(docker,neo4j)