Python+Apache+CGI

环境安装好(包括Python、Apache以及相关的组件),从CGI配置开始。

1.配置CGI环境

Apache支持CGI配置,下面就来详细说明配置的过程。

找到安装Apache的目录 /usr/local/apache2/conf ,并对 httpd.conf 配置文件进行修改,如下面的说明:

1.1.加载cgi模块

#LoadModule cgid_module modules/mod_cgid.so

去掉注释:

LoadModule cgid_module modules/mod_cgid.so

1.2.设置cgi脚本文件路径

ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"

apache默认把"/usr/local/apache2/cgi-bin/“映射为/cgi-bin/,即当访问/cgi-bin/目录时,实际上访问的是”/usr/local/apache2/cgi-bin/"目录。

现将其设置为真实的项目目录,例如:

ScriptAlias /cgi-bin/ /home/Source_Code/cgi_for_py/

路径末尾一定要加/ ,否则apache是无法打到该路径下的文件的。

1.3.设置cgi路径的访问权限

<Directory />
    AllowOverride none
    Require all denied
</Directory>

将上面的内容全部修改为下面的内容:

<Directory "/home/Source_Code/cgi_for_py/">
   AllowOverride None
   Options +ExecCGI
   Order allow,deny
   Allow from all
</Directory>

/home/Source_Code/cgi_for_py/ 是项目路径

1.4.设置apache可解释python的cgi脚本文件

#AddHandler cgi-script .cgi

修改为:

AddHandler cgi-script .cgi .py

加上.py后,就可以解释python的脚本文件了,如果你需要解释shell的脚本文件,可以添加.pl,其它的类似。

End,完成上面的4步,CGI配置已完成。
重启Apache或者重新加载Apache

2.测试CGI脚本文件

2.1.创建cgi脚本文件

在/home/Source_Code/cgi_for_py/目录下添加下面一个文件,如index.py:

#!/usr/bin/python
#coding:utf-8
print "Content-type:text/html"
print
print '<html>'
print '<head>'
print '<title>Hello</title>'
print '</head>'
print '<body>'
print '<h2>Hello Word! This is my first CGI program</h2>'
print '</body>'
print '</html>'

注意:
打印协议头。
协议头为print的第一行和第二行。第一行为协议类型,第二行为协议结尾。
『print “字符串”』等价于『print(“字符串”)』
『print』等价于『print("")』

2.2.为cgi脚本分配执行权限

常见的没有权限的错误如下:

  • End of script output before headers:index.py
  • 500
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 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
发出的红包

打赏作者

大鲸鱼吃小鲸鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值