一、 配置Apache服务器 (https://www.apachehaus.com/cgi-bin/download.plx)
1. 解压 Apache(httpd-2.4.52-o111m-x64-vc15.zip) 压缩包
2. 打开 conf 文件夹内的 httpd.conf 文件,进行配置
2.1 配置服务器所在得路径 (Apache解压路径)
Define SRVROOT "D:/apache/Apache24"
2.2 设置路由及端口
Listen 8181
2.3 设置服务名
ServerName 127.0.0.1:8181
3. 打开 conf/extra 文件夹内 httpd-ahssl.conf和httpd-ssl.conf 文件夹
3.1 将 443 改为 442
4. 测试 Apache 服务器配置是否成功
4.1 启动方法 1
运行 安装目录 /bin/httpd.exe 浏览器访问 127.0.0.1:8181 出现 Apache 默认界面表示配置成功
4.2 启动方法 2
cmd 到 bin 目录,执行 httpd.exe -k install 命令
执行 ApacheMonitor.exe 命令,然后点击 start
浏览器访问 127.0.0.1:8181 出现 Apache 默认界面表示配置成功
二、安装 python
1. 安装 python
略
2. 配置 python 环境变量
此电脑 -> 属性 -> 高级系统设置 -> 环境变量 -> 系统变量
编辑 path 将 python 安装目录填入 (一般是 安装 python 时自动配置)
新建 变量名:PYTHONHOME 变量值:C:\User\AppData\Local\Programs\Python\Python38 (本机 python 的安装路径)
3. 配置 pip 环境变量
2.1 pip所在目录
python 安装目录 中 Scripts文件夹
2.2 此电脑 -> 属性 -> 高级系统设置 -> 环境变量 -> 系统变量 -> Path -> 编辑 -> 新建 -> 填入pip所在目录 -> 确定
2.3 验证
pip -help
三、安装、启动虚拟环境
1. 安装虚拟环境
pip install virtualenv
2. 创建虚拟环境
virtualenv venv0225 (文件夹名称)
3. 进入此虚拟环境
cd venv0225\Scripts
activate (启动虚拟环境,退出命令:deactivate)
4. 目录结构:
--Apache24 (apache安装目录)
--...
--conf
--httpd.conf
--djangoweb (存放项目 虚拟环境 mod_wsgi安装包得目录)
--venv0225 (创建的虚拟环境)
--mod_wsgi (mod_wsgi安装包所在目录)
四、安装 mod_wsgi (虚拟环境中) (https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi)
1. cd 到 mod_wsgi 文件夹 安装对应版本得mod_wsgi
pip install mod_wsgi-4.9.0-cp38-cp38-win_amd64.whl (cp38: python版本3.8, win_amd64: 64位系统, whl文件在上述网址中下载)
2. 查看模块配置信息
mod_wsgi-express module-config
记录输出:
LoadFile "c:/users/26975/appdata/local/programs/python/python38/python38.dll"
LoadModule wsgi_module "D:/apache/djangoweb/venv0225/lib/site-packages/mod_wsgi/server/mod_wsgi.cp38-win_amd64.pyd"
WSGIPythonHome "D:/apache/djangoweb/venv0225"
五、配置Django项目到Apache
1. 项目目录
--Apache24 (apache安装目录)
--......
--conf
--httpd.conf
--djangoweb (存放项目 虚拟环境 mod_wsgi安装包得目录)
--venv0225 (创建的虚拟环境)
--mod_wsgi (mod_wsgi安装包所在目录)
--NaturalEnvironmentPlatform (django项目目录)
--......
--NaturalEnvironmentPlatform
--......
--wsgi.py
--app
--manage.py
--requirements.txt
2. 添加 httpd.conf 配置文件
将一下两条注释解开
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
在 httpd.conf 末尾处添加
# --------------Django项目部署---------------
# 添加 mod_wsgi.so 模块
LoadFile "c:/users/26975/appdata/local/programs/python/python38/python38.dll"
LoadModule wsgi_module "D:/apache/djangoweb/venv0225/lib/site-packages/mod_wsgi/server/mod_wsgi.cp38-win_amd64.pyd"
WSGIPythonHome "D:/apache/djangoweb/venv0225"
# WSGIPythonPath要添加虚拟环境的site-packages
WSGIPythonPath "D:/apache/djangoweb/venv0225/Lib/site-packages;D:/apache/djangoweb/NaturalEnvironmentPlatform"
# wsgi文件地址
WSGIScriptAlias / D:\apache\djangoweb\NaturalEnvironmentPlatform\NaturalEnvironmentPlatform\wsgi.py
# wsgi文件权限
<Directory D:\apache\djangoweb\NaturalEnvironmentPlatform\NaturalEnvironmentPlatform>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
# static目录权限
Alias /static D:\apache\djangoweb\NaturalEnvironmentPlatform\static
<Directory D:\apache\djangoweb\NaturalEnvironmentPlatform\static>
Require all granted
</Directory>
# media目录权限
Alias /media D:\apache\djangoweb\NaturalEnvironmentPlatform\media
<Directory D:\apache\djangoweb\NaturalEnvironmentPlatform\media>
Require all granted
</Directory>
3. 启动服务
管理员身份运行 cmd
cd 到 Apache24/bin 目录
执行 httpd.exe -t 检查 httpd.conf 文件是否出错
执行 httpd.exe -k install -n natural (httpd.exe -k install -n “服务名” 注册 也可以使用httpd.exe -k uninstall -n “服务名” 来卸载)
执行 ApacheMonitor.exe
选择刚刚注册的服务名,点击 start