我正在构建一个地图应用程序,并使用TileStache来生成和缓存瓦片。我已经为我的rails应用程序使用了NGinx+Passenger,并且正在试图弄清楚如何从同一个web服务器(NGinx)同时为我的rails应用程序和TileStache提供服务。从NGinx文档看,NGinx似乎需要重新编译才能添加WSGI模块。由于我已经在使用Phusion Phusion Passenger模块,我不确定该怎么做。我在正确的轨道上吗?如有任何建议,我们将不胜感激。
发布于 2012-06-28 12:45:18
因为对于这个特定的项目,数据是静态的,所以我决定使用TileStache来种子/预热缓存,并将tiles作为静态资产进行服务。
发布于 2014-08-04 15:03:57
我们使用nginx将瓷砖放在外面。效果很好。
我们将nginx配置为proxy_pass到wsgi服务器。在启用站点的文件中:
location / {
proxy_pass http://127.0.0.1:XXXXSOMEPORTXXXX;
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_connect_timeout 900s;
proxy_read_timeout 900s;
}我给了它很长的超时时间,这样客户端可以等待一段时间,你可能需要更少的时间。
然后,我创建了一个python虚拟环境,并安装了gunicorn来运行tilestache服务器。它可以使用如下命令运行:
XXXXPATHTOVIRTUALENVXXXX/bin/gunicorn --max-requests 1 --timeout 900 --graceful-timeout 890 -b 127.0.0.1:XXXXSOMEPORTXXXX -w 20 "TileStache:WSGITileServer('XXXXPATHTOTILESCONFIGXXXX/tiles.conf')"我们通过在supervisord中使用该线路来保持gunicorn的运行,以便supervisor在服务器终止或系统重新启动时负责启动gunicorn服务器。
Tilestache非常棒!
https://stackoverflow.com/questions/11195113
复制相似问题