环境配置
逸云 GIS 的环境变量和配置说明。配置文件为程序同目录下的 .env 文件。
按部署模式配置
直接访问模式(本机/内网)
bash
# HTTP 端口(对外暴露)
PORT=3000
# HTTPS 端口(配置证书后启用,对外暴露)
HTTPS_PORT=3443
# I3S 三维瓦片服务端口(可选)
I3S_PORT=3001
# 运行环境
NODE_ENV=production
# 代理信任(直接访问模式不需要)
# TRUST_PROXY=true
# CORS(内网可保持 *)
CORS_ORIGIN=*
# 数据目录
DATA_DIR=./data
# 数据库
DB_TYPE=sqlite
# 文件上传限制
MAX_FILE_SIZE_COG=2147483648
MAX_FILE_SIZE_PANORAMA=1073741824
# SSL 证书(可选,启用内置 HTTPS)
# SSL_CERT_PATH=./certs/server.crt
# SSL_KEY_PATH=./certs/server.key
# AI 智能体(可选)
AI_ENABLED=false
AI_BASE_URL=https://api.deepseek.com
AI_API_KEY=
AI_MODEL=deepseek-chat
AI_TEMPERATURE=0.1
AI_MAX_TOKENS=4096
AI_HISTORY_MAX_TURNS=50
# 邮件服务(可选)
# SMTP_HOST=smtp.qq.com
# SMTP_PORT=465
# SMTP_SECURE=true
# SMTP_USER=your-email@qq.com
# SMTP_PASS=xxxxxxxxxxxx
# SITE_NAME=逸云
# VERIFICATION_CODE_EXPIRE_MINUTES=10
# 微信登录(可选)
# WECHAT_APP_ID=
# WECHAT_APP_SECRET=
# WECHAT_REDIRECT_URI=https://yourdomain.com/api/auth/wechat/callback
Nginx 代理模式(公网部署)
bash
# HTTP 端口(仅本地监听,Nginx 代理到此端口)
PORT=3000
# 不需要 HTTPS 端口(SSL 由 Nginx 处理)
# HTTPS_PORT=3443
# I3S 三维瓦片服务端口(可选)
I3S_PORT=3001
# 运行环境
NODE_ENV=production
# 必须开启代理信任
TRUST_PROXY=true
# CORS(必须设置为实际域名,带 https:// 前缀)
CORS_ORIGIN=https://eatool.cn
# 数据目录
DATA_DIR=./data
# 数据库(多用户建议 PostgreSQL)
DB_TYPE=sqlite
# DATABASE_URL=postgresql://user:pass@localhost:5432/eatool
# 文件上传限制(注意:Nginx 的 client_max_body_size 需与此匹配)
MAX_FILE_SIZE_COG=2147483648
MAX_FILE_SIZE_PANORAMA=1073741824
# SSL 证书(不需要,由 Nginx 处理)
# SSL_CERT_PATH=
# SSL_KEY_PATH=
# AI 智能体(可选)
AI_ENABLED=false
AI_BASE_URL=https://api.deepseek.com
AI_API_KEY=
AI_MODEL=deepseek-chat
AI_TEMPERATURE=0.1
AI_MAX_TOKENS=4096
AI_HISTORY_MAX_TURNS=50
# 邮件服务(可选)
# SMTP_HOST=smtp.qq.com
# SMTP_PORT=465
# SMTP_SECURE=true
# SMTP_USER=your-email@qq.com
# SMTP_PASS=xxxxxxxxxxxx
# SITE_NAME=逸云
# VERIFICATION_CODE_EXPIRE_MINUTES=10
# 微信登录(可选,注意使用公网域名)
# WECHAT_APP_ID=
# WECHAT_APP_SECRET=
# WECHAT_REDIRECT_URI=https://yourdomain.com/api/auth/wechat/callback
两种模式配置差异对照
| 配置项 | 直接访问模式 | Nginx 代理模式 | 说明 |
|---|---|---|---|
PORT | 3000 | 3000 | 相同,但 Nginx 模式仅本地监听 |
HTTPS_PORT | 3443 | 注释掉 | Nginx 模式不需要,SSL 由 Nginx 处理 |
TRUST_PROXY | 注释掉 | true | Nginx 模式必须开启 |
CORS_ORIGIN | * | 实际域名 | 公网必须限定域名 |
SSL_CERT_PATH | 可选配置 | 注释掉 | Nginx 模式 SSL 在 Nginx 层处理 |
SSL_KEY_PATH | 可选配置 | 注释掉 | 同上 |
WECHAT_REDIRECT_URI | https://IP:3443/... | https://域名/... | 公网用域名 |
AI_TLS_REJECT_UNAUTHORIZED | 内网可设 false | 保持 true | 公网不应关闭证书验证 |
DB_TYPE | sqlite 即可 | 多用户建议 postgresql | 并发量大时 PostgreSQL 更稳定 |
完整配置参考
发布包中附有 .env.example 文件,包含所有配置项和详细注释。其中标记有 ⚠️ 的项在 Nginx 代理模式下需要修改。
bash
# 复制模板为实际配置
cp .env.example .env
# 编辑配置
nano .env
配置文件位置
- Windows: 程序所在目录下的
.env文件,如D:\gisnode\.env - Linux: 程序所在目录下的
.env文件,如/opt/gisnode/.env
修改 .env 文件后需要重启服务才能生效。
端口说明
| 端口 | 协议 | 直接访问模式 | Nginx 代理模式 |
|---|---|---|---|
| 3000 | HTTP | 对外暴露 | 仅本地监听 |
| 3443 | HTTPS | 对外暴露(需证书) | 不需要 |
| 80 | HTTP | 不使用 | Nginx 监听 |
| 443 | HTTPS | 不使用 | Nginx 监听 |
Nginx 代理模式下,对外只暴露 80/443 端口,3000 端口限制为内部访问。
CORS_ORIGIN 格式说明
| 格式 | 示例 | 适用场景 |
|---|---|---|
| 通配符 | * | 允许所有来源(内网/开发) |
| 单个域名 | https://eatool.cn | 公网部署(推荐) |
注意:
- 必须带协议前缀
https://(Nginx 模式)或http://(直接访问模式) - 不要带尾部斜杠 —
https://eatool.cn正确,https://eatool.cn/错误 - 不要带端口号 — 如果 Nginx 监听标准 80/443,不需要加端口