@Apache配置QGIS server
Apache配置QGIS server
你好!本次QGISdesktop 我是先下载了的QGIS3.16官方(此处就不复述了),QGIS server是通过“ OSGeo4W网络安装程序(64位)“单独安装的。
QGIS server安装部分
一、下载:
二、安装
中间有几步一路默认的,到下一步(安装中最重要的一部,我选择了长期稳定版本3.16.6-1):
三、安装后
我自己选择的安装地址是:
G:\OSGeo4W64
CGI主程序位置在:
G:\OSGeo4W64\apps\qgis-ltr\bin\qgis_mapserv.fcgi.exe
以这个方式安装后基本就不用怎么动它了,要记住几个位置的文件:
G:\OSGeo4W64\httpd.d\httpd_qgis-ltr.conf(这个记录了QGIS server中的环境变量,下一步需要导入到Apache中)
Apache中安装部分
一、下载Apache
我通过下面网址下载httpd-2.4.47-win64-VS16.zip :
https://www.apachelounge.com/download/(Apache解压可用,主要解压的位置,我这边将他放在C:\Apache24,不用改,里面都有注意事项提醒的)
二、 修改对应的httpd.conf
C:\Apache24\conf(这个文件放在对应的解压位置)
有下面几个点位要说说的:
1
Define SRVROOT “c:/Apache24”
ServerRoot “${SRVROOT}”
如果你不是解压在C盘的,那根目录就要修改了,修改粗体部分。
修改示例:无
2
#Listen 12.34.56.78:80 Listen 80 端口默认是80,如果占用了就换个吧,当然你可以在任务管理器里面找到占用的端口杀掉。
修改示例: Listen 81
3
#LoadModule ***_module ***.so 在这个#LoadModule后面追加个FastCGI ASF模块,因为QGIS server本质上是基于C++的。
下载地址和下Apache一样
下载之后,把mod_fcgid.so放在modules下,同时在httpd.conf文件中注入:
修改示例(追加上这段):LoadModule fcgid_module modules/mod_fcgid.so
4
#ServerName www.example.com:80
改吧,不然会报错的。改个特别点的名字:
修改示例:ServerName localhostmy:80
5
ScriptAlias /cgi-bin/ “${SRVROOT}/cgi-bin/”
修改CGI-BIN的目录地址:(注意斜杠方向/\,注意bin/后面要有斜杠)
修改示例:ScriptAlias /cgi-bin/ “G:/OSGeo4W64/apps/qgis-ltr/bin/”
6
<Directory “${SRVROOT}/cgi-bin”>
AllowOverride None
Options None
Require all granted
修改示例:
<Directory “G:/OSGeo4W64/apps/qgis-ltr/bin”>
SetHandler cgi-script #因为增加了这个
AllowOverride None
Options ExecCGI #因为增加handle同步修改ExecCGI
Require all granted
7
#AddHandler cgi-script .cgi
(含义是添加多点类型)
修改示例:AddHandler cgi-script .cgi .pl .asp .exe
8
最后要添加QGIS
server的环境变量,可以代码增加,但现在建议还是引入G:\OSGeo4W64\httpd.d\httpd_qgis-ltr.conf在末尾算了,方便快捷。
修改示例:include “G:/OSGeo4W64/httpd.d/*.conf”
测试是否有成功配置了
一、CMD中启动Apache的主程序httpd.exe
C:\Apache24\bin\httpd.exe
这样子没有闪退就成功了
二、在浏览器中访问
http://localhost/cgi-bin/qgis_mapserv.fcgi.exe?
出现这个样子就代表成功了。搞定,然后去画图吧