侧边栏壁纸
博主头像
YouGIS博文 - YouGIS顽石工坊 博主等级

行动起来,活在当下

  • 累计撰写 24 篇文章
  • 累计创建 8 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

三分钟搞定风场数据服务部署!Docker镜像一键启动指南

Administrator
2026-04-02 / 0 评论 / 0 点赞 / 2 阅读 / 0 字

主页:yougis.com.cn
博文:
blog.yougis.com.cn
工具:
yougis.com.cn/tool/home

qr-wechat.jpg

扫码获取更多精彩内容

三分钟搞定风场数据服务部署!Docker镜像一键启动指南

**引言:**在前两篇文章中,我们介绍了风场数据的基本概念、数据规格以及API接口能力。今天,我们将带您用最简单的方式完成风场数据服务的本地化部署——只需一个Docker镜像,三分钟即可启动!

风场数据服务API全解析:从自动抓取到实时裁剪,一站式解决方案

揭秘风场数据:从NOAA到真气网,全球风场数据的奥秘

风场数据服务API在线测试

风场数据可视化在线查看


一、获取Docker镜像

我们提供了完整的Docker镜像,包含了所有必要的依赖和环境配置,让您无需手动配置任何环境,开箱即用!

🎁 如何获取镜像

  1. 关注微信公众号 YouGIS顽石

  2. 私信发送关键词:风场数据服务

  3. 系统将自动回复镜像下载链接

  4. 请在24小时内完成下载,链接有效期为24小时

📦 镜像信息

  • 格式: tar.gz(通过 docker save 导出)

  • 版本: v1.2

  • Python环境: Python 3.6.x

  • 包含内容: 所有依赖库、配置文件、数据转换工具


二、加载Docker镜像

获取到镜像文件后,使用以下命令加载镜像到本地Docker环境:

docker load -i yougis-windy-server.tar.gz

加载成功后,可以使用以下命令查看镜像:

docker images | grep yougis-windy-server

您应该能看到名为 yougis-windy-server:v1.2 的镜像。


三、启动容器

使用以下命令启动容器:

docker run -d \
  --name yougis-windy-server \
  --network=host \
  --restart=always \
  -v /app/windfield:/app/windfield \
  yougis-windy-server:v1.2

📋 参数说明

  • -d:后台运行容器

  • --name yougis-windy-server:指定容器名称

  • --network=host:使用主机网络模式,容器与主机共享网络栈

  • --restart=always:容器异常退出时自动重启

  • -v /app/windfield:/app/windfield:将主机目录 /app/windfield 挂载到容器内,用于持久化存储风场数据


四、配置Nginx反向代理

⚠️ 重要说明:
容器内的服务使用 uWSGI 运行,监听 0.0.0.0:8000 端口。由于使用的是 uWSGI 协议(TCP),需要通过 Nginx 进行代理,而不是使用普通的 HTTP proxy。

4.1 uWSGI配置说明

容器内的 uwsgi.ini 配置文件内容如下:

[uwsgi]
module = run:app
master = true
processes = 3

chdir = /app
socket = /app/uwsgi.sock
socket = 0.0.0.0:8000
logto = /app/uwsgi.log
chmod-socket = 660
vacuum = true
plugins = python3

关键配置说明:

  • socket = 0.0.0.0:8000:uWSGI监听8000端口

  • processes = 3:启动3个工作进程

  • module = run:app:指定Flask应用入口

4.2 Nginx配置

在Nginx配置文件中添加以下配置:

location /yougis-windy-server/ {
    include uwsgi_params;
    uwsgi_pass 0.0.0.0:8000;
    uwsgi_param Host $host;
    uwsgi_param X-Real-IP $remote_addr;
    uwsgi_param X-Forwarded-For $proxy_add_x_forwarded_for;
    uwsgi_param X-Forwarded-Proto $scheme;
}

⚠️ 注意事项:

  • 使用 uwsgi_pass 而不是 proxy_pass

  • 确保Nginx已安装 uwsgi_params 文件(通常在 /etc/nginx/ 目录下)

  • 配置完成后,使用 nginx -t 检查配置语法

  • 使用 nginx -s reload 重载配置


五、验证服务

容器启动后,可以通过以下方式验证服务是否正常运行:

步骤1:检查容器状态

运行以下命令查看容器是否正常运行:

docker ps | grep yougis-windy-server

如果看到容器状态为 Up,说明容器已成功启动。

步骤2:测试服务探活接口

使用 curl 命令测试服务探活接口:

curl http://localhost/yougis-windy-server/windfield/api/v1.0/is-ok

如果返回以下JSON,说明服务正常:

{
  "success": true,
  "message": "Service Valid!",
  "version": "v1.0.3"
}

步骤3:验证数据自动抓取

容器启动后,服务会自动抓取历史数据。您可以通过以下方式验证数据是否正常抓取:

查看主机挂载目录 /app/windfield,检查是否生成了数据文件:

ls -lh /app/windfield

如果看到类似以下文件结构,说明数据抓取正常:

/app/windfield/
├── noaa/
│   ├── global/
│   │   └── 2026/03/
│   │       └── 2026033012.json
│   └── cn/
│       └── 2026/03/
│           └── 2026033012.json
└── common/
    ├── global/
    │   └── 2026/03/
    │       └── 2026033012.json
    └── cn/
        └── 2026/03/
            └── 2026033012.json

💡 提示:

  • 首次启动时,服务会自动抓取历史数据,可能需要等待一段时间

  • 数据文件命名格式:yyyymmddHH.json(如:2026033012.json表示2026年3月30日12时的数据)

  • 如果长时间没有生成文件,请查看容器日志排查问题

步骤4:测试数据补采接口

使用 crawl-windy 接口手动补采指定时间段的数据:

curl "http://localhost/yougis-windy-server/windfield/api/v1.0/crawl-windy?type=noaa,common&area=global,cn&hour=2026033012"

参数说明:

  • type:数据来源,可选值 noaacommonnoaa,common

  • area:数据区域,可选值 globalcnglobal,cn

  • hour:数据时间,格式 yyyymmddHH(单个)、yyyymmddHH,yyyymmddHH(多个)或 yyyymmddHH-yyyymmddHH(范围)

如果返回以下JSON,说明补采成功:

{
  "success": true,
  "message": "Crawl Windy Succeed"
}

步骤5:测试数据查询接口

使用 show-windy 接口获取风场数据:

curl "http://localhost/yougis-windy-server/windfield/api/v1.0/show-windy/common/global/2026033012.json"

接口格式:

/yougis-windy-server/windfield/api/v1.0/show-windy/{type}/{area}/{filename}

参数说明:

  • type:数据来源,可选值 noaacommon

  • area:数据区域,可选值 global(全球)、cn(中国)或省份拼音(如 zjbj

  • filename:文件名,格式 yyyymmddHH.json

如果返回包含 headerdata 的JSON数组,说明数据查询成功。

🎉 本地服务验证完成!
恭喜!您的风场数据服务已经成功部署并通过验证。服务会自动抓取和处理数据,为您提供稳定可靠的风场数据API服务。


六、使用在线服务

💡 温馨提示:
如果您不想自己部署服务,也可以直接使用我们已经部署好的在线服务,无需任何配置,开箱即用!

在线服务地址

我们提供了完整的在线服务,您可以直接使用:

🔗 风场服务API在线测试接口

在测试页面中,您可以测试所有API接口,包括服务探活、数据补采和数据查询等功能。

可视化页面

查看风场数据的可视化效果:

🌬️ 风场服务可视化在线地址

可视化页面展示了全球风场的实时动态,支持缩放、拖拽等交互操作。

🚀 开始使用:
现在您可以选择部署本地服务或直接使用在线服务,赶快开始体验风场数据服务吧!


七、常见问题

7.1 容器无法启动

问题: 容器启动失败或立即退出。

解决方法:

  • 使用 docker logs yougis-windy-server 查看容器日志

  • 检查端口8000是否被占用

  • 确保主机目录 /app/windfield 存在且有写入权限

7.2 Nginx代理失败

问题: Nginx返回502错误。

解决方法:

  • 确认使用的是 uwsgi_pass 而不是 proxy_pass

  • 检查uWSGI服务是否正常运行(查看容器日志)

  • 确认Nginx配置语法正确(使用 nginx -t

7.3 数据无法访问

问题: API接口返回错误或无数据。

解决方法:

  • 首次启动时,服务会自动抓取历史数据,可能需要等待一段时间

  • 检查网络连接是否正常

  • 查看容器日志了解详细错误信息


八、服务说明

风场数据服务提供以下核心功能:

🌍 数据源支持

  • NOAA:美国国家海洋和大气管理局数据,时间分辨率6小时

  • 真气网:中国区域数据,时间分辨率1小时

📊 数据区域

  • 全球数据:覆盖全球范围的风场数据

  • 中国数据:覆盖中国区域的高精度数据

  • 省份数据:支持全国各省份的数据查询

🔄 自动更新

  • 服务每小时自动抓取最新数据

  • 支持数据补采功能,可手动补采历史数据

  • 自动清理过期数据,节省存储空间


九、相关文章

如果您想了解更多关于风场数据服务的信息,请参考以下文章:

📖 文章一:风场数据服务介绍

📖 文章二:风场数据服务API接口详解


十、总结

本文介绍了如何使用Docker镜像快速部署风场数据服务。通过简单的几步操作,您就可以在本地搭建起完整的风场数据服务,无需手动配置复杂的依赖环境。

服务部署后,会自动抓取和处理数据,为您提供稳定可靠的风场数据API服务。您可以通过API接口集成到自己的应用中,也可以通过可视化页面查看风场动态。

🚀 开始使用:
现在您已经了解了如何部署风场数据服务,赶快动手试试吧!如果在部署过程中遇到问题,欢迎通过微信公众号 YouGIS顽石 联系我们。

📌 相关链接:


标签: #风场数据 #Docker部署 #快速部署 #本地化部署 #部署指南 #uWSGI #Nginx

0

评论区