• ubuntu配置django


    安装

    • 安装Apache
    sudo apt-get install apache2
    sudo apt-get install libapache2-mod-wsgi

    配置

    • 在/var/www/html下创建一个项目:
    django-admin startproject testproject
    • 在项目目录中创建apache目录,并创建django.wsgi文件
    sudo mkdir apache
    cd apache
    sudo vim django.wsgi
    • django.wsgi代码如下:
    import os
    import sys
    
    path = '/var/www/html/testproject'
    if path not in sys.path:
        sys.path.append(path)
    os.environ['DJANGO_SETTINGS_MODULE'] = 'testproject.settings'
    
    from django.core.wsgi import get_wsgi_application
    application = get_wsgi_application()
    此处也可不新建这个目录和文件,直接用django自带的wsgi.py文件,不过里面要加上
    import sys
    
    path = '/var/www/html/testproject'
    if path not in sys.path:
        sys.path.append(path)
    这三行
     
    • 在/etc/apache2/apache2.conf文件末尾加载wsgi模块
    LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so
    • 创建一个新的站点
    sudo vim /etc/apache2/sites-available/testproject.conf

    testproject.conf:

    <VirtualHost *:80>
        ServerName testproject.com
        DocumentRoot /var/www/html/testproject
    
        <Directory /var/www/html/testproject>
            Order allow,deny
            Allow from all
            # 在新版Apache本中要改成 Require all granted
        </Directory>
        WSGIScriptAlias / /var/www/html/testproject/apache/django.wsgi
      Alias /static/ /var/www/html/testproject/static/ </VirtualHost>

     /static/ 为配置的静态文件,不然网站页面混乱

    • 在/etc/hosts中添加域名
    127.0.0.1 testproject.com  
    后面的网址也可以是IP ,一个IP多个网站时,每个网站就用不同的域名
    • 激活站点,重启apache
    a2ensite testproject
    sudo service apache2 reload
    有时碰到apache2.service is not active, cannot reload.
    则参考https://stackoverflow.com/questions/37464915/why-i-cant-reload-apache2-on-ubuntu

    apachectl stop
    /etc/init.d/apache2 start

    /etc/init.d/apache2 reload

    配置多个网站:
    http://blog.csdn.net/naturebe/article/details/54933844

  • 相关阅读:
    c# 发送邮件笔记(一)
    windows API(一)
    SubSonic3.0安装
    Node.js安装MongoDB驱动
    JDBC连接数据库方法
    Delphi LiveBindings如何绑定一个对象(二)(转)
    delphi RTTI机制学习(一)
    Delphi LiveBinds组件
    mysql 每个分类各取5条
    mysql in(...) 1次取出当前记录及上1条下1条记录, 且使用了主键作为索引
  • 原文地址:https://www.cnblogs.com/xqnq2007/p/7194296.html
Copyright © 2020-2023  润新知