Linux python 服务器配置CGI 小问题,解决再加100分
我用的是Fedora Core7, 自带一个python2.5服务器
WWW/cgi-bin/下的文件有: echo.sh, EchoHello.class, mini-webserver.py
echo.sh的内容是:#!/bash/bin
java EchoHello
echo.sh我手动运行时没有问题, 可以调用EchoHello并且运行
mini-webserver.py是一个启动 服务器的脚本,内容如下:
#!/usr/bin/python
import sys
import CGIHTTPServer
import BaseHTTPServer
# Use supplied port
if sys.argv[1:] :
port = int(sys.argv[1])
else :
port = 8000
#
# set up and run the server
#
addr = ('',port)
handler = CGIHTTPServer.CGIHTTPRequestHandler
httpd = BaseHTTPServer.HTTPServer(addr, handler)
sa = httpd.socket.getsockname()
print "Serving HTTP on", sa[0], "port", sa[1], "..."
httpd.serve_forever()
在终端下运行mini-webserver.py, 启动服务器:
[root@localhost WWW]# python mini-webserver.py
Serving HTTP on 0.0.0.0 port 8000 ...
然后在FireFox浏览器下打: http://localhost:8000/cgi-bin/echo.sh
服务器端报错:
[root@localhost WWW]# python mini-webserver.py
Serving HTTP on 0.0.0.0 port 8000 ...
localhost.localdomain - - [08/Jun/2008 10:20:07] "GET /cgi-bin/echo.sh HTTP/1.1" 200 -
Traceback (most recent call last):
File "/usr/lib/python2.5/CGIHTTPServer.py", line 244, in run_cgi
os.execve(scriptfile, args, os.environ)
OSError: [Errno 13] Permission denied
localhost.localdomain - - [08/Jun/2008 10:20:07] CGI script exit status 0x7f00
我不知道是哪个文件需要权限的问题,我把涉及到的文件都改成777了,还是不行。不知哪位遇到过这个问题没有,感激不尽!