【发布时间】:2021-08-15 12:41:38
【问题描述】:
我目前正在尝试将 lighttpd 服务器与启用 fastcgi 并使用 python 语言一起设置。但是我遇到了这个错误,经过几个小时的谷歌搜索,我似乎无法找到解决方案,我不知道是什么导致了这个错误,因为我对此还很陌生。看看吧,我希望你能帮助我!非常感谢,祝您有美好的一天!
重要细节: 操作系统 --> Fedora Python 版本 --> 3.9.4
我遇到的错误:
Traceback (most recent call last):
File "/etc/lighttpd/conf.d/test.py", line 8, in <module>
WSGIServer(myapp).run()
File "/usr/local/lib/python3.9/site-packages/flup/server/fcgi.py", line 111, in run
sock = self._setupSocket()
File "/usr/local/lib/python3.9/site-packages/flup/server/fcgi_base.py", line 1025, in _setupSocket
sock = socket.fromfd(FCGI_LISTENSOCK_FILENO, socket.AF_INET,
File "/usr/lib64/python3.9/socket.py", line 545, in fromfd
return socket(family, type, proto, nfd)
File "/usr/lib64/python3.9/socket.py", line 232, in __init__
_socket.socket.__init__(self, family, type, proto, fileno)
OSError: [Errno 88] Socket operation on non-socket
我的python文件,目录:/etc/lighttpd/conf.d/test.py:
#!/usr/bin/python3.9
def myapp(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
return ['Hello World!\n']
if __name__ == '__main__':
from flup.server.fcgi import WSGIServer
WSGIServer(myapp).run()
我的 fastcgi 配置文件在目录:/etc/lighttpd/conf.d/fastcgi.conf
fastcgi.server = (
".py" =>
(
"python-fcgi" =>
(
"socket" => "/var/run/lighttpd/socketsfastcgi.python.socket",
"bin-path" => "test.py",
"check-local" => "disable",
"max-procs" => 1,
)
))
在我的 /var/run/lighttpd 中有一个文件 socketsfastcgi.python.socket-0
(我试图更改我的套接字路径以将 -0 合并为“/var/run/lighttpd/socketsfastcgi.python.socket-0”,它创建了一个文件 socketsfastcgi.python.socket-0-0)
【问题讨论】:
标签: python python-3.x web fastcgi lighttpd