| 主页: yougis.com.cn 博文: blog.yougis.com.cn 工具:** yougis.com.cn/tool/home | 关注WX号 YouGIS顽石工坊(yougis) 获取更多精彩内容 |
- 点击试用坐标转换服务
关注WX号 YouGIS顽石工坊(yougis),
发送坐标转换服务-源码,即可获取Python源码;
发送坐标转换服务-镜像,即可获取Docker镜像。
坐标转换服务私有化部署指南 - 源码与Docker两种方案
摘要:本文档详细介绍了坐标转换服务的私有化部署方案,包括源代码部署和Docker镜像部署两种方式。内容涵盖系统要求、详细部署步骤、配置说明、Nginx反向代理配置、性能优化建议、安全配置以及常见问题解答,帮助用户快速完成服务的私有化部署,实现数据安全、性能保障和自主可控。
前言
为什么需要私有化部署?
- 数据安全:敏感坐标数据不出内网,确保信息安全
- 性能保障:本地部署,网络延迟最低,响应最快
- 自主可控:完全掌控服务运行,随时调整配置
- 成本可控:无需担心第三方服务涨价或限流
获取部署包
我们提供两种部署包,您可以根据实际需求选择:
- 源代码版本:Python源码(ZIP格式),适合需要自定义开发的场景
- Docker镜像版本:Docker镜像(TAR格式),适合快速部署的场景
如何获取
关注我们的微信公众号,私信发送对应关键词即可获取下载链接:
- 发送「坐标转换服务-源码」获取Python源码部署包
- 发送「坐标转换服务-镜像」获取Docker镜像部署包
方案一:源代码部署
系统要求
- 操作系统:Linux / Windows / macOS
- Python版本:Python 3.7+
- 内存:建议至少512MB
- 磁盘空间:至少100MB
部署步骤
1. 解压部署包
bash
# Linux/macOS
unzip yougis-coord-transform-server-python.zip -d /opt/yougis-coord-transform-server-python
# Windows
# 使用解压软件解压到指定目录
2. 安装Python依赖
bash
cd /opt/yougis-coord-transform-server-python
pip install -r requirements.txt
依赖包说明:
- Flask:Web框架,用于提供HTTP接口
- pyproj:坐标转换核心库
- flask-cors:跨域支持
3. 启动服务
bash
# 启动服务(默认监听0.0.0.0:5000)
python coord-transform-prod.py
4. 验证部署
bash
# 访问about接口验证服务是否正常
curl http://localhost:5000/coord-transform/about
✅ **部署成功!**服务已启动,可以通过 http://your-server-ip:5000/coord-transform/about 访问
配置说明
如需修改服务配置,可以编辑 coord-transform-prod.py 文件:
python
# 修改监听地址和端口
app.run('0.0.0.0', 5000, debug=False)
# 修改为内网IP
app.run('192.168.1.100', 8080, debug=False)
生产环境部署建议
使用Gunicorn部署(推荐):
bash
# 安装Gunicorn
pip install gunicorn
# 启动服务(4个工作进程)
gunicorn -w 4 -b 0.0.0.0:5000 coord-transform-prod:app
方案二:Docker镜像部署
系统要求
- 操作系统:Linux / Windows / macOS
- Docker版本:Docker 19.03+
- 内存:建议至少512MB
- 磁盘空间:至少500MB
部署步骤
1. 加载Docker镜像
bash
# 加载镜像
docker load -i coord-transform:1.0.2.tar
2. 查看镜像
bash
# 查看已加载的镜像
docker images | grep coord-transform
3. 运行容器
bash
# 运行容器(默认端口5000)
docker run -d --name coord-transform -p 5000:5000 yougis/coord-transform:1.0.2
# 指定端口运行
docker run -d --name coord-transform -p 8080:5000 yougis/coord-transform:1.0.2
# 后台运行并设置自动重启
docker run -d --name coord-transform -p 5000:5000 --restart=always yougis/coord-transform:1.0.2
4. 验证部署
bash
# 访问about接口验证服务是否正常
curl http://localhost:5000/coord-transform/about
✅ **部署成功!**服务已启动,可以通过 http://your-server-ip:5000/coord-transform/about 访问
Docker常用命令
bash
# 查看容器状态
docker ps | grep coord-transform
# 查看容器日志
docker logs coord-transform
# 停止容器
docker stop coord-transform
# 启动容器
docker start coord-transform
# 重启容器
docker restart coord-transform
# 删除容器
docker rm coord-transform
使用Docker Compose部署(推荐)
创建 docker-compose.yml 文件:
yaml
version: '3.8'
services:
coord-transform:
image: yougis/coord-transform:1.0.2
container_name: coord-transform
ports:
- "5000:5000"
restart: always
environment:
- TZ=Asia/Shanghai
启动服务:
bash
# 启动服务
docker-compose up -d
# 查看日志
docker-compose logs -f
# 停止服务
docker-compose down
Nginx反向代理配置
在生产环境中,建议使用Nginx作为反向代理:
nginx
server {
listen 80;
server_name your-domain.com;
location /coord-transform/ {
proxy_pass http://127.0.0.1:5000/coord-transform/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
性能优化建议
提升服务性能的方法:
- 增加工作进程:Gunicorn配置更多worker进程
- 使用缓存:对频繁转换的坐标进行缓存
- 负载均衡:部署多个实例,使用Nginx负载均衡
- 批量处理:使用批量接口而非单点接口
安全建议
生产环境安全配置:
- 防火墙配置:限制访问端口,只允许内网访问
- HTTPS配置:使用SSL证书加密传输
- 访问控制:添加API密钥验证
- 日志监控:定期检查访问日志,发现异常访问
常见问题
Q1:端口被占用怎么办?
A:修改启动时的端口号,或者停止占用该端口的服务。
Q2:如何查看服务日志?
A:源码部署查看控制台输出,Docker部署使用 docker logs 命令。
Q3:如何升级服务?
A:下载最新部署包,停止旧服务,部署新版本即可。
Q4:支持哪些操作系统?
A:支持Linux、Windows、macOS等主流操作系统。
技术支持
部署过程中遇到问题?欢迎通过以下方式联系我们:
- 📧 邮箱:support@yougis.com.cn
- 💬 WX号:YouGIS