尝试win10-django-apache-wsgi两天时间终于部署成功

我卡在这里

其他内容我就先忽略了,都是按照网络各种文章攻略来的。这里直接说关键点。我最后就是卡在了wsgi.py文件的设置上面。其中的路径不能按其他攻略写的,都没用,要按这个文章的来!
https://blog.csdn.net/mmmmsunshine/article/details/78781215
我的是这么写的:

import os
import sys

from django.core.wsgi import get_wsgi_application
root_path= os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
sys.path.insert(0,root_path)
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'learningLog.settings')
application = get_wsgi_application()

settings.py的修改,不知道是否必须

按其他攻略,做了如下修改

DEBUG = False
TEMPLATE_DEBUG = False
ALLOWED_HOSTS = ["*"]

httpd.conf文件改动的地方很多,有些也不知道有没有用

listen 8078
WSGIPythonPath D:\Apache24\htdocs\learningLog\venv\Lib\site-packages
<VirtualHost *:8078>
  ServerName blog_analysic
  WSGIScriptAlias / D:/Apache24/htdocs/learningLog/learningLog/learningLog/wsgi.py
  
  <Directory D:/Apache24/htdocs/learningLog/learningLog/learningLog/>
     <Files wsgi.py>
       Require all granted
     </Files>
  </Directory>
  
   Alias /static D:/Apache24/htdocs/learningLog/learningLog/web/static
  <Directory D:/Apache24/htdocs/learningLog/learningLog/web/static>
    Require all granted
  </Directory>
  
   DocumentRoot D:/Apache24/htdocs/learningLog
  <Directory D:/Apache24/htdocs/learningLog>
        Options Indexes FollowSymLinks
		AddHandler wsgi-script .py
		Options ExecCGI
        AllowOverride All
        Require all granted  
  </Directory>
</virtualhost>

LoadFile "c:/program files/python37/python37.dll"
LoadModule wsgi_module modules/mod_wsgi.pyd
WSGIPythonHome "c:/program files/python37"

我在弄的时候发现按其他教程安装完mod_wsgi后,硬盘里实际并没有mod_wsgi.pyd文件。这个太特么坑爹了。然后就从安装包里解压了这个文件出来。
另外还有一点就是我原来想在xampp里的apache里搞,但每次写下面任何一句时,apache就无法启动。最后还是只好另外安装单独的apache。

LoadFile "c:/program files/python37/python37.dll"
    LoadModule wsgi_module modules/mod_wsgi.pyd
    WSGIPythonHome "c:/program files/python37"

过程中还根据错误提示怀疑是权限问题就在上面添加了,Options ExecCGI,也不知道是不是必须的。
AddHandler wsgi-script .py这句可能是增加对py文件的支持,不知道是不是必须的,后面其实也有一句是相同功能。
经过尝试上面3句都不能改,也不能改到虚拟程序的scripts里,不知道教程里教虚拟venv还有没有用

启动一些模块,但我怀疑可能不需要

按这个文章,我开启了一些模块,但我觉得可能不是必须的,mark一下
https://www.cnblogs.com/onlyou13/p/10472779.html

可能要开启cgi

按这个文章:
https://blog.csdn.net/believe646875970/article/details/53924854
相应在httpd.conf文件里添加了对py文件的支持,不知道是不是必须的
AddHandler cgi-script .cgi .pl .py

其他

我在运行两个相同app,一个通过apache,一个通过powershell,发现登录一个,另一个就登录不了。
补充:之前部署其实只是半成功,管理界面里一编辑字段就出错,提示static没有注册,试了很多方法都不成功。只好先把这个问题放一放。部署后运行过一次collectstatic,当时是搜集了1百多文件。后来在备份的原程序(部署前的)里collectstatic,结果收集有上千的文件,说明部署后再收集静态文件会漏很多。因此我尝试部署前收集静态文件,再部署,这次管理界面里的字段可以编辑了。算是完全成功了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值