Earthdata Search部署指南:本地环境搭建与服务器配置全攻略

发布时间:2026/7/21 14:46:15
Earthdata Search部署指南:本地环境搭建与服务器配置全攻略 Earthdata Search部署指南本地环境搭建与服务器配置全攻略【免费下载链接】earthdata-searchEarthdata Search is a web application developed by NASA EOSDIS to enable data discovery, search, comparison, visualization, and access across EOSDIS Earth Science data holdings.项目地址: https://gitcode.com/gh_mirrors/eart/earthdata-search想要快速搭建NASA地球科学数据搜索平台吗Earthdata Search是一个强大的Web应用程序由NASA EOSDIS开发用于实现地球科学数据的发现、搜索、比较、可视化和访问。本终极指南将为您详细介绍如何从零开始搭建Earthdata Search的完整部署流程无论是本地开发环境还是生产服务器配置我们都将一一涵盖。 为什么选择Earthdata SearchEarthdata Search作为NASA官方数据搜索平台集成了多个地球科学数据服务包括CMR通用元数据存储库- 数据发现和访问URS用户注册系统- 身份验证管理GIBS全球图像浏览服务- 数据可视化OPeNDAP服务- 数据提供者托管的数据访问服务这个强大的数据搜索工具让研究人员、科学家和开发者能够轻松访问NASA的海量地球观测数据。 部署前准备环境要求检查在开始部署Earthdata Search之前请确保您的系统满足以下基本要求系统环境要求Node.js v14或更高版本- 应用基于Node.js构建npm包管理器- 建议使用最新版本PostgreSQL数据库- 生产环境推荐使用AWS RDSAWS账户- 用于部署到云环境可选内存要求- 至少4GB可用内存快速安装Node.js如果您还没有安装Node.js可以通过以下方式快速安装# 使用HomebrewmacOS brew install node # 或从Node.js官网下载安装包安装完成后建议更新npm到最新版本npm install -g npmlatest 本地环境搭建详细步骤第一步获取Earthdata Search源代码首先克隆项目仓库到本地git clone https://gitcode.com/gh_mirrors/eart/earthdata-search cd earthdata-search第二步配置Node版本管理Earthdata Search使用Node Version ManagerNVM来确保正确的Node版本。安装NVM后项目会自动使用.nvmrc文件中指定的版本# 使用NVM切换到项目要求的Node版本 nvm use第三步安装项目依赖在项目根目录下运行以下命令安装所有必要的依赖包npm install这个过程可能需要几分钟时间具体取决于您的网络速度。第四步配置数据库连接Earthdata Search使用PostgreSQL作为数据库。首先创建开发数据库createdb edsc_dev然后配置数据库连接信息。复制示例配置文件并编辑# 复制秘密配置文件 cp secret.config.json.example secret.config.json # 复制静态配置文件 cp static.config.json overrideStatic.config.json在secret.config.json中设置数据库用户名和密码{ dbUsername: 您的用户名, dbPassword: 您的密码 }第五步运行数据库迁移应用数据库架构变更DATABASE_URLpostgresql://用户名:密码localhost:5432/edsc_dev npm run migrate up或者使用Serverless框架本地运行迁移serverless invoke local --function migrateDatabase️ 启动本地开发服务器启动前端开发服务器运行以下命令启动React应用开发服务器npm run start这将在http://localhost:8080启动开发服务器支持热重载功能。启动后端API服务Earthdata Search使用Serverless框架管理AWS资源。要在本地运行API Gateway和Lambda函数npm run offline这将启动本地API Gateway服务默认运行在http://localhost:3001为前端应用提供完整的后端功能支持。启用缓存功能可选如果需要使用Redis缓存来加速缩略图生成可以启动Docker容器# 启动Redis缓存 npm run start:cache # 设置缓存环境变量 export USE_CACHEtrue️ 生产环境构建与部署构建生产版本当您准备好部署到生产环境时首先构建生产版本npm run build构建完成后所有静态资源将输出到/static/dist/目录中。测试生产构建您可以使用简单的HTTP服务器测试生产构建npx http-server static/dist自动化测试在部署前确保所有测试通过# 运行单元测试 npm run test # 运行集成测试 npm run cypress:run☁️ AWS云环境部署指南AWS服务依赖Earthdata Search在生产环境中依赖以下AWS服务S3- 静态资源存储建议配合CloudFront使用SQS- 消息队列服务API Gateway- API管理Lambda- 无服务器函数计算CloudWatch- 日志和监控RDS- PostgreSQL数据库ElastiCache- Redis缓存环境变量配置部署前需要设置必要的环境变量export AWS_ACCESS_KEY_ID您的访问密钥 export AWS_SECRET_ACCESS_KEY您的秘密密钥 export VPC_ID您的VPC ID export SUBNET_ID_A子网A ID export SUBNET_ID_B子网B ID部署到AWS使用Serverless框架进行部署NODE_ENVproduction serverless deploy --stage production--stage参数指定部署环境如dev、staging、production。 高级配置选项自定义门户配置Earthdata Search支持多门户配置。您可以在overrideStatic.config.json中修改defaultPortal值来切换不同的门户界面{ application: { defaultPortal: edsc } }性能优化配置在static.config.json中可以调整以下性能相关参数thumbnailSize- 缩略图尺寸orderStatusRefreshTime- 订单状态刷新间隔defaultCmrPageSize- 默认搜索结果页大小defaultMaxOrderSize- 最大订单大小限制安全配置为了增强安全性可以配置混淆参数export OBFUSCATION_SPIN您的混淆密钥 export OBFUSCATION_SPIN_SHAPEFILES形状文件混淆密钥 常见问题与解决方案问题1数据库连接失败症状应用启动时报数据库连接错误解决方案检查PostgreSQL服务是否运行brew services list | grep postgresql验证数据库用户权限确认secret.config.json中的连接信息正确问题2内存不足错误症状构建过程中出现内存不足错误解决方案# 增加Node.js内存限制 export NODE_OPTIONS--max-old-space-size8192 npm run build问题3AWS权限问题症状部署到AWS时出现权限错误解决方案检查IAM角色权限验证VPC和子网配置确保安全组规则正确问题4本地API服务无法启动症状npm run offline命令失败解决方案确保已全局安装Serverless框架npm install -g serverless检查端口3001是否被占用验证AWS凭证配置 监控与维护日志查看本地开发查看控制台输出AWS环境使用CloudWatch日志数据库PostgreSQL日志文件性能监控使用AWS CloudWatch监控Lambda函数性能设置RDS性能监控配置SQS队列监控定期维护任务定期更新依赖包npm update清理构建缓存rm -rf node_modules/.cache优化数据库索引监控磁盘空间使用 最佳实践建议开发环境最佳实践使用Docker Compose统一开发环境配置IDE代码格式化规则启用ESLint代码检查使用Git分支策略进行功能开发生产环境最佳实践使用CI/CD流水线自动化部署配置多环境部署dev/staging/production实施蓝绿部署策略设置自动备份和灾难恢复安全最佳实践定期轮换AWS访问密钥使用AWS Secrets Manager管理敏感信息实施最小权限原则启用AWS WAF保护Web应用 扩展与定制添加新数据源通过修改serverless-configs/aws-functions.yml中的配置可以集成新的数据源和服务。自定义UI主题编辑portals/目录下的门户配置文件可以自定义界面主题和布局。集成第三方服务Earthdata Search的模块化架构支持轻松集成第三方服务如自定义身份验证提供者额外的数据可视化工具外部存储服务集成 总结通过本完整指南您已经掌握了Earthdata Search从本地开发环境搭建到生产服务器部署的全流程。无论是地球科学研究人员、数据工程师还是Web开发者都可以按照这些步骤成功部署自己的Earthdata Search实例。记住Earthdata Search的强大功能不仅限于数据搜索它还是一个完整的科学数据管理平台。随着NASA地球科学数据的不断增长拥有自己的部署实例将为您的研究和项目提供强大的数据支持能力。立即开始您的Earthdata Search部署之旅探索地球科学数据的无限可能【免费下载链接】earthdata-searchEarthdata Search is a web application developed by NASA EOSDIS to enable data discovery, search, comparison, visualization, and access across EOSDIS Earth Science data holdings.项目地址: https://gitcode.com/gh_mirrors/eart/earthdata-search创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考