金字塔pserve在不同的根路径比/

时间:2017-04-19 17:30:06

标签: pyramid waitress

默认情况下,当pserve启动时,它会在http://0.0.0.0:6543中运行金字塔应用程序但是如何将其更改为http://0.0.0.0:6543 / myapp

在设置中我可以更改端口,但我没有在其他地方找到更改根路径的位置

1 个答案:

答案 0 :(得分:0)

在任何WSGI应用程序中,environ['SCRIPT_NAME']在这里非常重要。它定义了应用程序中所有URL的根路径。完整路径为environ['SCRIPT_NAME'] + environ['PATH_INFO']。假设您已在应用中正确完成了操作(例如request.route_url(..)将使用此信息生成网址),那么您只需通过指示将其应用程序重新安装到其他地方(默认SCRIPT_NAME'')它应该是别的东西。

根据您部署应用程序的方式,您可以执行以下几项操作(如果它在代理后面,那么事情会稍微复杂一些)。让我们假设你只是使用一个托管女服务员的简单金字塔应用程序。您可以使用与rutter路径匹配的/myapp/* [1]包移动您的应用,并使用相应的SCRIPT_NAMEmyapp)和{将所有请求发送到您的应用{1}}。

声明性配置对于金字塔应用来说是最简单的。只需安装PATH_INFO,然后更新您的INI文件,即可在rutter前缀安装您的应用程序:

/myapp

注意我将[app:foo] use = egg:myapp#main [composite:main] use = egg:rutter#urlmap /myapp = foo 重命名为app:main,因为您只能有一个名为app:foo的wsgi组件,我们希望它是复合组件。

[1] http://rutter.readthedocs.io/en/latest/#declarative-configuration-using-paste-deploy-ini-files