Configurando o mod_wsgi para usar o Python 2.7 [duplicado]

2

Estou tentando configurar o mod_wsgi para usar o Python 2.7.

Eu baixei e descompactei a fonte e executei

./configure --with-python=/usr/local/bin/python2.7

Depois disso mod_wsgi.so-2.4 e mod_wsgi.so-2.5 apareceram em / usr / lib / apache2 / modules.

Eu reiniciei o servidor, mas isso informa "erro interno do servidor". Os registros de erros mostram que, na inicialização, o servidor está relatando o uso do Python 2.5.2 - a mesma versão anterior.

Como obtenho o Apache para executar o Python 2.7? Como faço para que o mod_wsgi seja configurado corretamente para ser executado com o Python 2.7?

    
por chernevik 30.11.2012 / 19:33

2 respostas

2

Você tem um pacote de sistema para mod_wsgi instalado que está em conflito. Se você não precisar deles, desinstale o pacote do sistema para mod_wsgi.

Certifique-se também de ler:

como você pode precisar definir LD_RUN_PATH para / usr / local / lib ao construir mod_wsgi para que ele saiba onde encontrar a biblioteca Python em tempo de execução, se / usr / local / lib não estiver listado no sistema ld.cache. / p>

Você também pode precisar definir:

WSGIPythonHome /usr/local

na configuração do Apache, então mod_wsgi sabe onde o Python 2.7 está, desde que não esteja na localização do sistema.

Verifique também se o Python 2.7 foi instalado com uma biblioteca compartilhada.

    
por 01.12.2012 / 05:40
1

É assim que você pode configurar o mod_wsgi para usar o Python2.7

Por acaso, enfrentei esse mesmo problema. E eu estava olhando para a opção de desinstalar o mod_wsgi e reinstalá-lo com configurações apropriadas.

Lendo um dos artigos eu percebi que não havia necessidade de desinstalar meu mod_wsgi atual e eu poderia simplesmente ir em frente e reinstalar o mod_wsgi3.4 (antes eu tinha v3.2) com as configurações para usar o Python2.7 (parece que o processo de instalação reescreve tudo sem erros / conflitos).

Desde que eu já tinha o Python2.7 instalado.

Eu reinstalei o mod_wsgi-3.4 (sem executar nenhuma desinstalação)

[root @ server ~] # cd ~

[root @ server ~] # wget link

[root @ servidor ~] # tar xvf mod_wsgi-3.4.tar.gz

[root @ server ~] # cd mod_wsgi-3.4

Mod_wsgi configurado com o python2.7 instalado

[root @ server ~] #. / configure --with-python = / usr / local / bin / python2.7

[root @ server ~] # make

[root @ server ~] # make install

Os dois comandos abaixo são muito importantes. Substitua / usr / local / lib pela pasta onde você instalou o libpython2.7.so.1.0, se ele não estiver em /usr/local/lib.

[root @ server ~] # LD_LIBRARY_PATH = / usr / local / lib / usr / local / bin / python

[root @ server ~] # ldconfig

Reinicie o servidor Apache

[root @ server ~] # serviço httpd restart

[root @ server ~] # ldd /etc/httpd/modules/mod_wsgi.so

Saída do comando acima: Line2 indica que seu mod_wsgi está usando agora as bibliotecas Python2.7. YAY!

    linux-vdso.so.1 =>  (0x00007fffc0aa9000)
    libpython2.7.so.1.0 => /usr/lib/libpython2.7.so.1.0 (0x00007f03a5b20000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f03a5903000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f03a56fe000)
    libutil.so.1 => /lib64/libutil.so.1 (0x00007f03a54fb000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f03a5277000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f03a4ee2000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f03a6133000)
    
por 26.05.2015 / 02:33