【问题标题】:Deploy Django 2.0 on Apache 2.2 at ubuntu 12.04在 ubuntu 12.04 的 Apache 2.2 上部署 Django 2.0
【发布时间】:2018-06-26 04:08:20
【问题描述】:

我的环境:

ubuntu 12.04 / python3.6.4 / django 2.0 / apache 2.2.22

我想在 apache 上部署 newsite

我关注了django official

我想部署在

www.domainname.com/newsite/

我的 httpd.conf

<Directory /home/usr/project_name/project_name>
    <Files wsgi.py>
      Order deny,allow
      Deny from all
    </Files>
</Directory>
WSGIDaemonProcess site python-path=/home/usr/site
WSGIProcessGroup site
WSGIScriptAlias /newsite/  /home/usr/project_mame/project_name/wsgi.py

如果我在 python-home 中添加我的虚拟环境,我无法通过 configtest

我浏览 127.0.0.1 它显示 apache 'It works' 页面

但是 127.0.0.1/newsite 我刚刚得到了 403 禁止

日志:客户端被服务器配置拒绝:xxxxxx/xxxxxx/wsgi.py

【问题讨论】:

  • 请注意,Ubuntu 12.04 已结束生命周期,不会收到安全更新。
  • 我公司还在用 12.04 ..... :'(

标签: python django apache ubuntu


【解决方案1】:

试试:

<VirtualHost *:9002>

        ServerName complete_hostname #result of hostname -f

        WSGIDaemonProcess Django_project_name python-path=/var/www/html/Django_project_name
        WSGIProcessGroup Django_project_name 
        WSGIScriptAlias / /var/www/html/Django_project_name/Django_project_name /wsgi.py

        <Directory /var/www/html/Django_project_name/Django_project_name >
        <Files wsgi.py>
                Require all granted               
        </Files>
        </Directory>    
</VirtualHost>

如果您使用的 Apache 版本早于 2.4,请将 Require all granted 替换为 Allow from all 并在其上方添加行 Order deny,allow

【讨论】:

  • 如果用于开发 'eg.com' 可以替换为 127.0.01?
  • 没有。检查hostname -f 并写而不是eg.com
  • 我有虚拟环境,需要设置python-homne吗?
  • 当我设置 python-home=/home/shinsoft/newsite/virtual_env Apache 说“WSGI 守护进程定义的选项无效”
  • @LJC 感谢您接受我的回答。看来它解决了你的问题:)
猜你喜欢
  • 2014-12-02
  • 2015-08-04
  • 2021-08-07
  • 2014-04-11
  • 2016-02-26
  • 2015-02-19
  • 2017-08-11
  • 2014-04-10
  • 2015-01-27
相关资源
最近更新 更多