私有云部署
在企业私有数据中心部署逸云 GIS。
部署架构
┌─────────────┐
│ Nginx │ ← 对外暴露 80/443
│ 反向代理 │
└──────┬──────┘
│
┌──────┴──────┐
│ 逸云 GIS │ ← 运行在 3000 端口
│ node.exe │
└──────┬──────┘
│
┌──────┴──────┐
│ 数据存储 │
│ data/ │
└─────────────┘
逸云 GIS 以独立可执行程序运行,无需安装 Node.js 等运行时环境。
服务器规划
最小部署
| 角色 | 数量 | 配置 | 说明 |
|---|---|---|---|
| 应用服务器 | 1 | 4核8G | 运行 node.exe + Nginx |
| 数据存储 | 1 | 大容量磁盘 | NAS/本地磁盘 |
高可用部署
| 角色 | 数量 | 配置 | 说明 |
|---|---|---|---|
| 负载均衡 | 2 | 2核4G | Nginx/HAProxy |
| 应用服务器 | 2+ | 4核8G | 运行 node.exe |
| 文件存储 | 1 | 大容量 | NAS 共享存储 |
部署步骤
1. 准备服务器
在每台应用服务器上:
bash
# 创建应用目录
sudo mkdir -p /opt/gisnode
# 创建数据目录(如果使用 NAS,挂载到此处)
sudo mkdir -p /opt/gisnode/data
2. 部署程序
bash
# 上传发布包到服务器
scp gisnode.zip user@server:/opt/
# 解压
cd /opt
unzip gisnode.zip -d gisnode
# 设置权限
chmod +x /opt/gisnode/node.exe
chmod -R 755 /opt/gisnode/data/
3. 配置服务
使用 systemd 管理进程:
bash
sudo nano /etc/systemd/system/gisnode.service
ini
[Unit]
Description=逸云 GIS 服务器
After=network.target
[Service]
Type=simple
User=gisnode
WorkingDirectory=/opt/gisnode
ExecStart=/opt/gisnode/node.exe
Restart=on-failure
RestartSec=10
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target
启动服务:
bash
sudo systemctl daemon-reload
sudo systemctl start gisnode
sudo systemctl enable gisnode
4. 配置 .env
私有云部署通常使用 Nginx 代理模式,.env 配置:
bash
PORT=3000
NODE_ENV=production
TRUST_PROXY=true
CORS_ORIGIN=https://gis.yourcompany.com
如果内网不需要 HTTPS,也可以使用直接访问模式,参考 环境配置。
5. 配置 Nginx
参考 Nginx 配置 设置反向代理和 HTTPS。
多实例部署
负载均衡配置
在多台服务器上部署时,Nginx 负载均衡:
nginx
upstream gisnode {
server 10.0.1.10:3000;
server 10.0.1.11:3000;
}
注意: 多实例部署需要共享
data/目录(使用 NAS),否则数据不一致。
共享数据目录
使用 NFS 共享数据目录:
bash
# NFS 服务端
sudo apt install nfs-kernel-server
echo "/opt/gisnode/data 10.0.1.0/24(rw,sync,no_subtree_check)" | sudo tee -a /etc/exports
sudo exportfs -a
# NFS 客户端
sudo apt install nfs-common
sudo mount -t nfs 10.0.1.100:/opt/gisnode/data /opt/gisnode/data
网络配置
防火墙规则
bash
# 允许外部访问
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# 内部通信
sudo iptables -A INPUT -s 10.0.0.0/8 -j ACCEPT
内网 DNS
配置内部 DNS 解析:
gis.yourcompany.com -> 10.0.1.10
安全加固
服务器安全
- 关闭不必要的端口
- 定期更新系统补丁
- 配置 fail2ban
应用安全
- 启用 HTTPS(通过 Nginx)
- 配置
.env中的 CORS 来源 - 限制 3000 端口仅内部访问
数据安全
- 定期备份
data/目录 - NAS 存储启用快照
- 访问审计日志
- 定期备份