首页 > 系统相关 >django项目在windows的部署(apach+Mod_wsgi+django)

django项目在windows的部署(apach+Mod_wsgi+django)

时间:2023-06-28 16:15:40浏览次数:54  
标签:httpd wsgi 项目 windows django apache mod

如果django项目如果要正式使用,我们需要将项目部署到开发环境上去。django项目自带的服务不支持多线程,会出现多个用户访问时,页面卡死,半天打不开的问题。所以, 该如何部署django项目呢?下边是我的部署经验,实测有效。

如果可以的话,尽量部署到linux上,但是我的系统中涉及到一些window文件的 操作,所以只能部署到windows上。

详细步骤:

1.下载安装apache

1.1下载

apache 官网下载路径:https://httpd.apache.org/

 

按照系统下载, 我的是64位的,所以下载x64, 这个软件不大,下载很快

1.2配置apache

 将下载apache压缩包解压之后, 就是 apache 软件目录了。我的是Apache24.。

 进入Apache24之后,找到conf/httpd.conf,这就是apache软件启动时的配置文件。需要在这个文件中配置自己的项目信息,才能够通过apache把项目跑起来

这个文件一共需要修改以下几个地方:

(1)Define SRVROOT "D:\Apache24"     #  你的Apache存放目录

(2)ServerRoot "D:\Apache24"     #  你的Apache存放目录, 和一保持一致

(3)ServerName 127.0.0.1:8000    #你的服务名, 配置你的ip和端口

(4)Listen 8000    # 你的端口号

这里配置完成之后,你就可以试一下自己的服务是否可以正常启动了, 以管理员权限运行 Apache24/bin/httpd.exe之后(我的在cmd框中没有响应),在浏览器中访问http://127.0.0.1:8000 可以看到apache的主页,就代表初步配置成功了

2.下载安装Mod_wsgi

 mod_wsgi是apache的一个模块,可以用于管理ptyon的wsgi应用,当然也包括django。

2.1下载路径:https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi

这里需要按照自己的python版本, 以及系统的位数选择,我用的python3.6, windows 64位系统, 所以选在下边的这个

 

 下载之后,pip安装即可

pip3 install D:\mod_wsgi-4.7.1-cp36-cp36m-win_amd64.whl

 安装成功之后, 输入  mod_wsgi-express module-config 输出的信息很重要,这里是python的安装信息和mod_wsgi安装信息,待会在配置项目的时候,会用到。到这里mod_wsgi安装完成。

D:\alltools>mod_wsgi-express module-config
LoadFile "D:/Python/Python36/python36.dll"
LoadModule wsgi_module "D:/Python/Python36/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "D:/Python/Python36"

 3.配置项目信息

又回到conf/httpd.conf文件,添加自己的项目的配置信息

#配置 mod_wsgi 模块,就是上边mod_wsgi的配置信息.
LoadFile "D:/Python/Python36/python36.dll"
LoadModule wsgi_module "D:/Python/Python36/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "D:/Python/Python36"

#指定项目的wsgi.py配置文件路径,这个py文件是在你的Django项目中
WSGIScriptAlias / D:\myproject\pycode\pro_dj\pro_dj\wsgi.py

#指定项目目录, 即你的Django项目路径
WSGIPythonPath D:\myproject\pycode\pro_dj
<Directory D:\myproject\pycode\pro_dj\pro_dj>
<Files wsgi.py>
Require all granted
</Files>
</Directory>

#项目静态文件地址, 即Django项目中静态文件的路径
Alias /static D:\myproject\pycode\pro_dj\statics
<Directory D:\myproject\pycode\pro_dj\statics>
AllowOverride None
Options None
Require all granted
</Directory>

#项目media地址, 上传图片等文件夹的路径
Alias /media D:\myproject\pycode\pro_dj\media
<Directory D:\myproject\pycode\pro_dj\media>
AllowOverride None
Options None
Require all granted
</Directory>

 

DEBUG = False
TEMPLATE_DEBUG = False

ALLOWED_HOSTS = ["*"]
# STATICFILES_DIRS = [os.path.join(BASE_DIR, 'statics')] 这个一定要注释掉,否则项目启动不起来,这是调试的时候,静态文件的查找目录。 STATIC_ROOT = os.path.join(BASE_DIR,'statics') # 解决dubug关闭之后,静态资源访问不到的问题

  5.项目启动

之前我们通过python manage.py runserver 这种方式启动项目,现在我们不再通过这种凡是启动项目了,而是通过apache来启动

在 bin目录下运行cmd命令httpd -k install -n “服务名” (不加参数,默认Apache2.4),将apache注册成windows的服务,就不再需要通过bin目录下的httpd.exe来启动了

D:\Apache24\bin>httpd -k install
Installing the 'Apache2.4' service
The 'Apache2.4' service is successfully installed.
Testing httpd.conf....
Errors reported here must be corrected before the service can be started.

D:\Apache24\bin>net start Apache2.4 Apache2.4 服务正在启动 . Apache2.4 服务已经启动成功。

运行apache:net start apache2.4

停止apache:net stop apache2.4

删除apache:sc delete Apache2.4

 

到这里,服务就启动完成了,我们就可以通过设置的ip和端口,访问我们的网站了,当然,第一次启动会慢一点。

 

 

 

 

 

mod_wsgi-express module-config

标签:httpd,wsgi,项目,windows,django,apache,mod
From: https://www.cnblogs.com/lhg37927/p/17511501.html

相关文章

  • django缓存的使用
    缓存:可以把django中的一个变量(数据),存放到某个位置,下次还可以取出来之前用过:默认放在:内存中,其实可以放在文件中,数据库,redis。。。。fromdjango.core.cacheimportcachecache.set('key','value',5)#存放值res=cache.get('key')#取值通过配置,控制存放在哪,只要如下写,就会......
  • 虚拟机中安装Windows系统
    一、虚拟机中安装Windows系统第一步新建虚拟机选择典型安装选择稍后安装操作系统选择Windows10系统安装选择虚拟机文件的安装位置调整硬盘大小稍后设置硬件配置编辑虚拟机硬件内存处理器,网络适配器,最后配置光驱配置光驱,记住勾选启动时连......
  • windows 搭建flutter开发环境
    前言我的电脑是windows的,根据flutter实战所说,windows下安装flutter同时也要安装android,所以windows下的flutter开发环境搭建就包含两部分,安装flutter和安装androidstudio。设置flutter环境变量linux如下设置exportPUB_HOSTED_URL=https://pub.flutter-io.cnexportFLUTTER_STORA......
  • windows配置时间服务器 linux配置从windows同步时间
    背景两台服务器,其中windows能够联网,linux不能联网windows为windowsserver2016linux为centos7配置windows时间服务配置HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config,找到Config目录,双击Config目录下的AnnounceFlags,将值调整为5配置HKEY_LOCAL_MACH......
  • 二、Windows11平台下Visual Studio 2022配置32位汇编环境
    1.下载VisualStudio20222.安装选择工作负载3.创建新项目3.1选择空项目模板3.2填写项目名称和解决方案项目名称:实际项目名称解决方案名称:一个解决方案下可以管理多个项目,并且可以选择一个项目为启动项目,当点击运行与调试后,就会启动被选择为启动项目的项目3.3实......
  • 如何正确删除无法删除的windows系统文件
    需要两个步骤,且步骤严格按照1、2先后顺序。【删除系统文件,本地或者重新插入的盘,该操作存在风险,建议非必须勿操作】1、更改文件所有者授权为当前管理员账户:需要递归,则在以下命令后增加/R选项递归:takeown/f文件或文件夹/A2、修改管理员权限,增加所有的权限,包括读、写、修......
  • Java ssh 访问windows/Linux
    工作中遇到的问题:Javacode运行在一台机器上,需要远程到linux的机器同时执行多种命令。原来采用的方法是直接调用ssh命令或者调用plink的命令。google下java的其他ssh方法,发现有个包。具体介绍如下:GanymedSSH2forJavaisalibrarywhichimplementstheSSH-2protocolinpure......
  • python的django框架开发简单的管理系统(一)
    写在最前面:博主现在大二,也不是名校。刚刚接触电脑的时候,装个虚拟机都能搞崩溃。WPS甚至不知道怎么保存,以为发文件的之前关闭,文件就没了。一把辛酸泪啊读者们不必妄自菲薄。废话少说,直接开始。准备:安装python解释器提供3.10,3.9.3.11。尽量选3.9或者3.10:链接:https://pan.baidu.com......
  • Python全栈工程师(42:Web框架Django步骤)
    1.创建Django工程django-adminstartproject工程名2.创建appcd工程名pythonmanage.pystartappcmdb3.静态文件project.settings.pySTATICFILES_DIRS = (  'static'),      ) 4.模板路径TEMPLATE_DIRS = (  'templates'),      ) 5.settings中middlerwa......
  • 创建django项目
    一、python基本信息python版本:3.8Django版本:2.2django:python写web网站的最好用的框架,mtv框架pip:python自带的包管理工具,管家pip安装一个第三方包:pipinstall包名==版本(pipinstalldjango==2.2)pip卸载:pipuninstall包名pip查看所有包:piplist终端命令行:pythonpytho......