django部署到Apache踩过的坑

1.找不到mod_wsgi.so

部分教程只是说需要在Apache 的配置文件httpd.conf 中写 LoadModule wsgi_module modules/mod_wsgi.so
实际上这个modules/mod_wsgi.so 需要我们自己安装,并做相应修改

安装方法参考:这是其他大佬写的
以上方法如果安装不成功,就使用以下链接下载压缩文件,解压后使用setup.py文件安装
https://files.pythonhosted.org/packages/b6/54/4359de02da3581ea4a17340d87fd2c5a47adc4c8e626f9809e2697b2d33f/mod_wsgi-4.9.0.tar.gz

2.配置文件httpd.conf 修改好后,访问不到django项目

这是我犯傻了,将配置内容写到了其他封闭标签中,注意不要将内容写道其他配置项的子内容中啊!!

3.django安装完成后,访问不到一些项目文件

这里的问题不是访问不到静态资源。访问不到静态资源如css,js,html模板文件的问题前期摸索django 开发模式和生产模式的区别的时候已经解决了。就是需要配置STATIC_ROOT
我的views.py 中的视图中使用了一些文件,这些文件写的是相对路径,将这些路径修改为绝对路径就可以了

	app_dir = os.path.dirname(__file__)
    # line_path = 'mycharts/render/tabledata/charts_%s.html' % table_name.split('.')[1]
    # 部署到apache服务器后需要使用绝对路径
    line_path = os.path.join(app_dir,'render/tabledata/charts_%s.html' % table_name.split('.')[1])

同时菜鸟的我也了解到,sys.path 是用来搜索模块的,而不能用来搜索文件,所以不要使用sys.path.append(app_dir)的方式来增加文件搜索路径

先到这里吧

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值