Apache部署django项目
----------------------------------------------html
在此以前,咱们一直使用django的manage.py 的runserver 命令来运行django应用,但这只是咱们的开发环境,当项目真正部署上线的时候这作就不可行了,必须将咱们的项目部署到特定的web服务器上。python
安装apacheweb
Apache是很是有名的web服务器软件,若是想让咱们web项目运行几乎离不开它。apache
Apache官方网站:http://httpd.apache.org/django
根据本身的环境,选择相应的版本进行下载。apache 官网没有windows 64位版本,能够经过下面的连接进行下载:win7 64位:http://www.apachelounge.com/download/win64/windows
下载安装完成,apahche的目录结构以下:浏览器
修改conf/httpd.conf文件:服务器
…… ServerRoot "D:/pydj/Apache24" …… Listen 127.0.0.1:8089 #修改端口号 …… ServerName www.example.com:8089 …… DocumentRoot "D:/pydj/Apache24/htdocs" <Directory "D:/pydj/Apache24/htdocs"> …… ScriptAlias /cgi-bin/ "D:/pydj/Apache24/cgi-bin/" …… <Directory "D:/pydj/Apache24/cgi-bin"> AllowOverride None Options None Require all granted </Directory> ……
主要就是路径和端口号的修改,若是你在启动apache的httpd.exe程序时一闪就没了,请检查这些配置。app
启动bin/httpd.exe程序ide
经过浏览器访问:http://127.0.0.1:8089/
如今能够说明apache工做是正常的了。
安装mod_wsgi
The aim of mod_wsgi is to implement a simple to use Apache module which can host any Python application which supports the Python WSGI interface.
The module would be suitable for use in hosting high performance production web sites, as well as your average self managed personal sites running on
web hosting services.
(mod_wsgi的目的是实现一个简单的使用Apache模块能够举办任何Python应用程序支持Python的WSGI接口。该模块将适用于主机的高性能生产的网站,以及通常的自我管理我的网站的网页寄存服务运行。)直接google翻译的,凑合的大概理解是干啥用的。
mod_wsgi网站:http://code.google.com/p/modwsgi/
下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi
如win7 64位、python 2.7.六、apache(httpd-2.4.10)对应版本为:mod_wsgi-3.5.ap24.win-amd64-py2.7.zip
解压以后将获得一个mod_wsgi.so 文件,将其拷贝到Apache24\modules\ 目录下。
配置apache和django项目
由于你的目录必定和个人同样,因此,我再强调一下个人目录:
apache 存放目录:D:\pydj\Apache24
django项目目录:D:\pydj\myweb
再次打apache的配制文件httpd.conf:
…… #添加mod_wsgi.so 模块 LoadModule wsgi_module modules/mod_wsgi.so
#指定myweb项目的wsgi.py配置文件路径 WSGIScriptAlias / D:/pydj/myweb/myweb/wsgi.py
#指定项目路径 WSGIPythonPath D:/pydj/myweb <Directory D:/pydj/myweb/myweb> <Files wsgi.py> Require all granted </Files> </Directory>
上面的路径,请根据本身的实际状况进行修改。
下面配置myweb/wsgi.py文件:
…… import os os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myweb.settings") from django.core.wsgi import get_wsgi_application application = get_wsgi_application()
在咱们生成djnago项目时这些信息已经自动生成,其实咱们不用对其作任何修改。
打开settings.py文件添加:
…… ALLOWED_HOSTS = ['127.0.0.1', 'localhost']
再次启动Apache24/bin/httpd.exe程序
经过浏览器访问:http://127.0.0.1:8089/
原文转之https://www.cnblogs.com/fnng/p/4119712.html