将django部署到Apache服务器

1、下载mod_wsgi.so :

下载地址:http://download.csdn.net/detail/xyw_eliot/5613957

将下载到的mod_wsgi.so 拷贝至apache安装目录下的modules目录下。

2、打开django工程所在的目录,新建wsgi文件:

在工程下新建文件:django.wsgi,记事本打开输入以下内容:

import os
import sys
import django.core.handlers.wsgi
sys.path.append(r'E:/Project/wotserver')
#sys.path.append(r'E:/Project')
os.environ['DJANGO_SETTINGS_MODULE'] = 'wotserver.settings'
application = django.core.handlers.wsgi.WSGIHandler()

其中,E:/Project/wotserver为我的django工程。下一行的wotserver.setting为我的工程下的setting文件,使用时根据实际情况换成自己的目录以及工程名。

3、修改django工程的setting.py配置文件:

MEDIA_ROOT = 'E:/Project/wotserver'
STATIC_ROOT = 'E:/Project/wotserver'
TEMPLATE_DIRS = (
    "E:/Project/wotserver/templates",
)

E:/Project/wotserver改成自己的目录。至此,django工程配置完成,下面需要配置apache。

4、配置apache

打开apache安装目录下conf,找到httpd.conf文件。

(1)找到LoadModule那一段,添加:

LoadModule wsgi_module modules/mod_wsgi.so
WSGIScriptAlias / "E:/Project/wotserver/django.wsgi"
其中E:/Project/wotserver/django.wsgi,是在在配置项目时建立的django.wsgi文件所在的目录。WSGIScriptAlias 有两个参数:(1)斜杠 / 表示访问路径为 “ / ” ,如:http://127.0.0.1:8080/,即根路径。(2)django.wsgi所在的目录

(2)找到Directory的配置区域,添加如下的一段配置:

<Directory "E:/Project/wotserver">
		Order deny,allow
		allow from all
</Directory>
其中,E:/Project/wotserver是Django工程所在目录。

全部配置完成,此时启动apache就可以访问django工程了,注意此时访问的网址不再是默认的8000 端口,而是apache的服务端口,如80端口。

今天在换一台电脑(64位)重新部署的时候,遇到了问题:部署完成后无法启动Apache服务器,使用命令运行,报出错误:

Cannot load G:/Program Files/Program/Apache/modules/mod_wsgi.so into server:\xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3

最后发现以上提到的mod_wsgi.so 是32位的,而我的这台电脑安装的python是64位的,所以我尝试将python换成32位的,重新部署成功。

本文为Eliot原创,转载请注明出处:http://blog.csdn.net/xyw_eliot/article/details/9132335

你可能感兴趣的:(apache,django,部署,服务器)