一.安装Apache服务器
1.在官网http://httpd.apache.org/download.cgi或网上搜索下载zip压缩包
2.解压后文件夹里的Apache24文件夹就是apache服务器文件,将Apache24移动到其他目录,无需安装
3.进入Apache24文件夹下的conf目录中找到httpd.conf文件进行服务器配置
3.1 将SRVROOT改为实际的Apache24目录
3.2 修改监听端口,即以后服务器的ip和端口号
3.3 ServerName重新自定义,我这里与设置的访问ip一样
4.将Apache下的bin目录添加到系统环境变量
5.创建Apache服务器,以管理员权限打开cmd窗口,输入:
httpd -k install
如图所示,即代表服务器安装成功
6.服务器的启动,停止,重启
6.1 启动:
httpd -k start
6.2 停止:
httpd -k stop
6.3 重启:
httpd -k restart
服务器启动成功后,可以按在浏览器中输入的ip地址进行访问
7.卸载Apache服务器
打开windows系统服务,找到Apache服务,手动停止
在cmd命令框中输入:
sc delete Apache2.4
卸载成功后会有提示
注:安装时可能遇到的问题
1.当执行httpd -k install后报443端口被占用,如下:
找到Apache安装位置下的conf\extra中的两个文件,将里面的443端口改为442或其他端口
或者找到443端口的PID被谁占用,然后kill掉
cmd窗口输入:
netstat -a -o
找到443端口后的pid
打开任务管理器,找到对应的任务,结束该任务
二.安装mod_wsgi
1在.http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi网站下载mod_wsgi.whl文件
注:whl版本要和Apache和python的版本相一致,比如,我安装得是Apache24v9,python2.7,则我应该下载whl的版本中ap24v9,cp27的那个版本
1.将下载好的.whl文件放入python安装目录下的Scripts目录中
2.在该文件夹下启动cmd窗口
输入:
pip install "mod_wsgi-4.5.24+ap24vc9-cp27-cp27m-win_amd64.whl"
安装成功后会有提示,接着在该cmd窗口中输入:
mod_wsgi-express module-config
显示:
有的电脑如果安装了Anaconda或者Miniconda等其他python插件,会返回三行,我这里返回两行,记录下返回的数据,复制到Apache目录下的conf下的httpd.conf文件末尾
注:不知道我这里返回的第一行末尾的为什么是mod_wsgiNone,进入该文件夹下发现:
将mod_wsgiNone改为mod_wsgi.pyd即可
三.配置django项目
1.在Apache目录下的conf下的httpd.conf文件末尾加上项目相关配置
#设置django工程中的wsgi路径
WSGIScriptAlias / F:\BTI\BTI\wsgi.
#设置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>
2.重启Apache服务
启动后浏览器输入:192.168.1.167:8086
则配置成功
四.部署web端
1.在项目文件夹下寻找与该项目文件夹同名的文件夹下的urls.py,使用视图创建模板控制器,增加一行路由
url(r'^$', TemplateView.as_view(template_name="index.html")),
这样可以在访问http://ip:8080(或设置好的其他路径)时自动转到index.html页面
2.然后配置该Apache目录下conf中的httpd.conf文件,让程序知道上一步配置的index.html在哪个文件夹中
这样就可以通过http://ip:8086/transport/访问首页
五.启用MPM模块配置文件
1.MPM模块是专门针对Windows操作系统而优化设计的,在Apace安装目录下的conf下的httpd.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的参数设置。
<IfModule mpm_winnt_module>
ThreadsPerChild 1500
MaxRequestsPerChild 0
</IfModule>
ThreadsPerChild: 线程数量,线程数量越大,越能够更好的处理更多并发连接。默认值是150,推荐设置:小型网站=1000 中型网站=1000~2000 大型网站=2000~3500
MaxConnectionsPerChild:累计最多处理到多少个请求,超过该值会自动重启Apache,设置为0,则没有限制,但可能会照成内存泄漏。小型网站=10000 中型或大型网站=20000~100000,若设置为大于0时,最好为ThreadsPerChild的100倍