在Windows 7上运行的WAMP服务器上安装mod_wsgi

de1*_*7ed 13 python apache mod-wsgi wamp windows-7

我从apache 2.2和python 2.7(64bit)的以下位置下载了mod_wsgi .(我想让django在我的电脑上运行).

每当我添加以下行:

LoadModule wsgi_module modules/mod_wsgi.so
Run Code Online (Sandbox Code Playgroud)

Apache无法启动.谁能告诉我这个问题可能是什么?

Sur*_*rya 26

以下是为Django设置Apache所需要做的事情.我假设您在Windows(32 )上使用Python 2.7(32位)并安装了WAMP服务器(32位).

  1. 下载 mod_wsgi-win32-ap22py27-3.3.so.或者下载各自的.so兼容文件

  2. 将其名称更改为mod_wsgi.so并将其复制到/Program Files/Apache Software Foundation/Apache22/modulesWindows上.

  3. httpd.conf使用管理员权限打开.现在,您将找到一个行列表LoadModule ....只需添加LoadModule wsgi_module modules/mod_wsgi.so到该列表即可.

    你的部分完成..你可以重启apache,不应该发现任何错误.

  4. 现在您需要将它链接到您的Django项目.

  5. 在您的Django项目根文件夹中,添加apache文件夹并创建django.wsgi(不要更改此名称)和apache_mydjango.conf.

  6. httpd.conf页面底部添加以下行.

    Include "d:/projects/mysite/apache_django_wsgi.conf"

打开django.wsgi并添加以下行:

import os, sys

sys.path.append('d:/projects/mysite')
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Run Code Online (Sandbox Code Playgroud)

打开apache_djang_wsgi.conf并添加:

Alias /images/ "d:/projects/mysite/templates/images/"
<Directory "d:/projects/mysite/images>
Order allow,deny
Allow from all
</Directory>

WSGIScriptAlias / "d:/projects/mysite/apache/django.wsgi"

<Directory "d:/projects/mysite/apache">
Allow from all
</Directory>

<VirtualHost *:80>
    DocumentRoot d:/projects/mysite
    ServerName 127.0.0.1

</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

注意:

我假设您的Django项目层次结构是这样的:

mysite/
        mysite/
                 settings.py
                 urls.py, wsgi.py.
        manage.py
        <apache> / apache_django_wsgi.conf, django.wsgi
Run Code Online (Sandbox Code Playgroud)

最佳教程链接:

  1. port25.technet.com | 发布我的微软.
  2. mod_wsgi快速安装指南
  3. Django网站
  4. Django网站

其实我不明白为什么人们无法修复它.我在这里看到了很多问题,我甚至发布了一些......所以,我想直接写一个初始设置版本作为答案

  • 让我们先澄清一件事.你抓住的mod_wsgi.so需要64位Apache和64位Python.这个答案提到的那个需要32位Apache和32位Python.您安装了哪些版本的Apache和Python?它们是32位还是64位?您必须对所有三个组件使用相同的内容,Apache,Python和mod_wsgi.so,您不能混合使用32位和64位版本.另一方面,你必须做的就是这个答案没有涵盖,你必须为所有用户安装Python,而不仅仅是你安装它的用户. (3认同)
  • 我已经做了很多这样的事情.我基本上无法通过第3步.我的apache没有成功重启...想法? (2认同)