Windows 部署
在 Windows 服务器或个人电脑上部署逸云 GIS,采用直接访问模式(Node.js 直接对外服务)。
适用场景: 本机使用、内网小规模团队使用(<10人)。 公网部署请参考 Nginx 配置 使用反向代理模式。
部署架构
用户 → Node.js (HTTP:3000 / HTTPS:3443)
Node.js 直接处理所有请求,无需额外组件,简单方便。
前置要求
- Windows 10 / Windows Server 2016 及以上
- 4GB+ 可用内存
- 20GB+ 可用磁盘空间
- 无需安装 Node.js(程序已内置)
部署步骤
1. 解压发布包
将收到的发布包解压到目标目录,例如:
D:\gisnode\
解压后的目录结构:
D:\gisnode\
├── node.exe # 主程序
├── dist/ # 前端页面
├── docs/ # 用户手册
├── native/ # 原生模块
├── gdal-runtime/ # GDAL 运行时(可选)
├── data/ # 数据目录
└── .env # 配置文件
2. 配置环境
编辑 .env 文件,直接访问模式的最小配置:
bash
PORT=3000
NODE_ENV=production
如需内置 HTTPS(可选),配置证书路径:
bash
SSL_CERT_PATH=./certs/server.crt
SSL_KEY_PATH=./certs/server.key
直接访问模式下,HTTPS 由 Node.js 处理,性能不如 Nginx。如果用户较多,建议使用 Nginx 代理模式。
3. 启动服务
方式一:双击运行
直接双击 node.exe,会弹出命令行窗口显示日志信息。
方式二:命令行运行
powershell
cd D:\gisnode
.\node.exe
启动成功后会看到以下信息:
✅ 用户手册服务目录: D:\gisnode\docs
✅ 服务器已启动
HTTP: http://localhost:3000
HTTPS: https://localhost:3443 (如果配置了证书)
4. 访问系统
注册为 Windows 服务
使用 nssm 将程序注册为系统服务,实现开机自启和后台运行。
安装 nssm
- 从 https://nssm.cc/download 下载 nssm
- 将 nssm.exe 放到系统 PATH 目录
注册服务
powershell
# 安装服务
nssm install GisNodeServer D:\gisnode\node.exe
# 设置工作目录(重要!)
nssm set GisNodeServer AppDirectory D:\gisnode
# 设置显示名称
nssm set GisNodeServer DisplayName "逸云 GIS 服务器"
# 设置描述
nssm set GisNodeServer Description "逸云三维GIS平台服务"
# 设置自动启动
nssm set GisNodeServer Start SERVICE_AUTO_START
# 设置日志输出
nssm set GisNodeServer AppStdout D:\gisnode\logs\stdout.log
nssm set GisNodeServer AppStderr D:\gisnode\logs\stderr.log
# 启动服务
nssm start GisNodeServer
管理服务
powershell
# 查看状态
nssm status GisNodeServer
# 停止服务
nssm stop GisNodeServer
# 重启服务
nssm restart GisNodeServer
# 删除服务
nssm remove GisNodeServer confirm
防火墙配置
如果需要外部访问,需开放防火墙端口:
powershell
# 开放 HTTP 端口
netsh advfirewall firewall add rule name="GIS HTTP" dir=in action=allow protocol=TCP localport=3000
# 开放 HTTPS 端口
netsh advfirewall firewall add rule name="GIS HTTPS" dir=in action=allow protocol=TCP localport=3443
从直接访问模式切换到 Nginx 代理模式
如果后续用户量增加或需要公网部署,可以平滑切换到 Nginx 代理模式:
- 安装 Nginx(参考 Nginx 配置)
- 修改
.env文件:开启TRUST_PROXY=true,注释掉HTTPS_PORT和 SSL 配置 - 配置 Nginx 反向代理到
localhost:3000 - 防火墙关闭 3000 端口对外访问,仅开放 80/443
常见问题
端口被占用
修改 .env 中的 PORT 变量:
PORT=8080
双击闪退
使用命令行运行查看错误信息:
powershell
cd D:\gisnode
.\node.exe
GDAL 功能不可用
如果看到 "⚠️ 未找到 GDAL 原生模块" 提示:
- 确认
native/gdal.node文件存在 - 确认
gdal-runtime/目录存在 - 不影响基本功能,仅 COG 元数据提取和坐标转换功能不可用
数据库权限
确保 data/ 目录有写入权限,右键 → 属性 → 安全 → 编辑权限。