ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Django 部署在Windows Apache上

2022-02-01 20:34:50  阅读:236  来源: 互联网

标签:httpd wsgi Apache24 Windows Django cp38 conf Apache mod


 Django 部署(发布)在Windows Apache上

 

 

安装 apache

                                                            

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

https://www.apachehaus.com/cgi-bin/download.plx

 

 

 

 

 

 

 

 

 

 

在Apache官方网站中的 download 界面中找到 Files for Microsoft Windows

 

下载后解压缩文件, 将其中的 Apache24文件夹 放到你想放置的目录下, 这里我选择放在  D:\software\  目录下.

解压 D:\software\httpd-2.4.52-o111m-x64-vc15

修改 D:\software\httpd-2.4.52-o111m-x64-vc15\Apache24\conf\httpd.conf

Apache24/conf/httpd.conf 文件:

Define SRVROOT Define SRVROOT "D:\software\httpd-2.4.52-o111m-x64-vc15\Apache24"    #将全局变量改成自己 Apache24 的位置
......
Listen 127.0.0.1:80    #修改ip地址和端口号
......
ServerName 127.0.0.1:80    #修改ip地址和端口号
......

 

主要就是路径和端口号的修改, 如果你在启动 apache 的 httpd.exe 程序后打不开 http://127.0.0.1 , 请检查这些配置.

启动 D:\software\httpd-2.4.52-o111m-x64-vc15\Apache24\bin\httpd.exe 程序

 

如出现以下错误,443端口被占用,修改conf目录中的extra目录下的两个文件,将其443端口修改为442或444均可

D:\software\httpd-2.4.52-o111m-x64-vc15\Apache24\bin>httpd.exe
(OS 10048)Only one usage of each socket address (protocol/network address/port) is normally permitted.  : AH00072: make_sock: could not bind to address [::]:443
(OS 10048)Only one usage of each socket address (protocol/network address/port) is normally permitted.  : AH00072: make_sock: could not bind to address 0.0.0.0:443
AH00451: no listening sockets available, shutting down
AH00015: Unable to open logs

443端口被占用,修改conf目录中的extra目录下的两个文件,将其443端口修改为442或444均可

D:\software\httpd-2.4.52-o111m-x64-vc15\Apache24\conf\extra

httpd-ahssl.conf

httpd-ssl.conf

 


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

 

 



 

 

 

下载安装mod_wsgi

mod_wsgi 是一个 Apache 模块, 它可以管理任何 Python WSGI 应用, 包括 Django. Django 支持所有支持 mod_wsgi 的 Apache 版本.

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

这里配置   python3.8 对应版本为:  mod_wsgi-4.9.0-cp38-cp38-win_amd64.whl , 把该文件放到 python 3.8 的安装目录的 scripts 下面。

下载后, 在 cmd界面 用  pip install mod_wsgi-4.9.0-cp38-cp38-win_amd64.whl  安装该模块.

 
安装后在 cmd 界面 输入  mod_wsgi-express module-config  命令, 显示该模块的安装信息.

C:\Python38\Scripts>pip install mod_wsgi-4.9.0-cp38-cp38-win_amd64.whl
Processing c:\python38\scripts\mod_wsgi-4.9.0-cp38-cp38-win_amd64.whl
Installing collected packages: mod-wsgi
Successfully installed mod-wsgi-4.9.0

C:\Python38\Scripts>mod_wsgi-express module-config
LoadFile "c:/python38/python38.dll"
LoadModule wsgi_module "c:/python38/lib/site-packages/mod_wsgi/server/mod_wsgi.cp38-win_amd64.pyd"
WSGIPythonHome "c:/python38"


复制下来备用.

 

 

部署Django与Apache

再次打 Apache24/conf/httpd.conf 文件, 在文件的末尾加上以下代码:

#添加 mod_wsgi 模块, 即上文备用的信息.
LoadFile "c:/python38/python38.dll"
LoadModule wsgi_module "c:/python38/lib/site-packages/mod_wsgi/server/mod_wsgi.cp38-win_amd64.pyd"
WSGIPythonHome "c:/python38"
 
#指定项目的wsgi.py配置文件路径,这个py文件是在你的Django项目中  
WSGIScriptAlias / D:\temp-test\djangodemo\app02\app02\wsgi.py
 
#指定项目目录, 即你的Django项目路径
WSGIPythonPath  D:\temp-test\djangodemo\app02
<Directory D:\temp-test\djangodemo\app02\app02>  
<Files wsgi.py>  
    Require all granted  
</Files>  
</Directory>  
 
#项目静态文件地址, 即Django项目中静态文件的路径  
Alias /static D:\temp-test\djangodemo\app02\app02\static
<Directory D:\temp-test\djangodemo\app02\app02\static>  
    AllowOverride None  
    Options None  
    Require all granted  
</Directory>  
 
#项目media地址, 上传图片等文件夹的路径  
Alias /media D:\temp-test\djangodemo\app02\app02\media
<Directory D:\temp-test\djangodemo\app02\app02\media>  
    AllowOverride None  
    Options None  
    Require all granted  
</Directory>  

 

 

然后打开Django项目内的 D:\temp-test\djangodemo\app02\app02\settings.py 文件进行配置:

DEBUG = False
 
TEMPLATE_DEBUG = False
 
ALLOWED_HOSTS = ['*']

最后再次启动 Apache24\bin\httpd.exe 程序, 通过浏览器访问: http://127.0.0.1/ 即可看到你的 django项目了.

如果出错, 可以进入 Apache24\logs\ 文件夹中查看错误信息并设法解决.

 

 

REF

 https://blog.csdn.net/sinat_41292836/article/details/103772521

 https://www.cnblogs.com/hemomo/p/12339902.html

 https://www.jb51.net/article/197234.htm

 https://www.cnblogs.com/feifeifeisir/p/13792353.html

标签:httpd,wsgi,Apache24,Windows,Django,cp38,conf,Apache,mod
来源: https://www.cnblogs.com/emanlee/p/15859028.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有