我今晚开始学习 Python...当我将 python cgi 脚本文件放在 ~/Sites/ 下时,它们可以通过 localhost/~USER_NAME/SCRIPT_FILE_NAME.py 执行!但我的项目根目录不在 Sites/ 下,所以每次我都需要将脚本文件复制到 Sites 进行测试。问题是 - 我可以更新 Apache conf,以便 Web 服务器可以直接从我的项目 src 文件夹加载脚本吗?
我尝试编辑 /etc/apache2/users/USER_NAME.conf,并将 /Users/USER_NAME/Sites/ 替换为 /Users/USER_NAME/PATH_TO_PROJECT_SRC/。但我总是遇到“权限被拒绝”错误。
有人能告诉我哪里出了问题以及如何修复它吗?顺便问一下,python cgi 脚本开发的最佳实践是什么?
多谢!
答案1
首先,确保 Apache 正在运行。URLhttp://localhost
应该返回“It works!”。如果没有,则启用 Apache:
sudo apachectl start
/etc/apache2/users/$USER.conf
现在启用站点:创建包含以下内容的文件:
<Directory "/Users/$USER/Sites/">
Options Indexes MultiViews FollowSymLinks ExecCGI
AddHandler cgi-script .cgi
AllowOverride All
Order allow,deny
Allow from all
</Directory>
(其中$USER
是您的短用户名)。然后执行sudo apachectl restart
。URLhttp://localhost/~$USER
现在应该会返回一个漂亮的网页。
上述配置文件指示 Apache 遵循符号链接。只需在开发目录中创建指向 Python 脚本的符号链接即可。无需复制任何东西。