django结合apache部署
下载安装mod_wsgi这里我的版本是mod_wsgi-3.4.tar.gz
在django的目录建立一个test.wsgi 这里我的目录是/var/www/html/Simplecmdb
建立一个test.wsgi
def application(environ, start_response):
status = '200 OK'
output = 'Hello World!'
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return
开启apache的虚拟主机
vim /etc/httpd/conf/httpd.conf
NameVirtualHost *:80
建立测试的配置文件
cd /etc/httpd/conf.d/
vim test.conf
WSGIScriptAlias / "/var/www/html/Simplecmdb/test.wsgi"
Order Deny,Allow
Allow from all
重启apache后访问http://ip
出现helloworld说明正常
在自己的django项目目录下建立django.wsgi
#!/usr/bin/env python
#coding: utf-8
import sys
import os
sys.path.append("/var/www/html/Simplecmdb")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Simplecmdb.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application() 注意:因为项目文件夹和下面的子文件夹是同个名字,容易搞混,sys.path.append的路径,
到项目文件夹就可以了,否则下一行的“Simplecmdb.settings”将找不到项目的setting.py文
件,而引发“internal server error”.
cd /etc/httpd/conf.d/
vim simplecmdb.conf
LoadModule wsgi_module modules/mod_wsgi.so
WSGIScriptAlias / "/var/www/html/Simplecmdb/django.wsgi"
Order Deny,Allow
Allow from all
service httpd restart
访问http://ip/admin
这里django项目的权限要改成apache的运行用户,不然会有报错
参考地址:http://www.programgo.com/article/9700620001/;jsessionid=9EC670F7ABAE995FE59287E87BA1EB33
页:
[1]