mod_wsgi não funciona no Apache 2.4.12 de 64 bits no Windows 7

mod_wsgi não funciona no Apache 2.4.12 de 64 bits no Windows 7

Estou correndoApache (Haus) 2.4.12 64 bitsno Windows 7 de 64 bits.Python 2.7.9 64 bitsestá instalado. O Apache está funcionando perfeitamente se eu não tentar carregarmod_wsgi. Eu baixei mod_wsgi.so deesse site. Eu extraí esse arquivo, copieimod_wsgi.soparaC:\Apache24\módulose adicionei esta linha ahttpd.conf:

LoadModule wsgi_module modules/mod_wsgi.so

Depois disso, o Apache não funciona mais:

C:\Apache24\bin>httpd.exe -k start
httpd.exe: Syntax error on line 76 of C:/Apache24/conf/httpd.conf: Cannot load 
modules/mod_wsgi.so into server: The specified module could not be found.

Diz que não conseguiu encontrarmod_wsgi.so, mas verifiquei várias vezes, está aí! Tentei o mesmo procedimento com cada quatro versões de 64 bits disponíveis no site, mas todas apresentam o mesmo erro. Eu não sei o que está acontecendo. Já experimentei o Apache Haus 2.4.12 compilado com VC9, VC11 e o Apache Lounge 2.4.12 compilado com VC10 também. Alguém poderia me ajudar, por favor?


PS:essa questãoeessa questãonão resolveu meu problema. Já está tudo em 64 bits, estou carregando o módulo corretamente e o Python está instalado para todos os usuários.

Responder1

Acho que encontrei a solução. Fiquei confuso sobre qual arquivo baixaro site que possui binários do Windows para mod_wsgi.so. É assim que o nome do arquivo está estruturado (isso é o que eu não estava entendendo):

mod_wsgi[versão WSGI]+ap[versão do Apache]vc[versão redistribuível do Visual C++ que foi usada para compilar o Apache]‑cp[versão do Python]‑none‑win[versão de 32/64 bits].whl

Algumas pessoas estão tendo problemas de compatibilidade porque é necessário corresponder à versão exata do Apache, compilada com a versão exata do Visual C++ Redistributable, tendo instalada a versão exata do Python especificada, tudo isso na versão de 32 ou 64 bits de acordo com o arquivo que você baixou. Se algumas dessas coisas não corresponderem, você enfrentará o erro que estava ocorrendo. A solução é baixar o arquivo apropriado, dependendo do que você instalou, ou instalar o que está disponível para trabalhar com esses binários do Windows. No meu caso, eu estava tentando trabalhar com Python 2.7 64 bits, infelizmente não existe um binário mod_wsgi para esta versão. Então aqui está o que eu instalei:

  • Python 2.7.9 32 bits
  • Apache Haus 2.4.12 VC9 de 32 bits
  • mod_wsgi‑4.4.11+ap24vc9‑cp27‑none‑win32.whl

Então descompactei o arquivo .whl, coloquei-o na pasta de módulos e adicionei uma diretiva LoadModule para ele em httpd.conf. É uma pena ter que trabalhar com arquitetura de 32 bits, mas pelo menos agora tudo parece estar funcionando bem e wsgi_module aparece na httpd -Mlista de módulos carregados. Espero que esta resposta ajude alguém necessitado!

Responder2

Este tópico também é útil para Windows 10 e servidor web xampp. Eu estava lutando para encontrar mod_wsgi.so pré-compilado para Apache/2.4.27 (Win32) Python/2.7.13 Estelinké útil para encontrar a versão apropriada do mod_wsgi. e você pode baixar o arquivo .whl conforme sugerido por renatov

informação relacionada