IIS + wfastcgi + Python3.6 + Cherrypy 配置

筆者著嘗試在IIS中部署Cherrypy,心得如下

  1. 為IIS啓用CGI功能
  2. 在命令行執行pip install wfastcgi
  3. 在命令行執行wfastcgi-enable(需要管理員權限)
  4. 在IIS中配置Handler Mapping,參考以下web.config,注意 <add key="WSGI_HANDLER" value="app.wsgiapp" />中的value對應你app.py裏面的wsgiapp
  5. pip install cherrypy,編寫app.py代碼,參考以下app.py
  6. 瀏覽 http://localhost/cherrypyhttp://localhost/cherrypy/greet/peter 即可看到輸出結果

如有問題,請留言

網站結構

DefaultSite
  |-cherrypy
  |  |-app.py
  |  |-web.config
  |-flask

web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="Python FastCGI - Cheerypy"
           path="*"
           verb="*"
           modules="FastCgiModule"
           scriptProcessor="C:\Python36\python.exe|C:\PythonWeb\cherrypy\wfastcgi.py"
           resourceType="Unspecified"
           requireAccess="Script" />
    </handlers>
  </system.webServer>

  <appSettings>
    <!-- Required settings -->
    <add key="WSGI_HANDLER" value="app.wsgiapp" />
    <add key="PYTHONPATH" value="C:\PythonWeb\Cherrypy" />

    <!-- Optional settings -->
    <!--
    <add key="WSGI_LOG" value="C:\Logs\my_app.log" />
    <add key="WSGI_RESTART_FILE_REGEX" value=".*((\.py)|(\.config))$" />
    <add key="APPINSIGHTS_INSTRUMENTATIONKEY" value="__instrumentation_key__" />
    <add key="DJANGO_SETTINGS_MODULE" value="my_app.settings" />
    <add key="WSGI_PTVSD_SECRET" value="__secret_code__" />
    <add key="WSGI_PTVSD_ADDRESS" value="ipaddress:port" />
    -->
  </appSettings>
</configuration>

app.py

import cherrypy

class Root:
    @cherrypy.expose
    def index(self):
        return 'Hello CherryPy!'

    @cherrypy.expose
    def greet(self, name):
        return 'Greetings, {0}'.format(name)

url_prefix = '/cherrypy'

cherrypy.config.update({'engine.autoreload.on': False})
cherrypy.server.unsubscribe()
cherrypy.engine.start()

wsgiapp = cherrypy.tree.mount(Root(), url_prefix)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 22年12月更新:个人网站关停,如果仍旧对旧教程有兴趣参考 Github 的markdown内容[https://...
    tangyefei阅读 35,421评论 22 257
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,659评论 19 139
  • 为何叫做 shell ? shell prompt(PS1) 与 Carriage Return(CR) 的关系?...
    Zero___阅读 3,331评论 3 49
  • jHipster - 微服务搭建 CC_简书[https://www.jianshu.com/u/be0d56c4...
    quanjj阅读 932评论 0 2
  • 青春是用来折腾的,但愿我的折腾不是瞎折腾! 2015年大学毕业去了一家...
    生活芝麻阅读 538评论 0 1

友情链接更多精彩内容