mod_wsgi的安装之路

来源:互联网 发布:mac os最新版本号 编辑:程序博客网 时间:2024/05/08 05:50



1、网上有一篇用visual studio编译安装的,我服务器没有visual studio,因此放弃;另有直接下载mod_wsgi.so文件的办法,我选择这条路;

2、登录python三方库,http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi

看页面相关文字:

Mod_wsgi, a WSGI adapter module for the Apache HTTP Server 2.x.
The Apache module is installed at sys.prefix\mod_wsgi.so.
Linked against the VC10, and VC14 binaries from Apache Lounge and VC9 binaries from Apache House.
See Running mod_wsgi on Windows for version (in)compatibilities.

  • mod_wsgi‑4.4.23+ap24vc10‑cp34‑cp34m‑win32.whl
  • mod_wsgi‑4.4.23+ap24vc10‑cp34‑cp34m‑win_amd64.whl
  • mod_wsgi‑4.4.23+ap24vc14‑cp35‑cp35m‑win32.whl
  • mod_wsgi‑4.4.23+ap24vc14‑cp35‑cp35m‑win_amd64.whl
  • mod_wsgi‑4.4.23+ap24vc14‑cp36‑cp36m‑win32.whl
  • mod_wsgi‑4.4.23+ap24vc14‑cp36‑cp36m‑win_amd64.whl
  • mod_wsgi‑4.4.23+ap24vc9‑cp27‑cp27m‑win32.whl

3、按照提示去下载对应apache24vc14。在此之前我走过的弯路有,删除apache22,安装apache24vc10(下载msvcr100.dll)。最终我又删除了apache24vc10,安装了apache24vc14,我的python3.5和64位window系统,最好对应这个版本。

4、配置httpd.conf文件:

添加命令

ServerName 你的服务器ip

NameVirtualHost *:80

LoadModule wsgi_module modules/mod_wsgi.so


WSGIScriptAlias / C:/你的wsgi.py所在地址/wsgi.py
<Directory /你的wsgi.py所在地址/>
    <Files wsgi.py>
        Require all granted #这是apache2.4的写法,apache2.2是allow... deny...具体命令网上查
    </Files>
</Directory>

5、理解文件传导关系

httpd.conf --> wsgi.py --> settings.py --> urls.py --> views.py

去修改wsgi.py:

import os
import sys # 4

from django.core.wsgi import get_wsgi_application
from os.path import join,dirname,abspath

PROJECT_DIR = dirname(dirname(abspath(__file__)))#3

sys.path.insert(0,PROJECT_DIR) # 5

os.environ["DJANGO_SETTINGS_MODULE"] = "你的网站文件夹名.settings" # 7
application = get_wsgi_application()


6、修改python安装地址下\Lib\site-packages\django\http\request.py文件102行中的allow_host

添加你的服务器域名和ip


7、理解apache和django manage.py runserver的关系

后者用来在本地测试,前者用来正式发布。如果一切就绪,运行apache,外网即可登录网站。


2 1