mac下 配置 CGI python

python CGI MAC下的環(huán)境配置 ?之前查的資料都太老 ? ?Unix系統(tǒng)自帶apache 配置CGI很好配 ?但是網(wǎng)上資料基本不符合要求坑了比較久,很坑

最后自己 仔細(xì)看了看 apache下 httpconf文件的內(nèi)容來(lái)解決 ? ?

一.環(huán)境 ?Unix系統(tǒng)自帶apache2.4

版本

二.去目錄 /etc/apachectl2/?? 找到?httpd.conf 配置服務(wù)器支持

打開(kāi)?httpd.conf?

?????1、找到 LoadModule cgi_module libexec/apache2/mod_cgi.so 去掉之前# 開(kāi)放這個(gè)模塊

? ? ?2、 ?? AddHandler cgi-script .cgi ?.py ? 加上.py ?

? ? ?3、找到 ?<Directory "/Library/WebServer/CGI-Executables"> 修改如下

? ? <Directory "/Library/WebServer/CGI-Executables">

? ? ? ? ? ? AllowOverride None

? ? ? ? ? ? Options ExecCGI ? ?

? ? ????????Order allow,deny

? ? ????????Allow from all

? ? ?</Directory>

????????????這個(gè)主要是 規(guī)定這個(gè)文件里面在服務(wù)器里 是否允許 訪問(wèn) 執(zhí)行 修改等等 ? ??

三、上面的配置就基本完成

? ? ?接下來(lái) 只需要保存 并重啟 apache ? ? ?sudo ?apachectl restart?

? ? 將你自己的可執(zhí)行 py文件 ?如 test.py ?放到 ?/Library/WebServer/CGI-Executables 目錄下 ?你就可以在瀏覽器 ?通過(guò) ? localhost/cgi-bin/test.py 來(lái)訪問(wèn)了

test.py 示例



Why?

1.為什么 test.py 要放到Library/WebServer/CGI-Executables 目錄下


因?yàn)樯厦媾渲玫?CGI生效文件夾的相關(guān)配置 是這個(gè)目錄 與上面的< Directiory "/Library/WebServer/CGI-Executables">保持一致

當(dāng)然可以放到其它目錄 不過(guò) 文件夾配置要修改 ?下面的別名 ?以及 ?瀏覽器 訪問(wèn)的地址也要相應(yīng)的修改

2.為什么是訪問(wèn)?localhost/cgi-bin/test.py ?而不是訪問(wèn) ?localhost/CGI-Executables/test.py?


因?yàn)?httpconf 中給/Library/WebServer/CGI-Executables 取了個(gè)別名

默認(rèn)配置 ScriptAliasMatch ? ^/cgi-bin/((?!(?i:webobjects)).*$) " ? ?/Library/WebServer/CGI-Executables/$1"

3.還有一些其它坑 ?


比如文件訪問(wèn)權(quán)限 可以 通過(guò)修改 ?chmod 755 test.py?

其它的訪問(wèn)localhost/cgi-bin/test.py 錯(cuò)誤 ?可以在錯(cuò)誤日志里面找?

ErrorLog 文件位置 ?在 ?httpd.conf 文件中搜 ErrorLog ?就能找到對(duì)應(yīng)目錄 一般是?/private/var/log/apache2/error_log,然后去對(duì)應(yīng)目錄下

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容