mod_wsgi与apache安装配置

 

 

 

近日在看trac 0.12,现将配置mod_wsgi和apache过程,以及遇到的一些问题,记录下来,以便以后查看

1.首先安装apache2.2

2.下载mod_wsgi.so,我这里用的是python2.5,apache2.2。我从mod_wsgi官网没有找到相应的版本,官网上多是python2.6,2.7,3.1和apache2.2的版本。

从源码编译需要mod_wsgi 3.0以及以上的版本,就从网上搜索了一个,如果有谁知道官方网站上对应python2.5和apache2.2的mod_wsgi.so,请告诉我一声。这里先谢谢了。

3.将下载的mod_wsgi.so拷贝至apache的modules目录,修改配置文件httpd.conf,添加如下一行:

   LoadModule wsgi_module modules/mod_wsgi.so

4.测试是否配置成功,创建一个test.wsgi文件(wsgi文件就是一个python module,只不过扩展名是wsgi而已),文件内容如下:

 


def application(environ,start_response):
start_response(
"200 OK",[('content-type',"text/html")])
return ['<html><body>Hello world!</body></html>']

 

 5。修改httpd.conf配置文件,添加下面一行:

    WSGIScriptAlias /trac F:/share/trac/project/cgi-bin/test.wsgi 

6.重启apache服务器

7.在地址栏敲入http://127.0.0.1/trac,如果输出“hello world”说明配置成功

 

下面是在配置过程中遇到的一些问题:

1.在默认不修改DocuementRoot的情况下,在地址栏中敲入http://127.0.0.1/trac时,显示http404,查看apache的error.log,日志显示client denied by server configuration:

经过查询原来这是apache2.2的配置文件的问题,修改httpd.conf配置文件,修改如下:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all  #将deny修改为Allow
</Directory>

2.在我将DocumentRoot修改为DocumentRoot "F:/share/trac/project",还出现了http://127.0.0.1也无法访问的情况,现总结如下:

1>当为"deny from all"时,此时http://127.0.0.1,http://127.0.0.1/trac均无法访问,报错信息以及解决方法,可见上面的解决方法

2>当为"allow from all"时,此时http://127.0.0.1/trac可以访问,当时http://127.0.0.1无法访问,apache日志文件error.log报错信息如下:Directory index forbidden by Options directive: F:/share/trac/project/,看来是Options的问题,解决方法,将" Options FollowSymLinks"修改为“ Options All”。

 

目前对apache不太了解,待有时间详细查看了apache的文档后,在对各个选项进行详细解释。

 

 

  

posted @ 2010-09-01 17:07  john2000  阅读(2178)  评论(0编辑  收藏  举报