CGI(Common Gateway Interface),通用網(wǎng)關接口,它是一段程序,運行在服務器上如:HTTP 服務器,提供同客戶端 HTML 頁面的接口。
在進行 CGI 編程前,確保您的 Web 服務器支持 CGI 及已經(jīng)配置了 CGI 的處理程序。
Mac上是自帶Apache cgi的運行環(huán)境的,默認端口是80, 但是不可以直接用,需要進行相應的修改才可以正常運行。
一、修改配置
CGI的相關配置在httpd.conf文件中,不過需要修改一下配置。
修改httpd.conf文件需要root權限,權限設置:
sudo vim /etc/apache2/httpd.conf
1、找到LoadModule cgi_module libexec/apache2/mod_cgi.so,并解注釋

截屏2022-08-19下午4.04.12.png
2、找到AddHandler cgi-script .cgi, 并解注釋。并且可以在后面增加.py,表示可以訪問.py結尾的python腳本文件,也可以增加.pl,.shell等等,表示可以執(zhí)行各種類型的腳本。

截屏2022-08-19下午4.04.49.png
3、在httpd.conf中找到如下代碼,目錄/Library/WebServer/CGI-Executables就是cgi-bin運行的文件目錄,我們創(chuàng)建的各種腳步需要放到這個目錄下才能運行。

截屏2022-08-19下午4.09.13.png
二、創(chuàng)建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>')
將創(chuàng)建好的執(zhí)行文件放在/Library/WebServer/CGI-Executables目錄下,并賦予root權限
sudo chmod 755 temp.py
三、重啟appachectl服務
sudo apachectl restart
擴展:停止appachectl服務
sudo apachectl stop
四、打開瀏覽器,輸入
http://localhost/cgi-bin/temp.py
頁面如下:

截屏2022-08-19下午4.21.43.png