Apache2.4部署python3.6+django2.0项目

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache2.4部署python3.6+django2.0项目相关的知识,希望对你有一定的参考价值。

一、安装apache

Apache是非常有名的web服务器软件,如果想让我们web项目运行几乎离不开它。

Apache官方网站:http://httpd.apache.org/

根据自己的环境,选择相应的版本进行下载。apache 官网没有windows 64位版本,可以通过下面的链接进行下载:win7 64位:http://www.apachelounge.com/download/win64/ 

下载安装完成,apahche的目录结构如下:

修改conf/httpd.conf文件:

……
ServerRoot "D:/pydj/Apache24"
……
Listen 127.0.0.1:8089    #修改端口号
……
ServerName localhost: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程序时一闪就没了,请检查这些配置。

启动bin/httpd.exe程序

通过浏览器访问:http://127.0.0.1:8089/

现在可以说明apache工作是正常的了。 

 

二、安装mod_wsgi

mod_wsgi网站:http://code.google.com/p/modwsgi/

下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi

1.如win7 64位、python 3.6.4、apache(httpd-2.4.33)对应版本为:mod_wsgi-4.6.4+ap24vc14-cp36-cp36m-win_amd64.whl

 i. 这个插件对应的Apache版本是24 VC是14

 ii. Python版本是3.6

 iii. 64位系统

在下载时要选择相应的版本,否则Apache启动时会有问题

2.下载后后缀名改为.zip进行解压,但是解压后找不到mod_wsgi.so文件

3.把下载的.whl文件复制到python\\Scripts下,在该目录下进入cmd命令执行

pip3 install "mod_wsgi-4.6.4+ap24vc14-cp36-cp36m-win_amd64.whl"

4.进行安装在安装成功后在python的安装目录的\\scripts文件夹下运行

mod_wsgi-express module-config 

5.输出如下三行结果,把这三行内容复制到http.cnf文件下进行配置

LoadFile "c:/python36/python36.dll"
LoadModule wsgi_module "c:/python36/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "c:/python36"

取代其他教程中的

LoadModule wsgi_module modules/mod_wsgi.so  

 

三、配置apache和django项目

强调一下我的目录:

apache 存放目录:D:\\pydj\\Apache24

django项目目录:D:\\pydj\\mysite

再次打开apache的配置文件httpd.conf:

#配置mod_wsgi
LoadFile "c:/python36/python36.dll"
LoadModule wsgi_module "c:/python36/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "c:/python36"

#指定myweb项目的wsgi.py配置文件路径
WSGIScriptAlias / D:/pydj/mysite/mysite/wsgi.py

#指定项目路径
WSGIPythonPath D:/pydj/mysite

<Directory D:/pydj/mysite/mysite>
<Files wsgi.py>
    Require all granted
</Files>
</Directory>

上面的路径,请根据自己的实际情况进行修改。

 

打开settings.py文件添加:

……
ALLOWED_HOSTS = [\'127.0.0.1\', \'localhost\']

再次启动Apache24/bin/httpd.exe程序

通过浏览器访问:http://127.0.0.1:8000/blog/

 说明项目部署成功!

 

 

以上是关于Apache2.4部署python3.6+django2.0项目的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7下 将django工程部署到Apache2.4上

'使用mod_wsgi在apache上部署django app时,没有名为'encodings''的模块

基于python3.6.6的scrapy环境部署+图像识别插件安装

Centos7 django+uwsgi+nginx+python3.6.8部署

Windows下Python3.6.2+Django-1.11.5+httpd-2.4.27-win64-VC14部署网站

Windows server2012+Python3.6+IIS之上部署django项目