跳转到主要内容

一个使用conda安装和配置PyWPS Web处理服务的Buildout配方。

项目描述

*****************************
birdhousebuilder.recipe.pywps
*****************************

.. image:: https://travis-ci.org/bird-house/birdhousebuilder.recipe.pywps.svg?branch=master
:target: https://travis-ci.org/bird-house/birdhousebuilder.recipe.pywps
:alt: Travis构建

.. image:: https://img.shields.io/github/license/bird-house/birdhousebuilder.recipe.pywps.svg
:target: https://github.com/bird-house/birdhousebuilder.recipe.pywps/blob/master/LICENSE.txt
:alt: GitHub许可证

.. image:: https://badges.gitter.im/bird-house/birdhouse.svg
:target: https://gitter.im/bird-house/birdhouse?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
:alt: 加入聊天 https://gitter.im/bird-house/birdhouse

简介
************

``birdhousebuilder.recipe.pywps`` 是一个用于安装和配置 `PyWPS`_ 使用 `Anaconda`_ 的 `Buildout`_ 配方。`PyWPS`_ 是 `Web处理服务`_ (WPS) 的Python实现。``PyWPS`` 将作为 `Supervisor`_ 服务部署,并通过 `Nginx`_ 网络服务器提供。
此配方由 `Birdhouse`_ 项目使用。

.. _`Buildout`: http://buildout.org/
.. _`Anaconda`: http://continuum.io/
.. _`Supervisor`: http://supervisord.org/
.. _`Nginx`: https://nginx.ac.cn/
.. _`PyWPS`: http://pywps.org/
.. _`PyWPS文档`: http://pywps.readthedocs.io/en/latest/configuration.html
.. _`Web处理服务`: https://en.wikipedia.org/wiki/Web_Processing_Service
.. _`Birdhouse`: http://bird-house.github.io/


用法
*****

该配方要求Anaconda已经安装。您可以使用buildout选项``anaconda-home``来设置Anaconda安装的prefix。否则,将使用环境变量``CONDA_PREFIX``(在激活conda环境时设置变量)作为conda prefix。

它将从一个conda渠道中安装``pywps``包,并使用``CONDA_PREFIX``定义的conda环境。安装位置由``prefix`` buildout选项给出。它会在``${prefix}/var/lib/pywps``设置一个`PyWPS`_ 输出文件夹。它会在``${prefix}/etc/supervisor/conf.d/pywps.conf``部署一个`Supervisor`_ 配置。可以通过``${prefix}/etc/init.d/supervisor start``启动Supervisor。

该配方将从conda渠道安装``nginx``包,并为``PyWPS``部署一个Nginx站点配置。配置将部署在``${prefix}/etc/nginx/conf.d/pywps.conf``。Nginx将由supervisor启动。

默认情况下,``PyWPS``将在https://127.0.0.1:8091/wps?service=WPS&version=1.0.0&request=GetCapabilities上可用。

该配方依赖于

* ``birdhousebuilder.recipe.conda``,
* ``birdhousebuilder.recipe.supervisor``,
* ``birdhousebuilder.recipe.nginx``和
* ``zc.recipe.deployment``。

支持的选项
=================

由buildout配置的PyWPS选项在`PyWPS文档`_中有说明。

该配方支持以下buildout选项

**anaconda-home**
指向Anaconda安装根文件夹的buildout选项。默认值:``$HOME/anaconda``。

``pywps``的buildout选项

**prefix**
设置安装文件夹prefix的部署选项。默认值:``/``

**user**
设置运行用户的部署选项。

**etc-user**
设置``/etc``目录的用户的部署选项。默认值:``root``

**name**
您的WPS项目的名称(用于配置名称和文件夹路径)。

**hostname**
``PyWPS``服务的hostname(nginx)。默认值:``localhost``

**http-port**
``PyWPS``服务的http端口(nginx)。默认值:``8091``

**https-port**
``PyWPS``服务的https端口(nginx)。默认值:``28091``

**http-output-port**, **output-port**
``PyWPS``输出文件服务的http端口(nginx)。默认值:``8090``

**https-output-port**
``PyWPS``输出文件服务的https端口(nginx)。默认值:``28090``

**ssl-verify-client**
Nginx选项,用于验证SSL客户端证书。可能的值:``off``(默认),``on``,``optional``。
`Nginx ssl_verify_client选项`_

**ssl-client-certificate**
Nginx选项,包含客户端CA证书的捆绑包名称。默认值:``esgf-ca-bundle.crt``。
`Nginx ssl_client_certificate`_

**ssl-client-certificate-url**
可选的URL,用于下载包含CA证书的捆绑包(用于``ssl-client-certificate``)。默认
https://github.com/ESGF/esgf-dist/raw/master/installer/certs/esgf-ca-bundle.crt

**workers**
处理请求的gunicorn工作进程数。默认值:1

**application**
PyWPS WSGI应用程序。默认值:``${name}:application``。

**title**
用于您的WPS服务的标题。

**abstract**
您的WPS服务的描述。

**loglevel**
``PyWPS``的日志级别。默认值:``WARN``

**logformat**
``PyWPS``的日志字符串格式。默认值:``%(asctime)s] [%(levelname)s] line=%(lineno)s module=%(module)s %(message)s``

**database**
存储请求/响应日志的数据库。允许的值是``memory``或``sqlite``。
默认值:``sqlite``。

**parallelprocesses**
最大并行运行的进程数。
实际并行运行的进程数受托管机器上的核心数限制
。默认值:2

**maxprocesses**
队列中接受的最大进程数。默认值:30

**maxrequestsize**
WPS过程中接受的最大请求大小。默认值:30mb

**allowedinputpaths**
允许通过文件URL复杂输入参数访问的服务器路径列表。

**模式**
运行作业的处理模式。允许的值是“default”(多进程)和“slurm”。
默认值:default



示例用法
=============

以下示例“buildout.cfg”使用Anaconda安装“PyWPS”:

[buildout]
parts = pywps

[pywps]
recipe = birdhousebuilder.recipe.pywps
name = myproject
prefix = /
user = www-data
hostname = localhost
http-port = 8091
https-port = 28091

# pywps选项
processes-import = myproject.processes
processes-path = ${buildout:directory}/myproject/processes
title = MyProject ...
abstract = MyProject does ...

使用Buildout安装后,使用以下命令启动“PyWPS”服务:

$ cd ${prefix}
$ etc/init.d/supervisord start # start|stop|restart
$ etc/init.d/nginx start # start|stop|restart
$ bin/supervisorctl status # 检查pycsw是否正在运行
$ less var/log/pywps/myproject.log # 检查日志文件

使用以下URL打开您的浏览器:

https://127.0.0.1:8091/wps?service=WPS&version=1.0.0&request=GetCapabilities

作者
*******

Carsten Ehbrecht ehbrecht at dkrz.de

变更历史
**************

0.10.0 (2018-03-20)
===================

* 清理了配方(#15)。
* 更新nginx选项,添加ssl-verify选项(#13)。

0.9.3 (2018-01-24)
==================

* 添加outputurl选项以覆盖默认值。

0.9.2 (2017-07-28)
==================

* 删除了未使用的“remotehost”选项。
* 更新了“database”选项。

0.9.1 (2017-06-28)
==================

* 添加了allowedinputpaths选项。

0.9.0 (2017-05-18)
==================

* 清理了buildout构建...修复了travis。
* 删除了未使用的选项processes-path和processes-import。
* 不再生成etc/pywps/app.py。
* 添加了application选项。

0.8.9 (2017-05-11)
=================

* 添加了处理选项“mode”和“remotehost”。

0.8.8 (2017-04-26)
==================

* 添加了“database”选项。

0.8.7 (2017-03-30)
==================

* 添加了“logformat”选项。

0.8.6 (2017-02-09)
==================

* 添加了“extra-options”,它还替换了“archive-root”选项。
* 添加了用于单元测试的test_module/test_unit.py模块。
* 更新了versions.cfg。


0.8.5 (2017-02-01)
==================

* 在gunicorn配置中设置NCARG_ROOT。

0.8.4 (2017-01-31)
==================

* 添加了选项“sethomedir”和“setworkdir”。

0.8.3 (2017-01-16)
==================

* 添加了“archive-root”缓存选项。

0.8.2 (2016-12-09)
==================

* 在gunicorn配置中将“HOME”设置为var/lib/pywps/tmp/${name}。
* 添加了“parallelprocesses”选项。
* 添加了“https-output-port”和“http-output-port”选项。
* 添加了“enable-https”选项。
* 更新了Readme。

0.8.1 (2016-11-10)
==================

* 修复了wspapp.py模板:使用processes-import选项
* 使用proccess-path选项。
* 更新了Readme。

0.8.0 (2016-10-17)
==================

* 更新到pywps 4.x(新配置文件)

0.5.1 (2016-07-06)
==================

* 为上传添加了nginx配置中的client_body_max_size。

0.5.0 (2016-06-30)
==================

* 使用zc.recipe.deployment。
* 将缓存路径更改为“var/lib/pywps/cache”。
* 将临时路径更改为“var/lib/pywps/tmp”。

0.4.0 (2016-03-03)
==================

* 更新到pywps 3.2.5。
* 修复了wpsapp.py wsgi脚本。
* 将缺少的server/debug参数添加到pywps.cfg中。

0.3.10 (2016-02-12)
===================

* 将“maxoperations”和“maxfilesize”添加到选项中。

0.3.9 (2016-02-08)
==================

* 更新了pywps conda依赖。

0.3.8 (2016-02-04)
==================

* 在${prefix}/var/log/pywps/中配置pywps logFile。

0.3.7 (2016-01-22)
==================

* 将环境变量PATH和GDAL_DATA添加到bin/runwps脚本中。

0.3.6 (2016-01-22)
==================

* 生成bin/runwps脚本以测试pywps服务。

0.3.5 (2016-01-21)
==================

* 更新了pywps conda依赖。

0.3.4 (2016-01-19)
==================

* 清理了模板。
* 将eventlet添加到conda依赖中。

0.3.3 (2016-01-18)
==================

* 重命名了gunicorn模板。
* 更新了pywps.cfg以支持gunicron关键词模板。

0.3.2 (2016-01-15)
==================

* 添加了gunicorn workers参数。
* 使用gevent worker_class。
* 使用gunicorn配置文件夹etc/gunicorn/。

0.3.1 (2016-01-05)
==================

* 使用缓存路径var/lib/cache/。

0.3.0 (2015-12-01)
==================

* 更新到最新的pywps wsgi应用。

0.2.6 (2015-06-25)
==================

* 为supervisor和nginx添加了用户选项。

0.2.5 (2015-06-24)
==================

* 启用了https访问。

0.2.4 (2015-06-23)
==================

* 删除了未使用的proxyEnabled选项。
* 清理了模板。

0.2.3 (2015-05-18)
==================

* 更新了supervisor配置。
* 将pywps记录到stderr/supervisor。

0.2.2 (2015-04-21)
==================

* 在gunicorn中不要设置“HOME”环境变量。

0.2.1 (2015-03-24)
==================

* 将mako_cache添加到pywps配置中。

0.2.0 (2015-02-24)
==================

* 在conda环境“birdhouse”中安装。
* 使用“$ANACONDA_HOME”环境变量。
* 将anaconda-home和安装前缀分离。

0.1.11 (2014-12-08)
===================

* 更改了默认的日志级别。

0.1.10 (2014-12-06)
===================

* 不要在buildout更新时更新conda。
* 在gunicon.conf.py中设置PYTHONPATH。用于PyWPS异步进程。

0.1.9 (2014-11-26)
==================

* 在pywps.cfg模板中添加了缓存部分。

0.1.8 (2014-11-03)
==================

* 在gunicorn.conf.py模板中添加GDAL_DATA到环境变量。

0.1.7 (2014-08-27)
==================

* 为wpsoutputs添加phoenix选项。

0.1.6 (2014-08-26)
==================

* 修复了wpsoutputs的代理配置。

0.1.5 (2014-08-23)
==================

将缓存路径添加到nginx配置中。

0.1.4 (2014-08-17)
==================

将/usr/local/bin添加到gunicorn路径中(在macosx上使用brew需要)

0.1.3 (2014-08-01)
==================

更新了文档。

0.1.2 (2014-07-24)
==================

修复了nginx模板中的主机名。

0.1.1 (2014-07-11)
==================

修复了gunicorn模板中的HOME环境变量。

0.1.0 (2014-07-10)
==================

初始版本。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

birdhousebuilder.recipe.pywps-0.10.0.tar.gz (20.6 kB 查看散列)

上传时间

支持者: