liunx+apache+python+CGI+出现500错误解决办法

华为OD机考 新系统真题 【区分奇偶的数组排序】 华为OD机试 新系统真题【区分奇偶的数组排序】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【区分奇偶的数组排序】多语言题解。 阅读详情

Liunx centos做了个pythonCGI程序,访问出现了500错误,网上都找不到解决办法。以为是apache配置问题。
现在把解决方案写下来,供大家参考。

我的配置是liunx+apache2.x+python3.x+CGI

第一步建议先查看,error log文件(看能不能找到原因)
如果找不到原因:看一下下面的解决办法

经过测试每一个设置都比较关键。任何一步有问题都不能成功。
cgi出现500错误 ,主要是由于 HTTP表头不对
cgi的通信依靠stdout与浏览器通信。
所以简单地在py-cgi文件里面写:

#!/usr/bin/python 
print ('Content-Type: text/html')
print('')
print ('hello world' )

这样写貌似是没有问题
其实是错的

#!/usr/bin/env python2
print ''
print 'hello world'

改为py2依然不行!因为header与body之间必须有一个空行
另外:不写http header的情况下,apache会自动补上header。
代码简化一下,奇迹出现了:

#!/usr/bin/python 
print ('\nhello world')

okkk了!就是一个“\n”
后台代码2.py
改完直接OK了
其他排错过程如下:

apache在liunx下面默认开启了CGI,配置cgi只需更改三处
1、配置去掉以下代码中的前“#”号:

  ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

2、第二个是更改下面代码:

<Directory "/var/www/cgi-bin/">
   AllowOverride all
   Options +ExecCGI
   Order allow,deny
   Allow from all
</Directory>

3、更改下面代码加上 .py的后缀:

AddHandler cgi-script .cgi .py

使用xshell,执行CGI对应的py文件,可以正常输出,以为不是py文件的问题了。其实恰好错了。
python文件必须要有下面的标头:

#!/usr/bin/python

python文件必须要有标头下面的空行:

print("\n")

更改对应py脚本的权限:755

总结:基本就解决了,这个是细节问题。
①先确认配置大环境没问题,apache访问html正常

②确认配置py’环境没问题xshell下可以执行对应的py

③确认上面的py细节问题

出现 Tomcat:HTTP状态 404 - 未找到解决方法(图文分析) 出现如下问题 HTTP状态 404 - 未找到 类型 状态报告 消息 请求的资源[/ajax_war_exploded/]不可用 描述 源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。 Apache Tomcat/8.5.69 解决方法如下: 网上中的操作有步操作多数都误导 这个部署的环境目录上面是web.xml 下面的目录路径是web即可不用到webapp 保存重启服务器即可使用 其他配置中启动tomcat的操作具体 JRE 1.8 ... 阅读详情

相关推荐

ARTIX-7 GTP 3G-SDI 工程构建与调试实战

本文详细介绍了基于ARTIX-7 FPGA和GTP收发器的3G-SDI工程构建与调试实战。从基础概念解析到Vivado工程创建、GTP IP核配置、SDI IP核集成,再到系统集成与时钟域处理,提供了全面的技术指导。文章还分享了调试技巧、常见问题排查方法以及性能验证步骤,帮助开发者快速掌握3G-SDI视频传输技术的实现与优化。

weixin_30443813的博客 256

perl写CGI时出现500号错误(Internal Server Error)原因总结

根据经验,大致有以下几种原因:1.若在unix,linux机器上,则要看是否在程序头上写:#!/usr/bin/perl,若不写,则会错2.是否以unix文件格式上传?3.是否以asiic传输方式上传?4.程序本身是否有语法问题?可以用perl -wc name.pl检查5.程序所包含的模块是否在该站点上已安装,可以使用eval命令  把use ... 包含进去,然后看@$是否为undef6.使...

purpen 616

MTK metadata中AF模块的移除与配置调整

本文详细介绍了在MTK平台Camera开发中如何移除metadata中的AF(自动对焦)模块。通过系统清理MTK_CONTROL_AF_REGIONS、MTK_CONTROL_MAX_REGIONS等关键配置项,并调整对焦模式及硬件特性声明,确保定制化设备在禁用自动对焦功能后的稳定运行。

q1w3e5r7t9y的博客 570

Ajax请求 500 (Internal Server Error) 报错

再请求验证码的时候,出现这个错误,然后是因为我post接收数据格式设置为json,然鹅服务器返回的结果忘了json_encode();

fgdgdf的博客 4285

Cherry Studio 新手必看:5分钟搞定MCP服务器配置(附常见问题解决)

本文为Cherry Studio新手提供了详细的MCP服务器配置指南。文章从核心概念入手,解释了Cherry Studio作为MCP客户端如何通过MCP协议安全、标准化地扩展AI助手能力。重点讲解了uv和Bun环境的安装与常见网络问题的解决方案,并演示了如何添加首个MCP服务器(如mcp-server-fetch),助你快速构建可扩展的智能工作流。

corn8的博客 595

波分复用技术原理

波分复用原理 把不同波长的光信号复用到同一根光纤中进行传送,这种方式我们把它叫做波分复用( Wavelength Division Multiplexing ) 一根光纤被划分为多个波道,多个波长以一定的间隔隔开,在光纤中独立传输。 波分复用应用演示 如果将WDM系统看作交通系统,光纤可以看作是多个车道的公用道路。 各种类型的业务就像货物一样,被打包装载到车辆中。 车辆按照分配的车道行驶至目的地,完成货物的运输。 想要提高波分复用系统的传输容量,就要增加波道数量或是提升单波传...

m0_63251770的博客 9997

Python + win10 +Apache CGI 错误500的解决方法

初始报错:   解决方法: ①脚本运行 ,改变.py文件的权限     # 进入项目目录     # 引入os模块、 cd C:\xampp\cgi-bin\pythonEg         import os os.chmod("hello.py",755)     ②ScriptInterpreterSource Registry是对Windows注册表项HKE...

羽下佳人的博客 1667

基于Keil软件实现对射式红外传感器计次 (江协科技HAL库)

用HAL库复现江协科技,让嵌入式学习之路更顺畅。

2401_82728381的博客 798

记录windows平台下初次尝试python cgi代码的一次浏览器提示500错误的经历

这一次,尝试了windows平台下的cgi程序,很奇怪的是出现了下面的错误提示: Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administ...

学无止境 1101

LeRobot 入门教程(三)在仿真环境和自定义机器人上部署 LeRobot

本教程详细介绍了基于真实世界机器人和仿真环境的模仿学习实现方法,涵盖数据采集、训练策略和评估全流程。在真实机器人部分,重点讲解了远程操作设置、摄像头配置、数据集记录与管理技巧、策略训练(支持GPU/MPS设备)以及模型评估。仿真环境部分则演示了gym-hil的安装使用、模拟数据采集和策略训练。此外,教程还提供了自定义机器人集成指南,包括电机选择、接口继承、传感器/动作特征定义、连接管理和校准配置等核心步骤。所有方法均支持HuggingFace数据集中心和Weights & Biases工具链,为机器

2506_90492529的博客 2400

STM32电机PID速度控制

2.3 STM32电机PID速度控制 之前的文章,完成了直流减速电机的PWM控制、电机测速。本篇文章,将实现电机的速度闭环控制。 在公众号:小白学移动机器人,发送:速度PID,即可获得本篇文章的STM32工程文件以及相关资料。 2.3.1 解决的问题 解决带编码器直流电机的速度闭环问题。 2.3.2 PID理论 将偏差的比例、积分、微分,通过线性组合构成控制量,用控制量对被控对象进行控制,这样的控制器称为PID控制器。在连续空间中,我们通常探讨模拟PID的控制原理,如图所示: 我们这里用电机速度控制为例,

「小白学移动机器人」一个专注分享移动机器人相关知识的公众号! 6万+

2025年Linux杀毒软件横评:8款主流工具深度对比与选型指南

在信息安全领域,主机入侵检测与防御是保障系统安全的核心环节。其基本原理是通过监控文件、进程和网络行为,识别并阻断恶意活动。这项技术的核心价值在于,它能够构建主动的安全防线,而不仅仅是被动响应。随着Linux系统在服务器、云计算和物联网等关键基础设施中广泛应用,针对Linux平台的勒索软件、挖矿木马等威胁日益增多,使得主机安全防护成为运维和开发的必备实践。无论是保护Web服务器、开发环境还是个人桌面,选择合适的安全工具都至关重要。本文基于对ClamAV、Sophos、ESET等主流工具的深度评测,聚焦于**L

weixin_34176694的博客 786

YOLOv11损失函数原理与源码解读:从调参血泪史到源码级优化

本文深入解析YOLOv11目标检测模型的损失函数设计,揭示其相比前代的关键改进。重点剖析了回归损失中动态权重的小目标优化、分类损失的带温度系数softmax、以及目标损失的自适应阈值机制等创新点。作者通过源码分析指出常见实现陷阱,如梯度回传的正确处理方式、标签分配的匹配策略等。结合实战经验,给出针对小目标检测、类别误判等典型问题的调参建议,并分享实用的调试工具代码片段。最后强调损失函数调参需结合具体任务,指出后处理对实际部署效果的重要影响。全文以工程实践为导向,为开发者提供可直接落地的优化思路。

as1225120794的博客 440

CGI问题:500 Internal Server Error

错误提示: [error] (13)Permission denied: exec of /usr/local/apache2/cgi-bin/test-cgi failed [error] [client xxx.xxx.xxx.xxx] Premature end of script headers:  解决办法: (1)关闭SElinux以及防火墙         防火

u013531487的专栏 6547

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

linux运行内部错误代码,linux 500 错误排除

1、先查看CGI-BIN文件夹下面是否有文件存在,如果没有就上传一个上去。2、如上传完毕后无法访问执行如下命令进入HOST内查看。tail /etc/httpd/conf/httpd.conf 查找配置文件vim /etc/httpd/conf/bizcnnewvhost.conf 进入主机配置文件more报错 Option FollowSymLinks not allowe果错误日志中出现上...

weixin_39673972的博客 434

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

python CGI编程中上传文件报500的问题,及“\“与“ /“的区别。

以下为runoob.com中提供的程序: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> </head> <body> <form enctype="multipart/form-data" action="/cgi-bin/save_fil

u012582674的博客 1286

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

windows server2016 + apache2.4 + cgi + python3.8 出现500服务器错误

Linux下一般是权限问题,windows这我设置成everyone全开 问题依旧 查看Apache错误日志error.log [Tue Mar 03 10:06:33.115038 2020] [cgi:error] [pid 2484:tid 1048] (9)Bad file descriptor: [client ::1:55544] AH01222: don't know...

nailwl 8170

Apache Perl CGI 500

前言 服务器上有一个Perl的CGI脚本访问总是报错500 正文 对于一个CGI脚本,需要进行如下配置: 加载模块 LoadModule cgid_module modules/mod_cgid.so #当Apache使用共享模块支持构建的 LoadModule cgi_module modules/mod_cgi.so #当在Windows上,或者使用像prefork这样的非线程MPM ...

ALEX的博客 691

php cgi 500,系统IIS出现“HTTP 错误 500.0,C:phpphp-cgi.exe - FastCGI 进程意外退出”

1、引起这个问题的首要原因就是php的配置问题,所以要解决这个问题就要从测试php环境配置开始。比如我们的php路径为c:php,那么可以打开运行,通过php -v命令来检测php的配置问题:首先在命令提示符下进入php的目录 cd c:php然后输入php -v正常的情况下,执行该命令后就会出现如下图显示的内容:但是如果php环境配置有问题的话,就会出现这样的情况:出现这个问题的主要原因是放在c...

weixin_31320437的博客 411

CGI编程错误总结

前一段时间接触了CGI,虽然要实现的功能不是很复杂,但这个过程中遇到了一些问题,当时也头疼了一阵子,后来慢慢摸索最终还是解决了,现把个人遇到的几个CGI常见错误总结分享出来: 1、Internal Server Error ?错误代码500:        可能原因如下: (1)、缺少标准输出头信息: printf("%s%c%c ","Content-Type:text/html",10

zqj6893的专栏 6990

python CGI 文件读写注意 500

cgi出现500错误 ,是由于 HTTP表头不对gi的通信依靠stdout与浏览器通信。所以简单地在py-cgi-index.py里面写:#!/usr/bin/env pythonprint 'hello world'这样写是不对的。cgi接口规定,cgi脚本输出的开头应该是http header。而hello world这种字符无法被识别为任何有效的http h...

weixin_34146805的博客 499

CentOS Apache httpd cgi (CentOS上配置httpd服务运行cgi程序)

 首先确定已经安装了httpd这个软件,下面为安装后的结果:[root@localhost ~]# rpm -q httpdhttpd-2.2.3-43.el5.centos安装好服务后就可以配置了,配置信息在“/etc/httpd/conf/httpd.conf”文件里,下面是步骤: 一、打开“/etc/httpd/conf/httpd.conf”文件—vi   /etc

ldr_2011的专栏 5237
下一篇: 谷歌chrome浏览器打不开网页,但是其他浏览器可以打开怎么办?
hellojike
博客等级 码龄7年 23粉丝 16原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值