windows10+apache2.4+python3.6部署Django2.2.4项目
刚从家回来,老师让写专利,就开始准备写,初稿交给老师后,把我说了一顿,我就想着回去改呀,然后。。。老师找到了我,说是食品院那急需一个展示数据的平台,然我尽快干出来,我也是菜鸟啊,就没单独干过呀,即使是一个展示数据,上一次的海底捞的还是师兄搭好框架,我们在上面改的,也遇到了不少坑,详见我的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右键启动,我的出现下面的问题
就是很尬,解决不了,我就一直sc delete apache2.4、httpd -k install -n,就是删除服务,安装服务,不行,又重启了计算机,接着删除服务、安装服务,竟然某一次启动行了
启动了服务器后还是访问不了啊,查看错误日志,就是缺包
咦,我明明装了包呀,才发现安装mod_wsgi-4.5.24+ap24vc14-cp36-cp36m-win_amd64.whl时装到了python的直接环境下,我pycharm上的环境是继承的直接环境,然后在项目下虚拟化的一个
所以就缺什么包再装一遍了,如下,先更新pip,这里没用python -m pipinstall --upgrade pip,我这出问题了
然后启动服务器后,博主说可以访问了,好多博主也这么说,但是我的就是访问不了,这也到了我前面说的"我不知道理解的对不对”的那了,我用pycharm运行项目,且得编辑配置,或许有可能把django项目打包放到apache服务器某个文件下才行,我没试
加上host名和端口,然后运行,并且启动apache2.4服务器才能运行,否则少了哪一个都不行,这和以前用IntelliJ idea 部署海底捞项目一样,就这样我认为本项目用来apache服务器,若有错误请指出呀,在此感谢各位大神
好了,也使用好了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的部署也会不了了之,这也有好处,俗话说,祸兮福相依。
windows10+apache2.4+python3.6部署Django2.2.4项目的更多相关文章
- win10,python3.6,django2.0.3,项目基本命令
1.django-admin startproject project_name(创建项目) 2.python manage.py startapp appname(创建应用) 3.python ma ...
- 使用 apache2 + `mod_proxy_uwsgi` + uwsgi + upstart 部署
使用 apache2 + mod_proxy_uwsgi + uwsgi + upstart 部署 网上运行 python wsgi 的应用时,大部分的资料都是使用 nginx .uwsgi ,很少资 ...
- apache2+django+virtualenv 服务器部署实战
目录 基本配置 配置python环境 安装 python.pip 安装 virtualenv 配置python虚拟环境 配置 apache2 安装 apache2 安装 mod-wsgi 服务 部署d ...
- Django:Python3.6.2+Django2.0配置MySQL
持续学习Django中... Django默认使用的数据库是python自带的SQLlite3,但SQLlite并不适用于大型的项目,因此我将数据库换成了MySQL,下面介绍下Django如何配置数据 ...
- 自己用到的解决Python3.6.5+Django2.0集成xadmin后台点击添加或者内容详情报 list index out of range 的错误的办法如下:
Python3.6.5 Django2.0 这是Django版本与xadmin兼容的问题 解决办法如下: 注释掉如下代码: def render(self, name, value, attrs=No ...
- Django:Python3.6.2+Django2.0配置MySQL 转载
Django默认使用的数据库是python自带的SQLlite3,但SQLlite并不适用于大型的项目,因此我将数据库换成了MySQL,下面介绍下Django如何配置数据库... 我使用的版本是:Py ...
- nginx代理部署Vue与React项目
nginx代理部署Vue与React项目 一,介绍与需求 1.1,介绍 Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务.Nginx是由 ...
- Red5 1.0.0RC1 集成到tomcat6.0.35中运行&部署新的red5项目到tomcat中
1.下载red5-war-1.0-RC1.zip 解压之得到 ROOT.war 文件. 2.处理tomcat. 下载apache-tomcat-6.0.35-windows-x86.zip包,解压到你 ...
- 部署点评Cat监控项目(转)
原文地址:http://www.bubuko.com/infodetail-986338.html 在项目中监控代码运行的状况,可以采用点评的Cat项目来监控整个项目,但是按照官方的文档来部署cat, ...
随机推荐
- bugku-Web 求getshell
求getshell 上传一个png文件发现提示My name is margin,give me a image file not a php 然后也尝试上传php文件,但是依然不行,这里显然对文件类 ...
- 51Nod 1067 Bash博弈V2
这道题告诉我,一定要去尝试,去推算,不要动不动就找度娘要答案.(惭愧惭愧) 既然是博弈问题,按理我们应该找出规律,怎么找呢,推,把前几项写出来找规律,动手很重要. 上题: 1067 Bash游戏 V2 ...
- ArchLinux安装Gnome桌面
给Arch安装Gnome桌面美化及常用软件配置 一.创建普通用户 1.安装zsh 个人比较喜欢的一个shell,你们可以和我不同 # pacman -S zsh 2.创建用户 kain是我创建用户的名 ...
- POJ 1325 && 1274:Machine Schedule 匈牙利算法模板题
Machine Schedule Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 12976 Accepted: 5529 ...
- JZOJ823PJ-C, TG-B
分身打两场比赛 PJ - C 翻车 T1 原题, 考虑蚂蚁相撞时其实不用管. 然后写个取左右max, 左右min的即可 翻车: 注释freopen后JZOJ不会提示!(大翻车--丢了300分) T2 ...
- EF Core开发模式之Code First
Code First顾名思义,代码为先.首先编写完相关的实体类及DbContext派生类,然后通过映射关系自动在数据库中完成数据库表的创建. 本例中创建一个班级和学生的管理,主要有班级类MyClass ...
- winform 集成 log4net
1.引入库log4net.dll 2.展开项目文件下的Properties文件夹,打开AssemblyInfo.cs并在AssemblyInfo.cs中添加一行:在AssemblyInfo.cs中添加 ...
- sersync配置
只记录了自己的操作步骤,详细信息也可以参考https://www.cnblogs.com/sellsa/p/5345092.html 安装sersync 将sersync安装包解压后会有两个配置文件 ...
- csv文件——简单读操作01
转载:https://www.py.cn/spider/advanced/14381.html import csv with open('C:\\Users\\del\\Desktop\\123.c ...
- 小程序Java多次请求Session不变
微信小程序每次请求的sessionid是变化的,导致对应后台的session不一致,无法获取之前保存在session中的openid和sessionKey. 为了解决这个问题,需要强制同意每次小程序前 ...