前言
在使用python搭建本地地图引擎(一)中本地python基本已经搭建完成,之后就访问服务只能通过127.0.0.1进行访问的问题进行解决,资料参考地址如下:http://blog.csdn.net/Running_Ants/article/details/52024190。
解决方案
当前我的解决方法,是利用Apache服务进行解决;首先下载Apache,版本要与系统的版本一致。不然安装后启动会出现问题。注:因为之前的Python的安装都是32位的,以至于安装了64位的Apache后无法加载Python的组件,且64位系统下根本无法启动32位的Apache走了不少弯路,千万别随意!
-
首先了解Python中mapproxy如果要在Apache中进行发布,需要用到的组件wod_wsgi插件,当前我是在非官方网站进行下载(使用python搭建本地地图引擎(一)安装4中提到的下载pyproj的网站)64位的Python36的wod_wsgi.whl文件放入Script文件下,在cmd下进行安装。
-
接下来是安装Apache,安装方法在次提供https://jingyan.baidu.com/article/29697b912f6539ab20de3cf8.html。注:Apache的安装一定要与windows系统位一致,当前我安装的是64位。在Apache的安装中会碰到接口占用的问题,默认访问接口是80,还有443的接口被占用,需要修改443端口的文件conf\extra\httpd-ahssl.conf和httpd-ssl.conf为442,修改80的主要是httpd.conf文件为8088。
-
安装成功后,接下来就是准备怎样在Apache上发布Mapproxy了,如果经常用Apache和Python的程序员可能觉得会异常简单,由于对于Python和Apache我是第一次用,在这还是要详细描述一下。
接下来是比较重点的东西:
一、当前状态下Mapproxy已经可以正常启动,并且wod_wsgi组件已经成功安装。先了解一下WSGI推荐网站http://blog.csdn.net/li_101357/article/details/52748323 。如文章所言作为Python应用程序与web服务器的桥梁wod_wsgi起的作用就在于此。
二、在cmd下获取Python中的wod_wsgi的配置路径。相关网站http://blog.csdn.net/chao_8023/article/details/74495116。
三、将命令下方获取的三行(看着是四行其实是三行中间那条换行了),复制粘贴到Apache下cof文件下的httpd.conf中。注:Apache的服务接口以及服务ip都在httpd.conf中进行修改。
四、同样,通过wod_wsgi获取Mapproxy的启动配置。在cmd下进行操作。
mapproxy-util create -t wsgi-app -f mapproxy.yaml config.py
五、完成以上操作后,将一下代码也粘贴到Apache中conf文件下httpd.conf中。注:记得将路径修改为你本机的路径,标黄色的这段代码在以上配置粘贴过wod_wsgi配置的情况下是不需要的
# if not loaded elsewhere
LoadModule wsgi_module modules/mod_wsgi.so
WSGIScriptAlias /mapproxy C:\Python27\Scripts\config.py
<Directory "C:\Python27\Scripts">
Require all granted
</Directory>
以下是我配置成功的截图
- 自此完成所有配置,在“服务”中启动Apache,因为用的是httpd.conf文件的默认服务ip,所以访问localhost:8088/mapproxy就可以访问到,Mapproxy的服务,若想用别的ip地址在httpd.conf中进行修改就可以了,如下图
完成以上的安装和部署地图就可以通过其他ip地址发布了。努力努力!Mapproxy地图瓦片的抓取与配置通过下一篇继续说明一下。希望大家关注注意一下,原创不易呀。