windows server 2012部署django项目 (Apache2.4)

Windows server 2012 服务器部署

软件版本前提

  1. Windows server 2012 标准版
    2.Apache 2.4
    3.python 3.6
    4.django 1.11
    5.mysql 5.7

安装环境

1.python,Django,mysql已经安装完成
2.Apache,下载地址点我, 现在完成之后解压到 3.C:\Apache24 , apache 帮助文档
4.官网没有64位版本,可以在这个地址下载点我

配置Apache

进入C:\Apache24\conf (我将文件放到了C盘)这是Apache服务气的配置文件夹,修改httpd.conf文件,使用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命令行,输入以下代码:

httpd.exe -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目录的httpd.conf

也就是apache24/bin/httpd.conf最后一行引入使用Include引入的方式:

Include sites/yikuang/yikuang.conf

配置django项目(你的site下的项目,将上方txt文本内容粘贴到这个文件)

方法一:打开httpd.conf,在该文件末尾加入以下内容(也可以使用Include进行引入,任选其一即可):

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”
#设置工程中的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/yikuang/yikuang.conf # 此方式将上面的代码不再追加到httpd.conf中,另外创建配置文件,并写入

打包静态文件(我没)

python manage.py collectstatic 在django中运行
运行此命令前提:在项目的settings.py中配置:==STATIC_ROOT = os.path.join(BASE_DIR, “static”)==将会将项目中所有的静态文件打包项目根目录的static文件夹中,将项目部署到服务器之后,主要是通过该路径访问的,否则会产生css,js,图片等资源加载不了:

若报错:

django.core.exceptions.ImproperlyConfigured: The STATICFILES_DIRS setting should not contain the STATIC_ROOT setting 原因是的 STATICFILES_DIRS 中的文件名重名了,将STATICFILES_DIRS 中的改为其他名字即可。

### 说明
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及端口号,看到网站效果, 部署成功!

参考:https://blog.csdn.net/qq_38276669/article/details/99701930

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值