Windows Server 2012 R2利用Apache、mod_wsgi部署Python中的django项目

一、配置环境

服务器系统:Windows Server 2012 R2

Python:Python 3.7.2

django:   2.1.7

Apache:

mod_wsgi:mod_wsgi‑4.6.5+ap24vc15‑cp37‑cp37m‑win_amd64.whl

二、软件安装

1. 安装Python

    参考文章:安装Python

2. 安装django

   参考文章:Python中django安装、版本查看与卸载

3. 安装Apache

   参考文章:windows下Apache安装

4. 安装mod_wsgi

  4.1 下载

    下载网址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi

    选择适合的版本,本次使用的是 mod_wsgi‑4.6.5+ap24vc15‑cp37‑cp37m‑win_amd64.whl

       这个命名代表的是 

      1.ap24代表的是apache24的版本(解压完apache你看路径就知道版本了)

      2.vc15上面第三步所选的apache的vc为15,这里选择一样的vc

      3.cp37和cp37m,我也不知道哪个代表的是python环境为3.7,反正两个数字全都是一样的

   4.2 把下载的mod_wsgi‑4.6.5+ap24vc15‑cp37‑cp37m‑win_amd64.whl文件,放到python目录的Scripts文件夹下,如图,默认位置为:C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Scripts

  4.3 进入对应的目录后,运行 pip install 对应的.whl文件目录,即 

pip install C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Scripts\mod_wsgi-4.6.5+ap24vc15-cp37-cp37m-win_amd64.whl

   4.4 安装成功后运行如下命令

mod_wsgi-express module-config

      得到这三个路径后,先别急着关闭命令行,后续需要用到。

三、部署django

1. 配置Apache,打开 C:\Apache24\conf 目录,编辑 httpd.conf 文件

  确定apache目录与实际目录一致

    Define SRVROOT "c:/Apache24"

  添加服务器地址,然后将之前的三个路径复制到文末,再配置项目路径(我的项目名称是testDjiango,放在C:\Code目录下,大家注意更改为自己的项目路径),具体如下所示:

# 添加服务器地址
ServerName localhost:80

LoadFile "c:\users\administrator\appdata\local\programs\python\python37\python37.dll"
LoadModule wsgi_module "c:\users\administrator\appdata\local\programs\python\python37\lib\site-packages\mod_wsgi\server\mod_wsgi.cp37-win_amd64.pyd"
WSGIPythonHome "c:\users\administrator\appdata\local\programs\python\python37"


#Django项目中wsgi.py的路径
WSGIScriptAlias / C:\Code\testDjiango\testDjiango\wsgi.py

#第一个“/”表示访问时的url中输入名称为空,那么输入:127.0.0.1:80/ 即可访问,
#也可以自定义,比如:/test,那么访问时url为:127.0.0.1:80/test
#注意:不管哪种方式,url后面都还需加上项目本身设置的访问路径

#Django项目的路径
WSGIPythonPath C:\Code\testDjiango
 
#配置wsgi.py的访问权限
<Directory C:\Code\testDjiango\testDjiango>
<Files wsgi.py>
Require all granted
</Files>
</Directory>

注意:路径最好是去实际文件那边复制,路径分隔符用“\”,而不是“/”(如果是直接从命令行复制的路径则需要更改),盘符可以改为大写,不过我这里用的小写也没出问题。

2. 打开云服务器浏览器输入127.0.0.1:80/hello,或者本机电脑浏览器输入:云服务器外网IP:80/hello  (其中hello是testDjiango项目本身设置的url访问路径),显示如下,成功部署!

3. 如果需要让外网能访问到该项目,那么需要修改python项目的 settings.py 文件(与 上面的 wsgi.py 在同一个目录,以我的这个项目为例即:C:\Code\testDjiango\testDjiango 目录下)

在settings.py文件中的ALLOWED_HOSTS字段,加个星号

ALLOWED_HOSTS = ["*"]

参考文章:【1】在window上部署python Django项目 采用apache+mod_wsgi方案

猜你喜欢

转载自blog.csdn.net/qq_39564555/article/details/88413758