WIN, Apache2.2+Django1.6(Python2.7.5)+mod_wsgi 实现网站部署

用Django1.6 创建项目(django-admin.py startproject $projname) 后 会在$root_dir/$projname下有个wsgi.py,如果没有后续工作无法完成。 注:$projname 就是建立的项目名称,$root_dir就是根目录,比如E:\www\mysite是根目录,那么$projname应该也是mysite

首先去下载mod_wsgi.so,这是个apache模块,有了它apache就能识别python了。把它下载在$apache/modules里(里面应该有很多.so文件)。

——————以下是代码编辑阶段——————

首先要创建个wsgi文件,让apache识别,在$root_dir下创建index.wsgi

#index.wsgi
import sys, os
sys.path.insert(0,abspath(dirname(__file__)))
from epidd import wsgi
sys.stdout = sys.stderr
application = wsgi.application

按理下面那句话是不需要的,因为在调试的时候根目录应该早就添加到sys.path中的,不过如果这句话不写,apache竟然不知道这个目录,所以只能写了。

sys.path.insert(0,abspath(dirname(__file__)))

然后编辑apache的配置文件,在$apache/conf/hppd.conf,用记事本打开

添加如下代码(添加位置理论上无所谓,但是为了好看你可以分别在它希望你添加的地方添加,如果要偷懒 就在大量出现LoadModule xxx那段的后面)

LoadModule wsgi_module modules/mod_wsgi.so
WSGIScriptAlias / "$root_dir/index.wsgi"
WSGIPythonPath "$root_dir"

ServerName localhost
DocumentRoot "$root_dir"

<Directory "$root_dir/static">
 Order Deny,Allow
 Allow From all
</Directory>

Alias /static/admin/ C:/Python27/Lib/site-packages/django/contrib/admin/media
<Directory "C:/Python27/Lib/site-packages/django/contrib/admin/media"> 
Order Deny,Allow 
Allow from all 
</Directory> 


Alias /static/ "$root_dir/static/"
<Directory "/static/">
    Order allow,deny
    Options Indexes
    Allow from all
    IndexOptions FancyIndexing
</Directory>

如果ServerName 和DocumentRoot已经有了,那么可以直接更改后面的内容,注意不要重复出现这两个命令

注意将$root_dir改成实际项目的目录

笔者python目录是C:/python27,请根据自己的实际更改。

Alias /static/admin/命令和Alias /static/ 命令不能颠倒位置,否则前面那个命令会失效,导致进入django自带后台不能显示样式

static是笔者的静态目录($root_dir/static),可以根据实际情况(比如media)

————————以下是笔者碰到的问题————————

可能碰到问题:
没有template文件:
如果找不到模板文件,考虑是setting中Template_dir的设置问题
TEMPLATE_DIRS = (
**os.path.join(BASE_DIR,'template'),**
'template',
)
** **内表示增加的内容

笔者做了这些后 网站就能正常显示了,有问题可以继续讨论

(APACHE2.2是安装版,所以可能有些设置在装的时候就搞定了,如果不是安装版,可能还需要琢磨琢磨)

对了,如果apache看上去运行了,但没有具体的项目的话,是因为没有加添服务

管理员运行 $apache/httpd.exe -k install 就行了,或者如果急着想看效果,直接双击httpd就行


出现什么问题可以看$apache/logs/中的error.log文件查看错误具体内容


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值