nginx配置python的cgi

nginx不支持cgi,也就是nginx 不能直接执行外部脚本。但是nginx支持fastcgi。所以为了在nginx运行fastcgi,我们采用flup,flup是fastcgi的一种实现。这里是官网https://www.saddi.com/software/flup/ 我用最简单的模式就是 nginx+flup。
* 第一步安装flup。当前目录转为\python安装目录\Lib\site-packages 但后用easy_install安装flup的egg文件。
* 第二步就是配置nginx.conf文件,我用最简单的配置:

    location ~ ^/test {
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:10080;
    }

* 第三步也是最蛋疼的一部就是测试代码。用的pytho你上的示例代码:

from cgi import escape

import sys, os
from flup.server.fcgi import WSGIServer

def app(environ, start_response):
start_response(‘200 OK’, [(‘Content-Type’, ‘text/html’)])

yield '<h1>FastCGI Environment</h1>'
yield '<table>'
for k, v in sorted(environ.items()):
     yield '<tr><th>%s</th><td>%s<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python CGI(Common Gateway Interface)是一种用于在服务器上运行Python脚本的方式。它允许你通过Web服务器来执行Python脚本并生成动态的Web页面。 下面是一个简单的Python CGI教程: 1. 创建一个Python脚本:首先,你需要创建一个Python脚本来处理CGI请求。这个脚本将接收HTTP请求并生成相应的输出。例如,你可以创建一个名为"hello.py"的文件,其中包含以下内容: ```python #!/usr/bin/env python print("Content-type: text/html\n") print("<html>") print("<head>") print("<title>Hello CGI!</title>") print("</head>") print("<body>") print("<h1>Hello, CGI!</h1>") print("</body>") print("</html>") ``` 2. 设置CGI权限:确保你的脚本具有执行权限。可以使用以下命令进行设置: ``` chmod +x hello.py ``` 3. 配置Web服务器:接下来,你需要配置你的Web服务器以支持Python CGI。具体的配置步骤可能会因服务器类型而有所不同。以下是一个示例配置: - 对于Apache服务器:编辑Apache配置文件(通常是httpd.conf或apache2.conf),添加以下内容: ``` <Directory /path/to/cgi-bin> Options +ExecCGI AddHandler cgi-script .py </Directory> ``` - 对于Nginx服务器:编辑Nginx配置文件(通常是nginx.conf),添加以下内容: ``` location /cgi-bin/ { root /path/to/; include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; } ``` 4. 将脚本上传到服务器上的CGI目录:将你的脚本上传到服务器上的CGI目录(例如,/var/www/cgi-bin/)。 5. 访问你的脚本:在浏览器中输入你的服务器地址和CGI脚本的路径(例如,http://example.com/cgi-bin/hello.py),你应该能够看到生成的动态网页。 这只是一个简单的Python CGI教程,帮助你入门。CGI还支持更复杂的功能,如处理表单数据、数据库连接等。你可以进一步深入学习CGI编程以掌握更多高级技巧。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值