ubuntu apache2 wsgi 部署django

入题 分为以下几步 html

1.安装pythonpython

2.安装djangoapache

3.安装wsgi,若有问题请参照上一篇 ubuntu 编译安装 mod_wsgidjango

4.与apache集成这里主要讲这部分ubuntu

  环境apache 2.4.7 高于此版本适用于此 若是版本不一样能够参考此配置,可是出现问题能够尝试其余浏览器

  1.在apache的模块里添加wsgiapp

    我这里是在 /etc/apache2/mods-available添加文件ide

    wsgi.load 内容以下:post

    LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so网站

  2.sudo a2enmod wsgi

    此步提示 mod_wsgi 不存在

    网上搜索之获得答案以下:

    执行:sudo apt-get install libapache2-mod-wsgi

    再次执行sudo a2enmod wsgi

    这时候因为我手动新建文件了 会提示是否覆盖选择是就能够了 这个时候在mods-available 时候会增长两个文件wsgi.load 与wsgi.conf

  3.配置wsgi

    

"""
WSGI config for testdjproject project.

It exposes the WSGI callable as a module-level variable named ``application``.

For more information on this file, see
https://docs.djangoproject.com/en/1.6/howto/deployment/wsgi/
"""

import os
import sys
path = '/usr/bin/testdjproject'
if path not in sys.path:
    sys.path.append('/usr/bin/testdjproject')
    sys.path.append('/usr/bin/testdjproject/testdjproject')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "testdjproject.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

这里须要将网站路径添加至系统路径里。可能出现的错误以及疑点以下

      1.No module named testdjproject.settings 这个错误是因为在下文配置的wsgi.py里面没有将路径添加进去 致使找不到这个模块

      2.要在setting.py里添加对127.0.0.1以及localhost的访问以下:

        ALLOWED_HOSTS = ['127.0.0.1','localhost']

      3.为何这里是 testdj.setting这个与网站名称同样的

      4.路径后面必定要准确 不须要的参数就不要加了

  4.配置apache2

    因为我这个其余网站是在000-default的 为了拿出来 方便排查 新建了django.conf 

    内容以下:

    

<VirtualHost *:90>
    Alias /media/ /usr/bin/testdjproject/media/
    <Directory /usr/bin/testdjproject/media/>
        #Order deny,allow
        #Allow from all
        Require all granted
    </Directory>
    WSGIScriptAlias / /usr/bin/testdjproject/testdjproject/wsgi.py
    #WSGIPythonPath /usr/bin/testdjproject/testdjproject 
    <Directory /usr/bin/testdjproject/testdjproject>
        Options FollowSymLinks
#AllowOverride all
### Order deny,allow
### Deny from all
#Order allow,deny
#Allow from all
#Satisfy all
    #    options -MultiViews
Require all granted
        <Files wsgi.py>
            Order deny,allow
            Allow from all
        </Files>
    </Directory>
</VirtualHost>

 这里有几个问题 1.若是配置完成以后提示 client denied by server configuration:这时候可能与Require all granted 有关能够本身排查

         2.Invalid command 'WSGIScriptAlias' 提示这个 也就是wsgi模块没有安装正确 请参照上述

         3.WSGIScriptAlias / /usr/bin/testdjproject/testdjproject/wsgi.py 这个文件是新建的在网站根目录下设置便可

         4.注意wsgi.py的权限,若是权限不对也会出错,这时候查看apache2的错误日志就能够 我这里是/var/log/apache2/error.log

  5.重启apache 打开浏览器 就会出现你以前开发好的页面啦至此一切正常。不必定能匹配全部错误,若是有问题请仔细看日志再作。开始也是安装好以后什么都没有,原来是忘记加监听端口了这一步仍是不能少  Listen 89

相关文章
相关标签/搜索