django在apache下的部署包括静态文件解析(笔记)

来源:互联网 发布:刷微信红包软件 编辑:程序博客网 时间:2024/05/21 14:01

linux下apache2,mod_wsgi的安装这里不讲述,只记下apache,mod_wsgi方式部署django项目以及web中静态文件直接通过apache解析(django也是这么推荐的)


Django应用程序相关配置


1.我的django程序部署在 /opt/www/html/djangocms/crm 这里




apache 配置文件 /usr/local/apache2/conf/httpd.conf 中加入:


Include conf/extra/httpd-vhosts.conf (一般这句默认存在的,只是以#注释了,你只要去掉注释就行)


在apache的配置配件 /usr/local/apache2/conf/extra/httpd-vhosts.conf的设置如下


程序代码 程序代码

<VirtualHost *:80>
    ServerName 192.168.1.111
    ServerAlias 192.168.1.111
    DocumentRoot /opt/www/html/djangocms/crm
    WSGIScriptAlias / /opt/www/html/djangocms/crm/conf/django.wsgi
  
   <Directory "/opt/www/html/djangocms/crm">
      order allow,deny
      Allow from all
   </Directory>
    
    Alias /static /opt/www/html/djangocms/crm/static                               #注意这个地方/static后面不要/结尾,如果加了的话,那么后面的路径也要/结尾
    <Location "/static">                     
            SetHandler None
    </Location>
    <Directory "/opt/www/html/djangocms/crm/static">
       order Deny,Allow
       Allow from all
    </Directory>

</VirtualHost>

django.wsgi 文件内容
程序代码 程序代码

import os
import sys          
sys.path.append("/opt/www/html/djangocms/crm")               #将该django项目加入到python系统环境变量中,让apache的wsgi接口能搜索到,如果不指定会让apache不能正确导入项目代码从而报错
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "crm.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()


重启apache


程序代码 程序代码

service httpd restart


你就看到你熟悉的django应用程序了。

0 0