在选择了自托管的安装方式后,您需要对 n8n 进行一些核心配置,以确保其能够正常运行并满足您的需求。主要的配置方面包括环境变量、数据库配置和 SSL 配置。 环境变量 (Environment Variables) 环境变量是配置 n8n 行为的最主要方式。您可以通过以下几种方式设置环境变量: - .env 文件: 在 n8n 的工作目录(通常是您启动 n8n 服务的目录,或者 Docker Compose 文件所在的目录)创建一个名为 .env 的文件,并在其中以 KEY=VALUE 的格式定义环境变量。n8n 在启动时会自动加载这个文件中的变量。
- 系统环境变量: 您也可以直接在您的服务器操作系统中设置全局或用户级别的环境变量。
- Docker Compose (docker-compose.yml): 如果您使用 Docker 安装,可以在 docker-compose.yml 文件的 environment 部分定义环境变量。
以下是一些重要的环境变量,您需要根据您的实际情况进行配置: - N8N_HOST: 设置 n8n 的外部访问域名或 IP 地址。
- N8N_PORT: 设置 n8n Web 界面监听的端口号(默认为 5678)。
- N8N_PROTOCOL: 设置访问协议,通常为 http 或 https。生产环境强烈建议使用 https。
- N8N_ENCRYPTION_KEY: 用于加密凭证等敏感数据的密钥。务必设置一个安全且唯一的密钥,并妥善保管。
- DATABASE_TYPE: 指定使用的数据库类型,推荐生产环境使用 postgres 或 mysql。
- DATABASE_URL: 数据库连接 URL,包含了连接数据库所需的所有信息(主机、端口、用户名、密码、数据库名等)。具体的格式取决于您选择的数据库类型。
- N8N_BASIC_AUTH_ACTIVE: 设置为 true 以启用基本 HTTP 身份验证(不推荐在生产环境中使用,建议使用更安全的身份验证方式)。
- N8N_BASIC_AUTH_USER: 基本身份验证的用户名。
- N8N_BASIC_AUTH_PASSWORD: 基本身份验证的密码。
数据库配置 (Database Configuration) n8n 需要一个关系型数据库来存储工作流定义、凭证、执行历史等关键数据。支持 PostgreSQL 和 MySQL。 - 确保您的数据库服务已经安装并运行。
- 创建一个供 n8n 使用的数据库和用户,并为该用户授予适当的权限。
- 根据您选择的数据库类型,设置正确的 DATABASE_TYPE 环境变量(postgres 或 mysql)。
- 配置 DATABASE_URL 环境变量,指向您的数据库服务。例如:
- PostgreSQL: postgres://n8n_user:your_password@your_postgres_host:5432/n8n_database
- MySQL: mysql://n8n_user:your_password@your_mysql_host:3306/n8n_database请替换示例中的占位符为您的实际数据库连接信息。
SSL 配置 (SSL Configuration) 为了保障 n8n Web 界面的安全,强烈建议您启用 HTTPS。您可以通过以下两种主要方式配置 SSL: - 直接在 n8n 中配置: 您可以通过设置以下环境变量直接在 n8n 服务中配置 SSL:
- N8N_PROTOCOL=https
- N8N_SSL_KEY: 指向您的 SSL 私钥文件(.key 或 .pem 格式)的路径。
- N8N_SSL_CERT: 指向您的 SSL 证书文件(.crt 或 .pem 格式)的路径。
- 使用反向代理: 更常见且推荐的做法是在 n8n 前面设置一个反向代理服务器,例如 Nginx 或 Apache。反向代理可以处理 SSL 终止、域名管理、负载均衡等。在这种情况下,您通常只需要在 n8n 中将 N8N_PROTOCOL 设置为 http,并在反向代理服务器上配置 HTTPS 并将流量转发到 n8n 的端口。
请务必仔细配置这些设置,特别是 N8N_ENCRYPTION_KEY 和数据库连接信息,以确保 n8n 的安全和稳定运行。
|