在Apache Webserver

时间:2017-05-30 18:45:24

标签: python apache amazon-ec2 webserver

我正在尝试在EC2实例上运行的Apache httpd网络服务器上运行python脚本(adsb-exchange.py)。该脚本从AWS CLI运行完美,但当我尝试从服务器上的简单html页面运行时,我得到:

内部服务器错误500 - 服务器遇到内部错误或配置错误,无法完成您的请求。

注意,从html页面运行一个简单的'hello.py'脚本可以正常工作。

将所有内容添加到/ var / www / html目录下,并更新httpd.conf文件以反映DocumentRoot路径。

Index.html文件:

<h1>Welcome!</h1>
<p>Click the button below to start running the scipt...</p>
<form action="/adsb-exchange.py" method="post"> 
  <button>Start</button>
</form>

adsb-exchange.py文件:

#!/usr/bin/python
#!/usr/bin/env python

#import Python modules
import cgi
import sys

cgi.enable()

print "Content-type: text/html\n\n"
print

#application imports
import modules.get_config_vals as cfgvals
import modules.adsb_pull as ap
import modules.json2csv as j2c

#get payload params from adsb_config file
payload = cfgvals.get_payload()

#get the JSON pull frequency and runtime from config file
adsb_freq = cfgvals.get_pullfreq()

#send to adsb_pull module, create a JSON object file, and get the filename returned
f = ap.pull_data(payload, adsb_freq)

#convert JSON object file to CSV, output CSV file to directory
j2c.j2csv(f)

raw_input("Press Enter to exit")

adsb-exchange.py文件通过/ var / www / html / modules路径调用'modules'文件夹下的各个模块,每个模块包含以下行:     print“Content-type:text / html \ n \ n”     打印

GET和POST方法似乎不会影响结果。目前,输出文件被转储到adsb-exchange.py所在的目录中。

同样,脚本在直接从ACL执行时运行,但在从index.html页面调用时则不运行。

谢谢!

0 个答案:

没有答案