mac系统配置apache支持cgi运行python文件

简介

Mac上配置apache解析运行python还算方便,自己在网上看教程加上摸索,总算是配成功了,大概分成了几个步骤:
• 首先让apache能够识别.py文件类型
• 配置你程序工作的地址
• 给文件赋予权限

先找到httpd.conf文件

进入finder,同时按住Command+shift(向上箭头)+G这三个按键,会弹出一个前往文件夹的弹框,输入/etc/apache2/,之后你会跳转到apache2的文件夹,下面有一个httpd.conf文件,没错,我们就是要修改这个文件,在修改之前最好备份一下,然后可以复制一份到桌面修改完再替换回来;
当然还可以直接用vim打开,打开终端输入vim /etc/apache2/httpd.conf进入。

apache默认的查找文件地址

搜索查找DocumentRoot,会查找到一条DocumentRoot "/Library/WebServer/Documents"这里的记录,后面双引号里面的就是apache默认的查找文件地址,你写一个test.html文件放在/Library/WebServer/Documents这个文件夹下面可以在浏览器输入localhost/test.html打开该文件,但是此时你编写一个test.py文件放在该目录,同样的打开方式结果可能会令你失望,你可能得到的是代码原样输出。因此我们得让apache识别.py文件类型

添加.py文件类型

搜索AddHandler,你可能搜索到的是#AddHandler cgi-script .cgi这个结果,那么请把前面的#号去掉,在后面添加.py 也就是变成AddHandler cgi-script .cgi .py 这样
再搜索mod_cgi.so 搜到一条记录应该是被注释的 将前面的#号去掉即可

设置你程序工作的地址

搜索Directory,如无例外,你会搜到这样的一条记录
这里我设置的地址设置为"/Library/WebServer/Documents",即为


    AllowOverride None
    Options +ExecCGI
    Order allow,deny
    Allow from all

搜索ScriptAlias,设置成你自己想要的地址,我都保持一致性:ScriptAlias /Documents/ /Library/WebServer/Documents/

给文件赋予权限

虽然上面的配置完成了,但是还是不能愉快的玩耍,首先你得重启apache 可通过命令 sudo apachectl restart重启,然后给test.py赋予权限,终端输入 sudo chmod 755 /Library/WebServer/Documents/test.py 回车,这时候你就可以愉快地到浏览器输入localhost/test.py来访问你的文件了

备注

1、假如你没有修改权限或者代码有有误(例如没有加上指定用什么解释器运行脚本以及解释器所在的位置),你可能会得到这样的报错信息

在这里插入图片描述
2、如果遇到什么报错信息,可以查看apache的错误日志,终端输入sudo cat /private/var/log/apache2/error_log即可

3、可用于测试的代码,第一行的解释器根据你的自己的路径,如果没改过路径,默认是这个#!/usr/bin/python

#!/usr/bin/python
# -*- coding: UTF-8 -*-

print("Content-type:text/html")
print('')                      
print('')
print('')
print ("")
print('Hello')
print('')
print('')
print('

hello World

') print('') print('')

你可能感兴趣的:(环境配置)