Lighttpd, Python, MySQLdb Módulo Python e Permissões

4

Depois de reiniciar um servidor lighttpd recentemente, não consegui colocá-lo em funcionamento novamente. Estou executando um serviço de API construído em python e estou contando com o módulo web.py para executar o aplicativo.

Estou com dificuldades para importar o módulo MySQLdb Python para importação. Essa importação específica faz com que tudo corra um erro e produza 500 error quando tento e clico na API.

Inicialmente, achei que era apenas uma questão de permissões, já que consegui importar o módulo ao executar o python a partir da linha de comando. Quando vi que a execução de MySQLdb da linha de comando funcionava, continuei e alterei as permissões do código Python e do ovo Python para o módulo para 755. Isso não resolveu o problema, no entanto. Não sei exatamente o que será mais útil postar aqui, então incluirei algumas configurações e outros fatos gerais sobre o servidor.

Para esclarecer, posso obter uma mensagem Hello, World! para imprimir com minha lighttpd setup e também confirmei que o servidor lighttpd está usando a versão correta do Python (ou seja, 1.7.3) .

Localização do código do MySQLDb Python Module:

/home/pythoninstall/MySQL-python-1.2.3c1

Localização dos módulos / ovos de terceiros do Python:

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

Configuração do Lighttpd FastCGI para 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
    ))
)

Qualquer ideia seria ótima. Eu passei muito tempo perdendo a cabeça com isso. Obrigado!

    
por breezy 17.08.2012 / 00:06

1 resposta

0

FCGI está mudando o nome do seu socket, de alguma forma. Você declara isso como:

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

Mas está cometendo um erro:

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

Bashing google um pouco sugere que as pessoas php têm muitos problemas com isso. Se o FCGI continuar anexando um -0 ao seu nome de soquete e, em seguida, barfing, talvez seja hora de entrar em wsgi .

EDIT: adicionando uma configuração de alguém que parece ter resolvido o problema. Use isto para sua definição de soquete:

"socket" => "/tmp/php.socket" + var.PID,
    
por 17.08.2012 / 00:40