`

webpy_CGI 伏笔

 
阅读更多
http://webpy.org/install.zh-cn

摘:

开发
web.py 内置了web服务器。可以按照 tutorial 学习如何写一个Web应用。 写完后,将你的代码放到 code.py 并如下面的方法来启动服务器:

python code.py
打开你的浏览器输入 http://localhost:8080/ 查看页面。 若要制定另外的端口,使用 python code.py 1234。


产品
现在所运行 web.py 程序的web服务器是挺不错的, 但绝大多数网站还是需要更加专业一些的web服务器。web.py 实现了 WSGI 并能在任何兼容它的服务器上运行。 WSGI 是一个web服务器与应用程序之间的通用API, 就如Java 的 Servlet 接口。 你需要安装 flup (download here) 使web.py 支持with CGI, FastCGI 或 SCGI, flup提供了这些API的WSGI接口。

对于所有的CGI变量, 添加以下到你的 code.py:

#!/usr/bin/env python
并运行 chmod +x code.py 添加可执行属性。


LightTPD

.. 使用 FastCGI
在产品中通过FastCGI结合lighttpd是web.py使用的一种推荐方法。 reddit.com 通过该方法来处理百万次的点击。

lighttpd config设置参考如下:

server.modules = ("mod_fastcgi", "mod_rewrite")
server.document-root = "/path/to/root/"    
fastcgi.server = ( "/code.py" =>    
(( "socket" => "/tmp/fastcgi.socket",
    "bin-path" => "/path/to/root/code.py",
    "max-procs" => 1
))
)

url.rewrite-once = (
   "^/favicon.ico$" => "/static/favicon.ico",
   "^/static/(.*)$" => "/static/$1",
   "^/(.*)$" => "/code.py/$1"
)
在某些版本的lighttpd中, 需要保证fastcgi.server选项下的"check-local"属性设置为"false", 特别是当你的 code.py 不在文档根目录下。

如果你得到错误显示不能够导入flup, 请在命令行下输入 "easy_install flup" 来安装。

从修订版本 145开始, 如果你的代码使用了重定向,还需要在fastcgi选项下设置bin-environment变量。 如果你的代码重定向到http://domain.com/ 而在url栏中你会看到 http://domain.com/code.py/, 你可以通过设置这个环境变量来阻止。 这样你的fastcgi.server设置将会如下:

fastcgi.server = ( "/code.py" =>
((
   "socket" => "/tmp/fastcgi.socket",
   "bin-path" => "/path/to/root/code.py",
   "max-procs" => 1,
   "bin-environment" => (
     "REAL_SCRIPT_NAME" => ""
   ),
   "check-local" => "disable"
))
)
分享到:
评论

相关推荐

    Python库 | py_mini_racer-0.1.9-cp36-cp36m-macosx_10_6_intel.whl

    总的来说,`py_mini_racer`是一个强大的工具,它使得Python开发者可以方便地利用JavaScript的强大功能,特别是在需要处理Web相关任务或者需要JavaScript高性能计算能力的场景下。对于那些需要在Python环境中运行...

    STM32+LWIP+WEB_SSI_CGI

    STM32+LWIP+WEB_SSI_CGI是一个基于STM32微控制器、轻型互联网协议栈(LWIP)以及服务器端嵌入式HTML(WEB_SSI_CGI)技术的网络编程方案。这个组合使得STM32单片机能够实现简单的网页服务器功能,允许用户通过网页...

    CGI.rar_boa_boa cgi_cgi_cgi boa_cgi动态网页

    在本资源"CGI.rar_boa_boa cgi_cgi_cgi boa_cgi动态网页"中,重点是展示了如何在BOA(简陋但高效的HTTP服务器)上运行CGI程序。 BOA服务器是一个开源的、轻量级的HTTP服务器,适用于资源有限的设备或低负载环境。它...

    BOA+CGI测试例程.rar_CGI arm_arm cgi_boa_boa cgi_cgi boa

    在这个例子中,我们看到有“gpio_test.c”和“gpio_cgi.c”,它们可能是用C语言编写的CGI程序,用于处理GPIO(General Purpose Input/Output)相关的请求。GPIO是微控制器上常见的接口,用于控制硬件引脚的输入和...

    Webserver.rar_cgi web_webserver_web页面 监控_嵌入式 webserver_监控 设备 管理

    随着Internet技术的兴起,在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流,这种程序结构也就是大家非常熟悉的B/S结构,即在 嵌入式设备上运行一个支持脚本或CGI功能的Web服务器,能够生成动态页面,...

    CGI.rar_CGI javascript_CGI linux_CGI 传感器_cgi_cgi功能的实现

    CGI(Common Gateway Interface,通用网关接口)是一种在Web服务器和服务器端应用程序之间通信的标准技术,使得网页服务器能够调用外部程序来处理请求。在这个"CGI.rar"压缩包中,我们似乎拥有一个关于CGI应用的综合...

    cgi.rar_CGI linux_cgi_cgi post_cgi post g_windows cgi post g

    CGI(Common Gateway Interface,通用网关接口)是Web服务器与外部程序进行交互的一种标准协议,使得动态内容能够在Web上展示。在这个“cgi.rar”压缩包中,包含了一个关于CGI编程的实例,特别是关于在Linux环境下的...

    CGI开发包,用于分解数据和各个变量  .zip_c cgi_cgi_cgi c++_cgi-web

    CGI(Common Gateway Interface,通用网关接口)是一种标准,允许Web服务器与外部程序交互,以处理动态内容、用户输入或其他复杂任务。这个压缩包包含了用于CGI开发的相关资源,特别是针对C++语言的实现。下面我们将...

    web2py_win

    【web2py_win】是一个专为Windows用户设计的版本,它是基于Python的全功能Web应用框架——web2py。web2py提供了一种快速、安全且可扩展的平台,用于构建复杂的Web应用程序,而且无需进行额外的安装步骤,极大地简化...

    HTML-XML-CGI.zip_UP_cgi_cgi xml_html cgi_xml CGI

    CGI_xml和html_cgi标签可能指的是使用CGI来处理XML数据,或者在HTML页面中嵌入CGI脚本以动态地操作XML数据。例如,一个Web应用可能通过CGI脚本动态地从XML数据库中检索信息,并用这些信息更新HTML页面内容。 总结...

    cgi-0.7.zip_CGI linux_cgi_linux c cgi_linux 封装_web接口

    这个"cgi-0.7.zip"压缩包包含了一个C语言编写的CGI实现,专门针对Linux系统进行了优化和封装,为开发者提供了一个便捷的Web接口。 CGI的基本工作原理是:当用户通过浏览器访问一个CGI程序时,Web服务器接收请求并...

    cgi.rar_cgi_cgi common gate_cgi html

    CGI为开发者提供了一种方式,使得Web服务器可以调用外部程序来处理用户的请求,从而实现网页的动态化。 CGI的基本工作原理是:当用户通过浏览器发送一个HTTP请求到Web服务器时,服务器接收到请求后,会启动一个CGI...

    cgi_demo.rar_CGI linux_Linux cgi_c cgi_cgi uclinux_libcgi

    CGI(Common Gateway Interface,通用网关接口)是一种在Web服务器上执行外部程序的标准协议,允许Web服务器与各种脚本语言或应用程序进行交互,从而扩展其功能。在本例中,"cgi_demo.rar" 提供了一个在Linux环境下...

    linux-cgi.rar_CGI js_CGI linux_Linux下cgi开发_linux http cgi_linux

    CGI(Common Gateway Interface,通用网关接口)是Web服务器与外部程序进行通信的一种标准协议,使得动态网页的生成成为可能。在Linux环境下,CGI技术被广泛应用于创建交互式的Web应用程序。本教程将深入探讨如何在...

    Java-CGI-HOWTO-html.tar.gz_cgi_cgi-web

    CGI是一种标准,允许Web服务器与外部程序交互,从而动态生成网页内容。这个压缩包里的HTML文件可能是手册的不同章节,包括从基础到进阶的详细指南。 在Web开发中,CGI是早期实现动态网页的一种方式,通过它,服务器...

    Python库 | py_bandcamp-0.2.tar.gz

    Python是一种功能强大且广泛使用的编程语言,尤其在数据处理、科学计算以及Web开发领域有着广泛的应用。在Python的世界中,库扮演着至关重要的角色,它们为开发者提供了便捷的功能接口,大大提升了开发效率。本文将...

    Python库 | spdx_py_build_tool_ekl-0.1.tar.gz

    在标签中,"python"和"开发语言"指的是Python编程语言,它是目前非常流行的开源编程语言,广泛应用于Web开发、数据分析、人工智能等多个领域。"Python库"则指明了这个资源是用于Python开发的,可能是为了简化某些...

    Python库 | py_configuration_Orinnass-2.7.1-py3-none-any.whl

    在Python的世界里,有许多优秀的库,如NumPy用于科学计算,Pandas用于数据处理,Django用于Web开发等。今天我们要讨论的是名为"py_configuration_Orinnass"的库,它在Python生态系统中的角色和使用方法。 `py_...

    Python库 | py_host-0.0.2.tar.gz

    Python是一种广泛使用的高级编程语言,尤其在数据处理、科学计算、Web开发以及自动化任务等领域有着广泛应用。`py_host`是一个Python库,版本为0.0.2,它被封装在一个名为"py_host-0.0.2.tar.gz"的压缩文件中。这个...

    Python库 | py_filestore-1.1.0-py3-none-any.whl

    结合其他库,如`Flask`或`Django`进行Web框架搭建,可以构建出高效、稳定的后端应用。 6. **Python的生态环境** Python因其丰富的库生态而深受开发者喜爱。除了`py_filestore`,还有许多其他优秀的库,如`Pandas`...

Global site tag (gtag.js) - Google Analytics