Skip to content
On this page

环境配置

逸云 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 代理模式说明
PORT30003000相同,但 Nginx 模式仅本地监听
HTTPS_PORT3443注释掉Nginx 模式不需要,SSL 由 Nginx 处理
TRUST_PROXY注释掉trueNginx 模式必须开启
CORS_ORIGIN*实际域名公网必须限定域名
SSL_CERT_PATH可选配置注释掉Nginx 模式 SSL 在 Nginx 层处理
SSL_KEY_PATH可选配置注释掉同上
WECHAT_REDIRECT_URIhttps://IP:3443/...https://域名/...公网用域名
AI_TLS_REJECT_UNAUTHORIZED内网可设 false保持 true公网不应关闭证书验证
DB_TYPEsqlite 即可多用户建议 postgresql并发量大时 PostgreSQL 更稳定

完整配置参考

发布包中附有 .env.example 文件,包含所有配置项和详细注释。其中标记有 ⚠️ 的项在 Nginx 代理模式下需要修改。

bash
# 复制模板为实际配置
cp .env.example .env

# 编辑配置
nano .env

配置文件位置

  • Windows: 程序所在目录下的 .env 文件,如 D:\gisnode\.env
  • Linux: 程序所在目录下的 .env 文件,如 /opt/gisnode/.env

修改 .env 文件后需要重启服务才能生效。

端口说明

端口协议直接访问模式Nginx 代理模式
3000HTTP对外暴露仅本地监听
3443HTTPS对外暴露(需证书)不需要
80HTTP不使用Nginx 监听
443HTTPS不使用Nginx 监听

Nginx 代理模式下,对外只暴露 80/443 端口,3000 端口限制为内部访问。

CORS_ORIGIN 格式说明

格式示例适用场景
通配符*允许所有来源(内网/开发)
单个域名https://eatool.cn公网部署(推荐)

注意:

  • 必须带协议前缀 https://(Nginx 模式)或 http://(直接访问模式)
  • 不要带尾部斜杠https://eatool.cn 正确,https://eatool.cn/ 错误
  • 不要带端口号 — 如果 Nginx 监听标准 80/443,不需要加端口

基于 MIT 许可发布