Lighttpd,Python,MySQLdb Python模块和权限

最近重新启动lighttpd服务器后,我一直无法启动并重新运行。 我正在运行一个python构build的API服务,并依靠web.py模块来运行应用程序。

我很难获取MySQLdb Python模块导入。 这个特定的导入导致所有的东西都出错了,当我尝试点击API的时候会产生一个500 error

起初,我认为这只是一个权限问题,因为我可以从命令行运行python时导入模块。 当我看到从命令行运行MySQLdb ,我继续将模块的Python代码和Python的权限更改为755.但是,这并没有解决问题。 我不完全确定什么是最有用的发布在这里,所以我会包括一些configuration设置和有关服务器的其他一般事实。

为了澄清,我可以得到一个Hello, World! 消息用我的lighttpd设置打印,并且还确认lighttpd服务器正在使用正确的Python版本(即1.7.3)

MySQLDb Python模块代码的位置:

/home/pythoninstall/MySQL-python-1.2.3c1

Python第三方模块/蛋的位置:

/opt/python2.7/lib/python2.7/site-packages

Python的Lighttpd FastCGI设置:

 server.modules = ("mod_fastcgi","mod_accesslog","mod_rewrite", "mod_access", "mod_redirect", "mod_proxy") server.document-root = "/home/OverLord/" fastcgi.server = ( "/code.py" => (( "bin-environment" => ( "REAL_SCRIPT_NAME" => "" ), "socket" => "/tmp/fastcgi.socket", "bin-path" => "/opt/python2.7/bin/python /home/OverLord/code.py", "check-local" => "disable", "max-procs" => 1 )) ) 

任何想法都会很棒。 我花了太多的时间在这方面失去了主意。 谢谢!

FCGI以某种方式改变你的套接字的名字。 你声明为:

 "socket" => "/tmp/fastcgi.socket" 

但它是错误的:

 request sent: 1154 on socket: unix:/tmp/fastcgi.socket-0 

抨击谷歌有点build议PHP人有这个很多麻烦。 如果FCGI不断追加-0到你的套接字名称,然后barfing,可能是时候挖掘到wsgi

编辑: 从似乎已经解决了问题的人添加configuration 。 使用这个你的套接字定义:

 "socket" => "/tmp/php.socket" + var.PID,