服务器安装

服务器安装是一个两步过程。第一步,如上一节所述,是设置一个 Neo4j DBMS 作为 NOM 的持久化存储。

第二步是下载并配置参数和/或环境变量到您想要运行 NOM 的特定环境中,然后将 NOM 安装为服务或作为控制台应用程序运行。这两种方法都在下面进行了描述。推荐以服务方式运行 NOM Server。

Neo4j 企业版的所有发行版都捆绑了 Neo4j 发行时最新的 NOM 版本。请注意,这不必是 NOM 的最新版本。您可以在 Neo4j 文件夹下的 /products 中找到 NOM,格式为 .zip.tar.gz。或者,您可以下载任何版本的 NOM Server,包括代理二进制文件,网址为:下载。无论哪种情况,请将下载的 .zip.tar.gz 文件的内容解压缩到您想要运行 NOM 的任何目录(在以下内容中称为 NOM 服务器文件夹)。

先决条件

  • 1 个 CPU 内核(建议 2 个)

  • 2 GB RAM(建议 4 GB)

  • 15 GB 磁盘空间

  • Windows 或基于 Unix 的操作系统

  • Java 17 或 21

  • 用于 TLS 保护端点的密钥对和证书(作为 PKCS12 文件)(有关测试和演示目的,请参阅 自签名证书生成)。如果使用 OpenSSL 生成了密钥对和证书,请确保使用了 OpenSSL 3.x 或更高版本。

如果证书不是由公共 CA 颁发的,则需要使用以下命令将中间证书或 CA 的证书添加到 Java 的信任存储区

keytool -importcert -alias <alias> -file <path/to/cert/file> -cacerts -storepass <trust store password> -trustcacerts -noprompt

如果您在将用于服务器的机器上安装了多个版本的 Java,则可以设置 JAVA_HOME 环境变量以指向所需的 Java 主目录。

输入包含特殊(保留)字符的配置值时,请仔细注意。哪些字符是特殊(保留)字符取决于操作系统和安装方法。

以服务方式运行

Linux (systemd)

在服务文件中设置参数

导航到 NOM 服务器文件夹下的 etc/,其中位于 neo4j-ops-manager-server.service 文件。此文件包含一个需要根据您的环境调整的部分(例如,您用于设置持久性数据库的 Neo4j 密码,ssl 密钥库文件的正确路径等)。

使用环境变量

作为更改 neo4j-ops-manager-server.service 文件中参数的替代方法,您可以使用环境变量来达到相同的结果。neo4j-ops-manager-server.service 文件包含此操作所需的信息。表 此处 包含环境变量和示例值。

安装

neo4j-ops-manager-server.service 文件复制到 /etc/systemd/system 目录中。

接下来,执行以下命令将 NOM Server 安装为服务

sudo systemctl daemon-reload
sudo systemctl enable neo4j-ops-manager-server

启动和停止

使用以下命令启动 NOM Server 作为服务

sudo systemctl start neo4j-ops-manager-server

NOM Server 现在可以使用了。

要停止 NOM Server,请使用以下命令

sudo systemctl stop neo4j-ops-manager-server

对于 SELinux

必须更改服务器二进制文件的 SELinux 上下文,以便可以从服务中执行它。要永久更改文件的 SELinux 上下文,请运行以下命令

sudo semanage fcontext -a -t bin_t <SERVER_PATH>/bin/server
sudo restorecon -v <SERVER_PATH>/bin/server

<SERVER_PATH> 应替换为 NOM 服务器文件夹的路径。

Windows

在服务文件中设置参数

导航到 NOM 服务器文件夹下的 bin\,其中位于 server.xml 文件。此文件包含一个 <arguments> 部分,需要根据您的环境进行调整(例如,您用于设置持久性数据库的 Neo4j 密码,ssl 密钥库文件的正确路径等)。

使用环境变量

作为更改 server.xml 文件中参数的替代方法,您可以使用环境变量来达到相同的结果。server.xml 文件包含此操作所需的信息。表 此处 包含环境变量和示例值。

安装

您可以使用 NOM 服务器文件夹下的 bin\ 中提供的 server.exe 安装服务器服务,方法是运行以下命令

server.exe install

启动和停止

安装成功完成后,您可以使用以下命令启动 NOM Server 作为服务

server.exe start

NOM Server 现在可以使用了。

要停止 NOM Server,请使用以下命令

server.exe stop

作为控制台应用程序运行

尽管可以将 NOM Server 作为控制台应用程序运行,但并不推荐。最佳实践是将 NOM Server 作为服务运行,如上一节所述。

Unix

在命令行上传递参数

导航到 NOM Server 文件夹并执行以下命令

java -jar ./lib/server.jar
        --spring.neo4j.uri=neo4j://localhost:7687
        --spring.neo4j.authentication.username=neo4j
        --spring.neo4j.authentication.password=password
        --server.port=8080
        --server.ssl.key-store-type=PKCS12
        --server.ssl.key-store=file:./certificates/server.pfx
        --server.ssl.key-store-password=changeit
        --grpc.server.port=9090
        --grpc.server.security.key-store-type=PKCS12
        --grpc.server.security.key-store=file:./certificates/server.pfx
        --grpc.server.security.key-store-password=changeit

确保将参数替换为您环境中调整后的值(例如,您用于设置持久性数据库的 Neo4j 密码,ssl 密钥库文件的正确路径等)。

使用环境变量

上一节中的命令中的所有参数也可以定义为环境变量,如 此处 所述。

如果将所有参数设置为环境变量,则可以将服务器启动命令缩短为以下内容(前提是您已导航到 NOM Server 文件夹)

java -jar ./lib/server.jar

Windows

在命令行上传递参数

导航到 NOM Server 文件夹并执行以下命令

java -jar .\lib\server.jar
        --spring.neo4j.uri=neo4j://localhost:7687
        --spring.neo4j.authentication.username=neo4j
        --spring.neo4j.authentication.password=password
        --server.port=8080
        --server.ssl.key-store-type=PKCS12
        --server.ssl.key-store=file:.\certificates\server.pfx
        --server.ssl.key-store-password=changeit
        --grpc.server.port=9090
        --grpc.server.security.key-store-type=PKCS12
        --grpc.server.security.key-store=file:.\certificates\server.pfx
        --grpc.server.security.key-store-password=changeit

确保将参数替换为您环境中调整后的值(例如,您用于设置持久性数据库的 Neo4j 密码,ssl 密钥库文件的正确路径等)。

使用环境变量

上一节中的命令中的所有参数也可以定义为环境变量,如 此处 所述。

如果将所有参数设置为环境变量,则可以将服务器启动命令缩短为以下内容(前提是您已导航到 NOM Server 文件夹)

java -jar .\lib\server.jar

如果需要 NOM 服务器支持自注册代理,请确保为上述命令提供了配置属性GRPC_SERVER_SECURITY_TRUST_CERT_COLLECTION(或grpc.server.security.trustCertCollection)。它在下面的配置参考表中进行了描述。

有关代理自注册的更多信息,请点击此处

在代理后面运行 NOM 服务器

如果 NOM 服务器在代理后面运行并配置为访问外部网络资源,则其 JVM 必须使用适当的代理配置选项启动。此配置对于 Neo4j 和 NOM 可用版本的自动刷新也是必需的。

要将代理配置选项传递给 NOM 服务器 JVM,可以使用环境变量JAVA_OPTS,如下例所示

JAVA_OPTS=-Dhttp.proxyHost=myproxy.example.com -Dhttp.proxyPort=8080

如果将 NOM 服务器作为服务运行,则可以在服务配置文件中设置环境变量。

有关在 Java 中配置代理的详细信息,请参阅Java 文档

服务器配置参考

命令行参数 环境变量名称 描述 示例值

spring.neo4j.uri

SPRING_NEO4J_URI

NOM 持久性 DBMS 的 Neo4j URI

neo4j://localhost:7687

spring.neo4j.authentication.username

SPRING_NEO4J_AUTHENTICATION_USERNAME

NOM 持久性 DBMS 的 Neo4j 用户名

neo4j

spring.neo4j.authentication.password

SPRING_NEO4J_AUTHENTICATION_PASSWORD

NOM 持久性 DBMS 的 Neo4j 密码

password

server.port

SERVER_PORT

服务器将侦听 HTTP 流量的端口

8080

server.ssl.key-store-type

SERVER_SSL_KEY_STORE_TYPE

用于 HTTP 流量的密钥存储类型

PKCS12

server.ssl.key-store

SERVER_SSL_KEY_STORE

用于 HTTP 流量的密钥存储位置

file:./../certificates/server.pfx

server.ssl.key-store-password

SERVER_SSL_KEY_STORE_PASSWORD

用于 HTTP 流量的密钥存储密码

changeit

grpc.server.port

GRPC_SERVER_PORT

服务器将侦听 GRPC 流量的端口

9090

grpc.server.security.key-store-type

GRPC_SERVER_SECURITY_KEY_STORE_TYPE

用于 GRPC 流量的密钥存储类型

PKCS12

grpc.server.security.key-store

GRPC_SERVER_SECURITY_KEY_STORE

用于 GRPC 流量的密钥存储位置

file:./../certificates/server.pfx

grpc.server.security.key-store-password

GRPC_SERVER_SECURITY_KEY_STORE_PASSWORD

用于 GRPC 流量的密钥存储密码

changeit

jwt.secret

JWT_SECRET

用于 JWT 签名的随机字符串(可选)

please-set-a-random-secret-string-here-for-jwt-signing

optout.crash-analytics

OPTOUT_CRASH_ANALYTICS

设置为 true 以选择退出将产品分析发送到 Neo4j(可选)

false

optout.product-analytics

OPTOUT_PRODUCT_ANALYTICS

设置为 true 以选择退出将崩溃分析发送到 Neo4j(可选)

false

optout.version-check

OPTOUT_VERSION_CHECK

设置为 true 以选择退出自动获取 NOM 和 Neo4j 的版本信息(可选)

false

grpc.server.security.trustCertCollection

GRPC_SERVER_SECURITY_TRUST_CERT_COLLECTION

包含 PEM 编码代理证书列表的文件。代理自注册需要。(可选)

file:/path/to/agent-certs.pem

logging.file.name

LOGGING_FILE_NAME

如果设置,NOM 服务器的日志将写入此位置指定的文件。如果未设置,则日志将写入 STDOUT。(可选)

/var/log/nom-server.log

logging.level.root

LOGGING_LEVEL_ROOT

根日志级别。默认为warn。(可选)

errorwarninfodebugtrace

logging.level.com.neo4j

LOGGING_LEVEL_COM_NEO4J

com.neo4j 记录器的日志级别(其输出对应于 NOM 服务器本身记录的内容)。默认值:info。(可选)

errorwarninfodebugtrace

访问 Ops Manager

有关如何在如上所述的安装后访问 Ops Manager 的详细信息,请参阅主页