`

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"
))
)
分享到:
评论

相关推荐

    cgi.rar_CGI 嵌入式_cgi web_web cgi_嵌入式 CGI_web

    CGI(Common Gateway Interface,通用网关接口)是一种标准,允许Web服务器与外部应用程序交互,以动态生成网页内容。在“cgi.rar”这个压缩包中,我们关注的是CGI在嵌入式系统中的应用,以及如何构建嵌入式Web...

    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服务器,适用于资源有限的设备或低负载环境。它...

    cgi-test-test.rar_c cgi_c++ cgi_cgi_cgi c++_cgi-test.c

    `c++_cgi.c`可能是一个使用C++语言编写的CGI程序,它利用了C++的类和对象来组织代码,以实现更复杂的业务逻辑。 4. **CGI测试**:`cgi-test.c`可能是一个用于测试CGI功能的程序,它可以帮助开发者验证CGI程序是否...

    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_cgi c++_cgi-web

    通用网关接口(CGI,Common Gateway Interface)是Web服务器与外部程序进行交互的一种标准协议。这个协议允许Web服务器执行动态生成的网页内容,而不仅仅是静态HTML文件。CGI为Web开发者提供了强大的功能,比如创建...

    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.zip_cgi_cgi html_cgi template_visual c

    在Web服务器上配置CGI支持,通常需要指定CGI脚本的目录,服务器会在接收到请求时执行该目录下的CGI程序。 7. 性能优化: 由于CGI每次请求都会启动新的进程,可能导致性能下降。为提高效率,可以考虑使用FastCGI或...

    cgi_sql2.tar.gz_cgi_cgi html

    在标题“cgi_sql2.tar.gz_cgi_cgi html”中,我们可以推断这个压缩包包含了一个或多个用于通过CGI与SQL数据库交互的程序,可能是为了动态生成HTML内容。 CGI程序通常由诸如Perl、Python、C++或PHP等编程语言编写,...

    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应用程序。本教程将深入探讨如何在...

    网络编程基础篇系列(cgi).rar_CGI编程_cgi_java cgi

    CGI(Common Gateway Interface,通用网关接口)是网络编程中的一个重要概念,它定义了一种标准,使得Web服务器能够与各种脚本语言或应用程序进行交互,以动态生成网页内容。这个压缩包“网络编程基础篇系列(cgi)....

    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开发的,可能是为了简化某些...

Global site tag (gtag.js) - Google Analytics