##安装Apache环境
进入Apache的官方网站:http://httpd.apache.org 进入Apache2.4的下载页面: https://www.apachehaus.com/cgi-bin/download.plx
根据你的系统下载相应的版本,但是要知道版本需要VC编译支持,下载的时候看清楚需要安装的VC版本,本例程,选用的是:Apache 2.4.27 x64 VC14版本。
点击右方小图标进项下载。下载完成后将其中的Apache24进行解压,解压位置不要使用中文名,本例子放在了C:\Apache24中,
cd到当前文件夹下的bin中运行命令如下:
cd C:\Apache24\bin
httpd -k install
结果会出现
ServerRoot must be a valid directory
的错误,这是因为conf文件中httpd.conf的配置路径有问题:
Define SRVROOT "/Apache24" #这是默认的
ServerRoot "${SRVROOT}"
# 需要修改为:
Define SRVROOT "C:\Apache24" #修改到此解压目录下
ServerRoot "${SRVROOT}"
再次运行:
httpd -k install
The "Apache2.4" is successfuly installed .
Testing httpd.conf
Error: reported here must be corrected before the service can be started.
此时Apache安装完成,启动Apache
cd C:\Apache24\bin
net start Apache2.4
Apache2.4 服务正在启动...
Apache2.4 服务启动成功。
在浏览器中打开http://localhost/ 即看到Apache官网代表启动成功
常见问题有:
- 端口设置有冲突,Apache默认使用的端口是80端口,如果不行可以尝试使用其他端口,只需要在httpd.conf中修改Listen选项
#Listen 12.34.56.78:80
Listen 80 # 修改为其他选项Listen 8089 打开 http://localhost:8089 即可
netstat -aon|findstr "49157" # 用来查看端口的应用情况
tasklist|findstr "2720",#查看是哪个进程或者程序占用了2720端口 记下PID在进程里进行关闭即可
taskkill /f /t /im Tencentdl.exe #结束Tencentdl.exe进程
##安装VC14
在https://www.microsoft.com/en-us/download/details.aspx?id=48145 下载相应的VC,双击安装即可。如需卸载可用安装包进行卸载。
##配置mod_wsgi文件
mod_wsgi是windows平台,apache2下的插件,用于连接python,如果和Apache不匹配的话容易出现各种各样的问题。这一点很让人头疼。
根据此例子安装的Apache2.4(尽量使用此版本,2.2的话安装mod_wsgi极容易出现问题)
下载地址: 链接: https://pan.baidu.com/s/1eR7JijK 密码: ubpz 将文件中的so文件提取出来,还是根据不同系统选用不同的so文件,这里选择Apache24 V9 x64 py2.7版本的so文件mod_wsgi-py27-VC9.so。将此文件复制到C:\Apache\moduels\下
django项目中的wsgi.py文件在项目保持项目创建时候的样子,如果不存在在项目的setting.py同级文件夹中创建wsgi.py文件如下:
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myweb.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
在setting.py文件中设置
ALLOWED_HOSTS=["*"]
###对httpd.conf文件修改
#添加mod_wsgi.so 模块
LoadModule wsgi_module modules/mod_wsgi-py27-VC9.so
#指定Django项目的wsgi.py配置文件路径 我的是:
WSGIScriptAlias / C:\website\website\wsgi.py
#指定项目路径
WSGIPythonPath C:\website
<Directory C:\website\website>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
#修改documentroot至Django项目路径
DocumentRoot "${SRVROOT}/htdocs"# 默认设置
<Directory "${SRVROOT}/htdocs"># 默认设置
#修改为:
DocumentRoot "C:\website"
<Directory "C:\website">
关闭Django的Debug:在Django项目的setting.py文件中修改:
#设置Debug
Debug=False
这时候Django的静态文件无法使用需要Apache配置,还是修改httpd.conf
#添加下面语句
Alias /static/ C:\website\static\
<Directory C:\website\static\>
Require all granted
</Directory>
重启Apache
在C:\Apache24\bin\中运行apache-monitor.exe,点击restar即可
在浏览器中输入http://localhost:8089/ 进行查看
##Enjoy it