热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PythonWindowsApache部署Django项目运行环境

目录一、安装Apache服务器1、在官网http:httpd.apache.orgdownload.cgi或网上搜索下载zip压缩包2、Apache相关配置3、创建Apac

目录

一、安装Apache服务器

1、在官网http://httpd.apache.org/download.cgi或网上搜索下载zip压缩包

2、Apache相关配置

3、创建Apache服务器

解决报错AH00369: Failed to open the Windows service manager, perhaps you forgot to log in as Adminstrator?

4、启动apache服务

如果要卸载Apache服务器

二、安装mod_wsgi

1、下载mod_wsgi.whl文件

2、导入mod_wsgi库

三、配置httpd.conf文件,启动django项目

1、在Apache目录下的conf下的httpd.conf文件末尾,加上安装wsgi模块之后返回的两到三行

2、在Apache目录下的conf下的httpd.conf文件末尾加上项目相关配置

3、重启Apache服务

四、启用MPM模块配置文件





一、安装Apache服务器

1、在官网http://httpd.apache.org/download.cgi或网上搜索下载zip压缩包

(1)依次按照下面图片找到版本打开网站,

(2)下载并解压压缩文件

选个自己喜欢的版本下载就可以了,我下载的VS16,然后会得到一个压缩文件,

 

解压之后,会得到一个文件夹:我们的目标Apache24,



解压后文件夹里的Apache24文件夹就是apache服务器文件,将Apache24移动到其他目录,无需安装。


至此,Apache就下载好了。


2、Apache相关配置

(1)进入Apache24文件夹下的conf目录中找到httpd.conf文件进行服务器配置,找到httpd.conf文件,使用notepod++或者记事本打开,做如下修改:

 如下图配置httpd.conf文件,将SRVROOT改为实际的Apache24目录路径。

(2)修改监听端口,即以后服务器的ip和端口号,

(3)ServerName重新自定义,我这里与设置的访问ip一样

(4)将Apache下的bin目录添加到系统环境变量,

 打开“环境变量”,编辑系统变量path,新建环境变量,


3、创建Apache服务器

电脑左下角点击windows图标,输入cmd,以管理员权限打开cmd窗口,输入下条命令,

httpd -k install


注意:在win11 安装apache的时候会报错:


解决报错AH00369: Failed to open the Windows service manager, perhaps you forgot to log in as Adminstrator?



原因:这是因为没有用管理员身份运行所导致的,所以只要以管理员身份运行即可。


解决方法:以管理员身份运行方式打开cmd就可以正常安装Apache了。



如图所示,即代表服务器安装成功了。


4、启动apache服务

打开浏览器,在地址栏输入 127.0.0.1:8000 显示如下页面表示成功:

服务器启动成功后,可以按在浏览器中输入的ip地址进行访问。



apache常用命令:服务器的启动,停止,重启


启动、重启、停止指定服务的名称:后面各自加上-n "服务器名称"


例如:启动指定服务的名称httpd –k start -n "服务器名称"


1.启动、重启、停止:以管理员身份打开cmd,进入到D:\ruanjian\Apache24\bin,执行以下命令启动apache


httpd -k start
httpd -k stop
httpd -k restart


 


如果要卸载Apache服务器

(1)打开windows系统服务,找到Apache服务,手动停止之后如下图所示,

(2)在cmd命令框中输入:

sc delete Apache2.4

卸载成功后会有提示,出现successfully installed说明服务创建成功。如下图所示,



二、安装mod_wsgi

1、下载mod_wsgi.whl文件

在.http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi网站下载mod_wsgi.whl文件



注:whl版本要和Apache和python的版本相一致


比如,安装得是Apache24v9,python2.7,则我应该下载whl的版本中ap24v9,cp27的那个版本。


进入https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi 下载相应版本mod_wsgi Python的插件。ap24cv24指apache版本,比如apache24, cp39指python3.9,win_adm64指操作系统为64位。


2、导入mod_wsgi库

(1)将下载好的.whl文件放入python安装目录下的Scripts目录中,

 

(2)把此文件复制到虚拟环境的Scrit目录中之后,

然后激活虚拟环境,

cd my_env
my_env\Scripts\activate

在该文件夹下启动cmd窗口,cd到此目录中,输入下条命令,

pip install "mod_wsgi-4.9.2-cp39-cp39-win_amd64.whl"

安装成功后会有提示,如下图,接着在该cmd窗口中输入:

mod_wsgi-express module-config
返回:
LoadFile "C:/Users/yantz/AppData/Local/Programs/Python/Python39/python39.dll"
LoadModule wsgi_module "D:/my/python-pycharm/python-envs/venv2/lib/site-packages/mod_wsgi/server/mod_wsgi.cp39-win_amd64.pyd"
WSGIPythonHome "D:/my/python-pycharm/python-envs/venv2"


注意:有的电脑如果安装了Anaconda或者Miniconda等其他python插件,会返回三行,我这里返回两行,记录下返回的数据。


这三行一定要记下来,后面配置最重要的就是它了


安装wsgi模块之后,返回的两到三行,复制粘贴。



三、配置httpd.conf文件,启动django项目

1、在Apache目录下的conf下的httpd.conf文件末尾,加上安装wsgi模块之后返回的两到三行

(1)找到到Apache目录下的conf下的httpd.conf文件,在D:\exe文件\httpd-2.4.55-o111s-x64-vs16\Apache24\conf中找到httpd.conf文件的最末尾添加如下代码,具体解释看注释,实际情况根据自己的项目位置更改,



注意:不知道为什么有时候返回的第一行末尾是mod_wsgiNone,需要将mod_wsgiNone改为mod_wsgi.pyd即可。



2、在Apache目录下的conf下的httpd.conf文件末尾加上项目相关配置

(1)项目的目录结构如下图所示:

 (2)根据模板,在Apache目录下的conf下的httpd.conf文件末尾加上项目相关配置,

模板:
#设置django工程中的wsgi路径
WSGIScriptAlias / F:\BTI\BTI\wsgi.py

#设置django工程路径
WSGIPythonPath F:\BTI

#设置wsgi的文件夹路径


Require all granted



#设置静态文件路径
#Alias /static F:\BTI\static

AllowOverride None
Options None
Require all granted

---------------------------------------------------------------------------------
我的
#设置django工程中的wsgi路径
WSGIScriptAlias / D:\my\nhc\code\djangoProject002\djangoProject001\wsgi.py

#设置django工程路径
WSGIPythonPath D:\my\nhc\code\djangoProject002

#设置wsgi的文件夹路径


Require all granted



#设置静态文件路径
#Alias /static D:\my\nhc\code\djangoProject002\static

AllowOverride None
Options None
Require all granted

写好之后,保存文件


3、重启Apache服务

(1)以管理员身份打开cmd,进入到D:\exe文件\httpd-2.4.55-o111s-x64-vs16\Apache24\bin,执行启动命令启动apache。

httpd -k start

(2)启动Apache服务后,浏览器输入:192.168.1.167:8080,就可以看到django项目啦,比如我的,

 就说明配置成功了。



四、启用MPM模块配置文件

1、MPM模块是专门针对Windows操作系统而优化设计的,在Apace安装目录下的conf下的httpd.conf文件中启用该配置文件,

找到Include conf/extra/httpd-mpm.conf,去掉前面的注释符号"#"。

# Server-pool management (MPM specific)
Include conf/extra/httpd-mpm.conf (去掉前面的注释符号"#")

2、在Apace安装目录下的conf下,extra目录中的配置文件httpd-mpm.conf中更改MPM模块的相关配置,

找到mpm_winnt_module,由于mpm_winnt模块只会创建1个子进程,因此这里对单个子进程的参数设置就相当于对整个Apache的参数设置。



  • ThreadsPerChild: 线程数量,线程数量越大,越能够更好的处理更多并发连接。默认值是150,推荐设置:小型网站=1000 中型网站=1000~2000 大型网站=2000~3500;
  • MaxConnectionsPerChild:累计最多处理到多少个请求,超过该值会自动重启Apache,设置为0,则没有限制,但可能会照成内存泄漏。小型网站=10000 中型或大型网站=20000~100000,若设置为大于0时,最好为ThreadsPerChild的100倍;


ThreadsPerChild 1500
MaxRequestsPerChild 0

ok。



推荐阅读
  • 如何在Linux服务器上配置MySQL和Tomcat的开机自动启动
    在Linux服务器上部署Web项目时,通常需要确保MySQL和Tomcat服务能够随系统启动而自动运行。本文将详细介绍如何在Linux环境中配置MySQL和Tomcat的开机自启动,以确保服务的稳定性和可靠性。通过合理的配置,可以有效避免因服务未启动而导致的项目故障。 ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • 本文详细介绍了在 React Native 开发过程中遇到的 'Could not connect to development server' 错误及其解决方法。该问题不仅影响开发效率,而且难以通过网络资源找到确切的解决方案。本文将提供详细的步骤,帮助开发者快速解决这一常见问题。 ... [详细]
  • Spark与HBase结合处理大规模流量数据结构设计
    本文将详细介绍如何利用Spark和HBase进行大规模流量数据的分析与处理,包括数据结构的设计和优化方法。 ... [详细]
  • 本文介绍了如何利用 `matplotlib` 库中的 `FuncAnimation` 类将 Python 中的动态图像保存为视频文件。通过详细解释 `FuncAnimation` 类的参数和方法,文章提供了多种实用技巧,帮助用户高效地生成高质量的动态图像视频。此外,还探讨了不同视频编码器的选择及其对输出文件质量的影响,为读者提供了全面的技术指导。 ... [详细]
  • 在Windows系统中安装TensorFlow GPU版的详细指南与常见问题解决
    在Windows系统中安装TensorFlow GPU版是许多深度学习初学者面临的挑战。本文详细介绍了安装过程中的每一个步骤,并针对常见的问题提供了有效的解决方案。通过本文的指导,读者可以顺利地完成安装并避免常见的陷阱。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • PHP 各版本对比:标准版与最新顶级版的详细分析 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • Python 程序转换为 EXE 文件:详细解析 .py 脚本打包成独立可执行文件的方法与技巧
    在开发了几个简单的爬虫 Python 程序后,我决定将其封装成独立的可执行文件以便于分发和使用。为了实现这一目标,首先需要解决的是如何将 Python 脚本转换为 EXE 文件。在这个过程中,我选择了 Qt 作为 GUI 框架,因为之前对此并不熟悉,希望通过这个项目进一步学习和掌握 Qt 的基本用法。本文将详细介绍从 .py 脚本到 EXE 文件的整个过程,包括所需工具、具体步骤以及常见问题的解决方案。 ... [详细]
  • 本文详细介绍了批处理技术的基本概念及其在实际应用中的重要性。首先,对简单的批处理内部命令进行了概述,重点讲解了Echo命令的功能,包括如何打开或关闭回显功能以及显示消息。如果没有指定任何参数,Echo命令会显示当前的回显设置。此外,文章还探讨了批处理技术在自动化任务执行、系统管理等领域的广泛应用,为读者提供了丰富的实践案例和技术指导。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
author-avatar
冷尔岚钰_820
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有