После перезапуска lighttpd
сервер в последнее время я не мог снова запустить его. Я запускаю на нем службу API, созданную на Python, и полагаюсь на web.py
модуль для запуска приложения.
Мне трудно получить MySQLdb
Модуль Python для импорта. Этот конкретный импорт приводит к тому, что все выдает ошибку и создает 500 error
когда я пытаюсь попасть в API.
Первоначально я думал, что это всего лишь вопрос разрешений, поскольку я мог импортировать модуль при запуске python из командной строки. Когда я увидел это бегство MySQLdb
из командной строки, я продолжил и изменил разрешения кода Python и яйца Python для модуля на 755. Однако это не устранило проблему. Я не совсем уверен, что опубликовать здесь будет наиболее полезно, поэтому я включу некоторые параметры конфигурации и другие общие факты о сервере.
Чтобы уточнить, я могу получить Hello, World!
сообщение для печати с моим lighttpd
настройки, а также подтвердили, что lighttpd
сервер использует правильную версию Python (например, 1.7.3).
Расположение кода модуля Python MySQLDb:
/home/pythoninstall/MySQL-python-1.2.3c1
Расположение сторонних модулей / яиц Python:
/opt/python2.7/lib/python2.7/site-packages
Настройка Lighttpd FastCGI для Python:
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
Немного критикуя Google, можно предположить, что у разработчиков php с этим много проблем. Если FCGI продолжает добавлять -0
к имени вашего сокета, а затем barfing, возможно, пришло время покопаться в wsgi
.
РЕДАКТИРОВАТЬ: добавление конфиг от кого-то кто вроде решил проблему. Используйте это для определения вашего сокета:
"socket" => "/tmp/php.socket" + var.PID,