目录
一、安装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的文件夹路径
<Directory F:\BTI\BTI>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
#设置静态文件路径
#Alias /static F:\BTI\static
<Directory F:\BTI\static>
AllowOverride None
Options None
Require all granted
</Directory>
---------------------------------------------------------------------------------
我的
#设置django工程中的wsgi路径
WSGIScriptAlias / D:\my\nhc\code\djangoProject002\djangoProject001\wsgi.py
#设置django工程路径
WSGIPythonPath D:\my\nhc\code\djangoProject002
#设置wsgi的文件夹路径
<Directory D:\my\nhc\code\djangoProject002\djangoProject001>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
#设置静态文件路径
#Alias /static D:\my\nhc\code\djangoProject002\static
<Directory D:\my\nhc\code\djangoProject002\static>
AllowOverride None
Options None
Require all granted
</Directory>
写好之后,保存文件。
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倍;
<IfModule mpm_winnt_module>
ThreadsPerChild 1500
MaxRequestsPerChild 0
</IfModule>
ok。