我的应用名称是beaver,放在下面的位置:
- /var/www/cgi-bin/beaver
-
使用wsgi,把Django项目,发布到apache下。
在上面的目录中新建一个文件:beaver.wsgi
- vi /var/www/cgi-bin/beaver/django.wsgi
-
输入如下内容:
- import os
- import sys
- sys.path.append('/var/www/cgi-bin/beaver') #这里是应用的主目录
- os.environ['DJANGO_SETTINGS_MODULE'] = 'beaver.settings' #配置文件
- os.environ['PYTHON_EGG_CACHE'] = '/var/www/cgi-bin/beaver/.python-egg'
- import django.core.handlers.wsgi
- application = django.core.handlers.wsgi.WSGIHandler()
##第二步:为Apache建立配置文件 apache_django_wsgi.conf
该文件存在在下面的位置:
- /etc/httpd/conf.d/
-
输入下面的内容:
- vi /etc/httpd/conf.d/apache_django_wsgi.conf
- #测试用的配置,可以无视
- WSGIScriptAlias /test /var/www/cgi-bin/hello.py
- #配置顶级目录
- AddHandler wsgi-script .wsgi
- WSGIScriptAlias / "/var/www/cgi-bin/beaver/django.wsgi"
- #项目目录的访问权限
- <Directory "/var/www/cgi-bin/beaver">
- Order deny,allow
- Allow from all
- Options FollowSymLinks
- </Directory>
- #设置静态页面的路径,由于使用Django的Admin模块
- #为了Admin模块中的CSS,JS,图片等能正常显示
- #必须设置/static的对应目录。
- Alias /static "/usr/lib/python2.6/site-packages/django/contrib/admin/static"
- <Directory "/usr/lib/python2.6/site-packages/django/contrib/admin/static">
- Order deny,allow
- Allow from all
- IndexOptions FancyIndexing
- Options FollowSymLinks Indexes MultiViews
- AllowOverride None
- </Directory>
#第三步: 修改应用目录的属性,使Apache能有权访问应用目录:
- chown apache:apache -R /var/www/cgi-bin/beaver/
#第四步:启动apache
- service httpd start
-
#第五步:输入http://localhost进行验证