Python脚本终端可运行但Web浏览器无法正常执行的问题排查
Python脚本在Web浏览器显示源码的解决方法
确认脚本Shebang行正确
脚本第一行必须指定系统中正确的Python解释器路径,用whereis python3拿到3.9的路径后,写在第一行:#!/usr/bin/python3或者用更通用的写法(优先推荐):
#!/usr/bin/env python3确保这一行是脚本的第一行,前面不能有空白或注释。
配置Web服务器的CGI执行权限
- 若使用Apache:
- 启用CGI模块:
sudo a2enmod cgi - 编辑网站配置文件(如
/etc/apache2/sites-available/000-default.conf),在对应目录添加CGI规则:<Directory /var/www/cgi-bin/> Options +ExecCGI AddHandler cgi-script .py </Directory> - 将脚本放到
/var/www/cgi-bin/目录,或在配置中指定你的脚本目录
- 启用CGI模块:
- 若使用Nginx:
Nginx不直接支持CGI,需要配合fcgiwrap或uWSGI。比如安装fcgiwrap后,在Nginx配置中添加:location /cgi-bin/ { root /var/www; fastcgi_pass unix:/run/fcgiwrap.socket; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
- 若使用Apache:
修正文件权限与归属
除了chmod a+x,还要确保Web服务器用户能访问脚本:sudo chown www-data:www-data your_script.py重启Web服务器生效配置
Apache:sudo systemctl restart apache2
Nginx:sudo systemctl restart nginx
内容的提问来源于stack exchange,提问作者Haris P
相关产品推荐
相关产品推荐

