windowsserver2012部署django项⽬(Apache2.4)
Windows server 2012 服务器部署
软件版本前提
1. Windows server 2012 标准版
2.Apache 2.4
3.python 3.6
4.django 1.11
安装环境
1.python,Django,mysql已经安装完成
2.Apache,下载地址, 现在完成之后解压到
3.C:\Apache24 , apache 帮助⽂档
4.官⽹没有64位版本,可以在这个地址下载
配置Apache
进⼊C:\Apache24\conf (我将⽂件放到了C盘)这是Apache服务⽓的配置⽂件夹,修改f⽂件,使⽤VSCode打开,Ctrl+f 搜索Define SRVROOT,并修改项⽬配置
Define SRVROOT “C:\Apache24” #Apache24⽂件的路径,其余不⽤改。
ServerRoot “${SRVROOT}”
Listen IP:PORT #需要部署到服务器的ip和端⼝号(⽆关紧要)
ServerName IP:PORT #需要部署到服务器的ip和端⼝号(⽆关紧要)
创建Apache服务
进⼊C:\Apache24\bin ⽬录,使⽤管理员⾝份运⾏cmd命令⾏,输⼊以下代码:
< -k install -n "apache2.4" # -n参数给服务起别名,apache2.4是所创建服务器名称,也可不写,使⽤默认的。
出现== successfullyinstalled == 安装成功
打开浏览器 输⼊本机物理IP 看到欢迎界⾯ Apache启动成功
安装MOD_WSGI
什么是mod_wsgi
mod_wsgi的⽬标是实现⼀个简单的Apache模块,⽀持任何Python WSGI的接⼝的Python应⽤程序的托管。该模块适⽤于⾼性能⽣产的WEB站点,同时也适⽤于⾃⼰维护站点的WEB 服务托管
mod_wsgi下载地址
== 到 mod_wsgi==
ap24vc14 表⽰Apache2.4VC14版本,
cp36表⽰python3.6,
amd64表⽰64位
下载对应版本 下载之后进⾏安装
pip3 install “mod_wsgi-4.5.24+ap24vc14-cp36-cp36m-win_amd64.whl” ( 在⽂件所在⽬录下运⾏cmd)
使⽤以下命令获取⽂件必要路径
mod_wsgi-express module-config > 1.txt # 重定向到⼀个⽂本便于复制粘贴
可以得到相关环境的路径由于cmd不能复制 我们将其重定向成⼀个txt ⽅便复制代码下⾯上⾯txt⽂本的内容
LoadFile"c:/users/my/appdata/local/programs/python/python36/python36.dll"
LoadModule wsgi_module "c:/users/my/appdata/local/programs/python/python36/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd" WSGIPythonHome "c:/users/my/appdata/local/programs/python/python36"
打开apache根⽬录bin⽬录的f
也就是apache24/f最后⼀⾏引⼊使⽤Include引⼊的⽅式:
Include sites/f
配置django项⽬(你的site下的项⽬,将上⽅txt⽂本内容粘贴到这个⽂件)
⽅法⼀:打开f,在该⽂件末尾加⼊以下内容(也可以使⽤Include进⾏引⼊,任选其⼀即可):
下载apacheLoadFile “c:/users/my/appdata/local/programs/python/python36/python36.dll”
LoadModule wsgi_module “c:/users/my/appdata/local/programs/python/python36/lib/site-
packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd”
WSGIPythonHome “c:/users/my/appdata/local/programs/python/python36”
#设置⼯程中的wsgi路径
WSGIScriptAlias / C:\Apache24\sites\yikuang\yikuang\wsgi.py
#设置⼯程路径
WSGIPythonPath C:\Apache24\sites\yikuang\yikuang
#设置wsgi路径
<Directory C:\Apache24\sites\yikuang\yikuang\wsgi.py>
⽅法⼆:使⽤Include引⼊的⽅式(搞不懂这个我没⽤):
Include sites/f # 此⽅式将上⾯的代码不再追加到f中,另外创建配置⽂件,并写⼊
打包静态⽂件(我没)
python manage.py collectstatic 在django中运⾏
运⾏此命令前提:在项⽬的settings.py中配置:==STATIC_ROOT = os.path.join(BASE_DIR, “static”)==将会将项⽬中所有的静态⽂件打包项⽬根⽬录的static⽂件夹中,将项⽬部署到服务器之后,主要是通过该路径访问的,否则会产⽣css,js,图⽚等资源加载不了:
若报错:
### 说明
STATICFILES_DIRS , STATIC_ROOT与STATIC_URL :
STATICFILES_DIRS 是所有app中所有静态⽂件位置路径的配置,STATICFILES_DIRS告诉django,⾸先到STATICFILES_DIRS⾥⾯寻静态⽂件,其次再到各个app的static⽂件夹⾥⾯,所以这⾥配置的就是静态资源路径
⽽STATIC_ROOT 是在部署的时候才发挥作⽤,使⽤python manage.py collectstatic 会将所有的静态⽂件复制到该static⽬录中
STATIC_URL 浏览器通过这个访问服务器中的静态资源,django利⽤STATIC_URL来让浏览器可以直接访问静态⽂件,⽐如:STATIC_URL = '/static/'
重启Apache服务
打开浏览器,输⼊正确的IP及端⼝号,看到⽹站效果, 部署成功!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论