windows10+apache2.4+python3.6部署Django2.2.4项目

   2023-02-09 学习力0
核心提示:刚从家回来,老师让写专利,就开始准备写,初稿交给老师后,把我说了一顿,我就想着回去改呀,然后。。。老师找到了我,说是食品院那急需一个展示数据的平台,然我尽快干出来,我也是菜鸟啊,就没单独干过呀,即使是一个展示数据,上一次的海底捞的还是师兄搭

刚从家回来,老师让写专利,就开始准备写,初稿交给老师后,把我说了一顿,我就想着回去改呀,然后。。。老师找到了我,说是食品院那急需一个展示数据的平台,然我尽快干出来,我也是菜鸟啊,就没单独干过呀,即使是一个展示数据,上一次的海底捞的还是师兄搭好框架,我们在上面改的,也遇到了不少坑,详见我的github:http://JadenFK.github.io

还好前几天就在GitHub上下载了一个Django的开源项目,实现了登陆注册功能,这个也只需要改改就好了呀,然后又找了免费的前端的bootstrap框架写的前端代码,我自己整合的,然后修改一下啊,比自己从头写快多了哈哈,然后就开发呀,数据展示我用的ajax取的数据,前台延用的免费框架用的DataTable框架,画图也是延用:chart.js

一切基本实现了后,得部署啊,让外网能访问啊,前面我也弄过我们实验室搭建过的网站,海底捞用到的服务器是tomcat,php的网站用的是wamp(Apache+Mysql/MariaDB+Perl/PHP/Python)服务器,而一个c#写是直接部署到了Windows server 2008R2的IIS服务器上,其他的海底捞、php等项目都是在其基础上改不同的端口以供外网访问。wamp是把php项目其文件夹www下,并且设置端口即可,设置数据库连接,tomcat也可以打包成var包放进去,然后设置端口监听(我还没试过,只是在tomcat设置监听端口,然后在TP-LINK,虚拟服务器上给与其端口),在IntelliJ idea上直接运行项目即可(运行环境配置也要设置端口和本机ip,这个也和我这次的django部署相关,也不知道我理解的对不对,反正django这么做的是行了,以后我觉得也会有真相大白的一天)

首先找到的是UWSGI+Nginx,https://blog.csdn.net/u013156691/article/details/83688810,了解了后才知道UWSGI是Linux系统用的,但是也在此感谢博主

我想部署的是Windows,于是接着找啊,准备用apache+一个插件mod_wsgi,感谢以下博主
https://www.cnblogs.com/shenh/p/7552722.html     https://blog.csdn.net/bibuying/article/details/78532427

但是又一次碰到了揪心的事啊,真是。。。。。就是坑的很难受,好吧,停止难受,开始叙述我的难受的经历吧

首相我参考了好多博主写的博客,可能是由于我的环境配置比较乱,然后都没成功

首先我步骤直接参考了博客:https://www.cnblogs.com/shenh/p/7552722.html,最后就是不知道哪的原因,反正外网访问不了,也有可能我一直非正常关闭httpd.exe,还有可能我环境配置比较乱,我可是一直改一直改,甚至httpd.conf中的斜杠\和反斜杠/我都改来改去,都不行啊。。。。。。然后就把我同们叫来了啊,直接用Django自带的服务器设置的,尼玛,这都行,反正是能访问了,只用了一句命令行:python managel.py runserver 0.0.0.0:8009,监听端口直接在这个地址后面写了就行,我还在忙着部署到apache上。。。搞了一天多,真是醉了,以为万事大吉了,就给导师说啊,结束了,都挺高兴,结果坑来了,访问速度超级慢,打开网页慢的要死要死的

这就很揪心啊,导师来找了,让看看为啥,不知道是谁说了一句,服务器,我和我同门就吭哧吭哧的捣鼓服务器啊,以为Django自带的服务器的性能的原因,又重新捣鼓apache

我同门捣鼓了一下午也够够的,没弄明白,但是活还得继续啊,得上线让人家看啊,不能这么慢啊,我就开始继续弄apache,这时候还没走到正轨上来

我就严格按照博主:https://www.cnblogs.com/wcwnina/p/9974642.html 的步骤来做,python3.6.8换成3.6.4,还要配置环境变量,因为笔记本上还装了Ancona,自带python3.7,系统又默认使用最新的版本,我就修改系统默认使用python的版本啊,有好多博主说修改python.exe的名称什么的,太麻烦了我就不想试,结果找到了好的解决方案,即https://www.cnblogs.com/JadenFK3326/p/11426560.html 就是修改系统变量中python的路径,修改到最上面即可

然后安装apache,安装mod_wsgi-4.5.24+ap24vc14-cp36-cp36m-win_amd64.whl

输入命令:mod_wsgi-express module-config

得到一下三行代码,用来代替有的博客所说的mod_wsgi-py36-VC14.so

LoadFile "d:/python36/python36.dll"
LoadModule wsgi_module "d:/python36/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "d:/python36"

然后修改Apache24\conf\httpd.conf

  Define SRVROOT "D:/Apache24"    # D:/Apache24即apache的安装路径

  Listen 8009  # 监听端口,即外网要用的端口

  ServerName fdl.cau.edu.cn:8009    #服务器名,也可以是IP地址,即我们TP-LINK赋予8009端口的IP

博主还说要在windows\System32\drivers\etc\hosts设置解析即 TP-LINK赋予8009端口的IP也是本机ip  fdl.cau.edu.cn 如:127.0.0.1 fdl.cau.edu.cn

然后就是往httpd.conf中添加内容了,

首先把上面的三行加上

接着

WSGIScriptAlias / "D:/YakMilk/bigdata/wsgi.py"   #项目的Web Server Gateway Interface,web服务网关接口路径

WSGIPythonPath "D:/YakMilk/"    #项目根路径


<Directory "D:/YakMilk/bigdata">  # 项目web服务网关接口路径,设置其权限
<Files wsgi.py>
Require all granted
</Files>
</Directory>

Alias /static "D:/YakMilk/static"    # 项目静态文件路径及权限配置,有的博客没加,下面的meta的路径及配置,此博主加了,我没加,因为没用到
<Directory "D:/YakMilk/static">
AllowOverride None
Options None
Require all granted
</Directory>

还有的博主加了其他的配置及权限,请根据自己实际情况添加即可

然后设置项目的初始的项目的settings.py文件中的允许的主机,此博主设置的是*,但是实际中没有这么干的,设置要用的主机Ip及域名即可

ALLOWED_HOSTS = ['TP-LINK赋予8009端口的IP,即本机ip', 'fdl.cau.edu.cn']

博主说的启动服务器首先要安装服务器,在apache24根目录下打开cmd,运行 httpd -k install -n 即可安装成功

然后通过net start apache2.4   net stop apache2.4启动和停止服务器,也可以通过右击我的电脑->管理->服务与应用程序->服务,选择apache2.4右键启动,我的出现下面的问题

windows10+apache2.4+python3.6部署Django2.2.4项目

就是很尬,解决不了,我就一直sc delete apache2.4、httpd -k install -n,就是删除服务,安装服务,不行,又重启了计算机,接着删除服务、安装服务,竟然某一次启动行了

启动了服务器后还是访问不了啊,查看错误日志,就是缺包

windows10+apache2.4+python3.6部署Django2.2.4项目

咦,我明明装了包呀,才发现安装mod_wsgi-4.5.24+ap24vc14-cp36-cp36m-win_amd64.whl时装到了python的直接环境下,我pycharm上的环境是继承的直接环境,然后在项目下虚拟化的一个

windows10+apache2.4+python3.6部署Django2.2.4项目

所以就缺什么包再装一遍了,如下,先更新pip,这里没用python -m pipinstall --upgrade pip,我这出问题了

windows10+apache2.4+python3.6部署Django2.2.4项目

windows10+apache2.4+python3.6部署Django2.2.4项目

 

然后启动服务器后,博主说可以访问了,好多博主也这么说,但是我的就是访问不了,这也到了我前面说的"我不知道理解的对不对”的那了,我用pycharm运行项目,且得编辑配置,或许有可能把django项目打包放到apache服务器某个文件下才行,我没试

加上host名和端口,然后运行,并且启动apache2.4服务器才能运行,否则少了哪一个都不行,这和以前用IntelliJ idea 部署海底捞项目一样,就这样我认为本项目用来apache服务器,若有错误请指出呀,在此感谢各位大神

windows10+apache2.4+python3.6部署Django2.2.4项目

好了,也使用好了apache服务器,但是网速还是没起来,就因为某个人提到了服务器,我的想法就限制到了服务器上,偶尔见去按F12,查看浏览器加载时间,发现了一个内鬼:

<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet">

这个玩意加载时花费了17s,对,你没看错,17秒,其他的都是几十ms,这好像是一个字体样式,还是Google的,最近老美又限制我们,不知道Google解除了没,因为啥,就是没加载出来,发现也没用到,就注释了,然后问题解决,慢也快了。。。。。。。。。。。。

真实,难受了一下午及一晚上,就是憋屈,怎么就限制到了服务器不行上去了,谁提了一句,明明正常思路,显示F12调试,查看为啥慢,好吧,如果没有此问题,我还没有学会部署apache呢,对应apache的部署也会不了了之,这也有好处,俗话说,祸兮福相依。

 

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • Apache80端口被占用解决办法
    Apache80端口被占用解决办法
    1. win+R,输入 cmd,打开命令行窗口2. 命令行输入netstat -ano3. 找到80端口及对应进程 4. 在任务管理器中的进程处查看与上述80端口对应的PID相同的进程,并关闭。如果没有PID,选择“查看”--"选择列"--勾选“PID”。4. 关闭进程。如果进程为上述系统服务,
    03-08
  • Hadoop中mapreduce运行WordCount程序报错Error:
    这个问题是因为map的方法参数与继承mapper定义的参数类型不一致导致的,应该将Mapper的key参数类型设置成Object,就可以解决这个问题 
    03-08
  • 使用 Apache Hudi 实现 SCD-2(渐变维度)
    使用 Apache Hudi 实现 SCD-2(渐变维度)
    数据是当今分析世界的宝贵资产。 在向最终用户提供数据时,跟踪数据在一段时间内的变化非常重要。 渐变维度 (SCD) 是随时间推移存储和管理当前和历史数据的维度。 在 SCD 的类型中,我们将特别关注类型 2(SCD 2),它保留了值的完整历史。 每条记录都包含有
    03-08
  • 一个用 Python 分析 Apache 日志的故事
    一个用 Python 分析 Apache 日志的故事
    介绍不久前,公司里有人告诉我“我想知道 Apache 的访问日志是否可以用来做一些事情”。数据分析,Apache,发文章,我是初学者,写的不好请见谅。访问日志分析导入模块我正在使用以下模块。# データの処理import pandas as pdimport numpy as np# グラフ表示i
    03-08
  • [转]用apache反向代理解决单外网ip对应内网多个
    用apache反向代理解决单外网ip对应内网多个web主机的问题  转载一个有独立外网IP,需内网服务器对外发布的例子,是应用apache虚拟主机的。来源地址:http://www.itshantou.com/Servers/web/06/10/44219.html    几年前开始在学校的服务器上建网站,那时
    02-10
  • Apache service named reported the following
    apache启动失败报错:The Apache service named reported the following error: AH00451: no listening sockets available, shutting down . The Apache service named reported the following error: (OS 10055)由于系统缓冲区空间不足或队列已满,不能执行
    02-10
  • struts布局管理---SiteMesh一个优于Apache Tile
    1. SiteMesh的基本原理       一个请求到服务器后,如果该请求需要sitemesh装饰,服务器先解释被请求的资源,然后根据配置文件 获得用于该请求的装饰器,最后用装饰器装饰被请求资源,将结果一同返回给客户端浏览器。 2. 如何使用SiteMesh    这里以st
    02-10
  • linux 安装 apache2.2.31
     Linux下安装和配置Apache 概要:本文介绍在CentOS5.4 Linux中安装和配置Apache2.2.14,并且实现Apache和Tomcat6的整合。文章分为三部分,分别是删除系统自带的Apache、安装Apache2.2.14和配置Apache2.2.14。 文章中介绍的知识也可以在其它版本的Linux中
    02-10
  • Apache CXF使用Jetty发布WebService
    Apache CXF使用Jetty发布WebService
    一、概述Apache CXF提供了用于方便地构建和开发WebService的可靠基础架构。它允许创建高性能和可扩展的服务,可以部署在Tomcat和基于Spring的轻量级容器中,也可以部署在更高级的服务器上,例如Jboss、WebSphere或WebLogic。 CXF提供了以下功能:WebService
    02-10
  • apache下ab.exe使用方法。。 apache ab工具
    自己在cmd中写了半天的路径也没有写对。。最后网上的一个哥们告诉我说没有共同语言了。。。毛线啊 差距确实很大!大能猫死panda早晚干掉你,叫你丫整天嘲讽我!比如我的ab.exe在D盘的wamp文件夹下apache文件夹下bin文件夹下。那么在cmd中可以这么写:"D:\wamp
    02-10
点击排行