【环境搭建】Mac10.15.7 配置Apache httpd python cgi
  OIW0KlaMcRRl 2023年11月28日 21 0


环境:

OS: Mac 10.15.7

Python: 3.11.1

参考文章:Mac配置CGI及运行python脚本 - yingzi__block

Mac配置CGI及运行python脚本

CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如:HTTP 服务器,提供同客户端 HTML 页面的接口。

在进行 CGI 编程前,确保您的 Web 服务器支持 CGI 及已经配置了 CGI 的处理程序。

Mac上是自带Apache cgi的运行环境的,默认端口是80, 但是不可以直接用,需要进行相应的修改才可以正常运行。

一、修改配置

CGI的相关配置在httpd.conf文件中,不过需要修改一下配置。
修改httpd.conf文件需要root权限,权限设置:

sudo vim /etc/apache2/httpd.conf

1、找到LoadModule cgi_module libexec/apache2/mod_cgi.so,并解注释

【环境搭建】Mac10.15.7 配置Apache httpd python cgi_开发语言

2、找到AddHandler cgi-script .cgi, 并解注释。并且可以在后面增加.py,表示可以访问.py结尾的python脚本文件,也可以增加.pl,.shell等等,表示可以执行各种类型的脚本。

【环境搭建】Mac10.15.7 配置Apache httpd python cgi_python_02

3、在httpd.conf中找到如下代码,目录/Library/WebServer/CGI-Executables就是cgi-bin运行的文件目录,我们创建的各种脚步需要放到这个目录下才能运行。

【环境搭建】Mac10.15.7 配置Apache httpd python cgi_apache_03

二、创建python脚本temp.py或者temp.cgi

#!/usr/bin/env python

print('Content-type:text/html\n')
print("<html><head><title>Books</title></head>")
print("<body>")
print("<h1>Books</h1>")
print("<ul>")
for i in range(10):
    print("<li>%s</li>" % i)
print('</ul>')
print('</body></html>')

将创建好的执行文件放在/Library/WebServer/CGI-Executables目录下,并赋予root权限

sudo chomd 755 temp.py

三、重启appachectl服务

sudo apachectl restart

扩展:停止appachectl服务

sudo apachectl stop

四、打开浏览器,输入

http://localhost/cgi-bin/temp.py

页面如下:

【环境搭建】Mac10.15.7 配置Apache httpd python cgi_python_04


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月28日 0

暂无评论

推荐阅读
OIW0KlaMcRRl