IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 基于Django搭建Python web项目——配置服务器(七) -> 正文阅读

[Python知识库]基于Django搭建Python web项目——配置服务器(七)

1.Django+Apache+mod_wsgi

??前面我们使用 python manage.py runserver 来运行服务器,这只适用测试环境中使用。正式发布的服务,我们需要一个可以稳定而持续的服务器,比如apache, Nginx, lighttpd等,本文将以Apache为例。

2.环境配置

??① Python 3.7.11
??② Django3.2.7
??③ apache2.4.51
??④ mod_wsgi-4.9.0

3.下载Apache

??① 访问Apache官网,下载对应版本。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
??② 下载完成后解压,把Apache24放在你想要放的位置,不需要安装,我这里放在了D盘的根目录下。
在这里插入图片描述
??③ 配置Apache服务器文件,打开D:\Apache24\conf目录下的httpd.conf文件,我这里用的是sublime text打开的,修改下面几行。
??在cmd输入下面命令查看IP

ipconfig

在这里插入图片描述

......
Define SRVROOT "D:/Apache24"  # Apache24文件的路径,其余不用改。
......
Listen 192.168.1.107:80 # 此处为你要发布的网站IP地址,你也可以用127.0.0.1:80用于本地测试;80端口自己设置
......
ServerName 192.168.1.107:80 
......

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
??④ 创建apache服务,以管理员身份运行命令行,cd进入D:\Apache24\bin文件夹,输入如下代码创建服务,出现successfully installed说明服务创建成功。(服务删除操作命令行为sc delete “Apache24py”)

httpd -k install -n "apache24py"  # apache24py是所创建服务器名称,可更改。

在这里插入图片描述
??④ 开启服务,进入浏览器访问本地IP或者127.0.0.1就可以看到下面第二张图的界面。
在这里插入图片描述

在这里插入图片描述

4.下载配置mod_wsgi

??① 安装mod_wsgi,下载相应版本mod_wsgi Python的插件,这个插件我理解的作用是一个python与apache的接口的作用,因为django项目本身使用python写的。cp37指python3.7,win_adm64指操作系统为64位,一定下载正确的版本。
在这里插入图片描述
??② pip安装mod_wsgi,进入下载目录,我这里下载到D盘根目录下的,使用下面命令进行安装,注意:首先要确保安装到的是Django开发环境,我使用的conda命令进入Django环境。

# 进入Django环境
conda activate pydjango
# 安装mod_wsgi
pip install mod_wsgi-4.9.0-cp37-cp37m-win_amd64.whl

在这里插入图片描述
??③ 安装文件名根据实际更改,安装成功后再使用下面的命令,获取Python三行的配置信息,后面配置Apache要使用。

mod_wsgi-express module-config

在这里插入图片描述
??④ 出现以下三行提示信息,这三行信息一定要记下来,后面配置Apache最重要的就是这三行提示信息。

LoadFile "d:/installpackage/anaconda3/envs/pydjango/python37.dll"
LoadModule wsgi_module "d:/installpackage/anaconda3/envs/pydjango/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win_amd64.pyd"
WSGIPythonHome "d:/installpackage/anaconda3/envs/pydjango"

5.配置Django工程

??再次打开httpd.conf文件,再最末尾添加如下代码,具体解释看注释,实际情况根据自己的项目位置更改。

# 安装wsgi模块后,出来的三行字符,直接复制过来
LoadFile "d:/installpackage/anaconda3/envs/pydjango/python37.dll"
LoadModule wsgi_module "d:/installpackage/anaconda3/envs/pydjango/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win_amd64.pyd"
WSGIPythonHome "d:/installpackage/anaconda3/envs/pydjango"
# 设置工程中的wsgi路径
WSGIScriptAlias / D:/Py/DP/myproject/myproject/wsgi.py
# 设置工程路径
WSGIPythonPath D:/Py/DP/myproject
# 设置wsgi路径
<Directory D:/Py/DP/myproject/myproject>
    <Files wsgi.py>
        Require all granted
    </Files>
</Directory>
# 设置静态文件路径
Alias /static D:/Py/DP/myproject/static
<Directory D:/Py/DP/myproject/static>  
    AllowOverride None  
    Options None  
    Require all granted  
</Directory> 

6.错误解决

??① 开启服务出现下面的错误。
在这里插入图片描述
??② 通过查看错误日志D:\Apache24\logs\error.log。
在这里插入图片描述
??③ 解决措施,由于我这里用的conda安装的Python虚拟环境,所以需要添加PYTHONHOME环境变量,变量值为Python路径。
在这里插入图片描述

7.开启服务

??添加上面的环境变量后,重启服务,在浏览器就可以访问了。
在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-11-29 16:16:37  更:2021-11-29 16:16:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:53:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码