Django之Windows系统网站部署(Apache+mod_wsgi+VC14)

本文详细介绍了如何在Windows环境下安装配置Apache2.4及mod_wsgi插件,实现与Python项目的无缝对接。包括Apache环境搭建、VC14安装、mod_wsgi配置及Django项目集成步骤。
摘要由CSDN通过智能技术生成

##安装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

转载于:https://my.oschina.net/u/3614054/blog/1501487

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值