• Django 部署(Apache下)


    前言:

    因为需要在服务器下运行python脚本,所以需要搭建Django服务器。所以将自己的学习过程也记录下来,方便日后查阅。

    本文环境如下:

       Ubuntu 16.04  python2.7

       Apache2.4

       Django1.8

    正文:

    下面是ubuntu上的部署详细步骤:

    1. 安装 apache2 和 mod_wsgi

    sudo apt-get install apache2
     
    # 如果是Python 2 执行如下
    sudo apt-get install libapache2-mod-wsgi
     
    # 如果是Python 3 执行如下
    sudo apt-get install libapache2-mod-wsgi-py3

    2. 确认安装的apache2版本号

    apachectl -v

    结果如下:

    root@ygh:/var/www/mysite# apachectl -v
    Server version: Apache/2.4.18 (Ubuntu)
    Server built:   2016-04-15T18:00:57

    3. 测试apache

    打开浏览器输入,127.0.0.1

    显示Apache安装成功。

    4、如果没有安装Django环境,安装过程如下:

    如果是学习,可以选择目前的 Django 1.8.x 来进行,是个稳定版本

    4.1. 用 pip 来安装

    4.1.1 需要先安装pip

    (1). ubuntu: 

    sudo apt-get install python-pip

    (2). Fedora:

    yum install python-pip

    利用 pip 安装 Django

    sudo) pip install Django
    或者 (sudo) pip install Django==1.8.16 或者 pip install Django==1.10.3

    我自己使用的命令是:pip install Django==1.8.16

    终端上输入 python ,点击 Enter,进行 python 环境

    >>> import django
    >>> django.VERSION
    (1, 8, 16, 'final', 0)
    >>> 
    >>> django.get_version()
    '1.8.16'

    如果运行后看到版本号,就证明安装成功了

    5.创建django工程

    Apache下的项目一般会放在/var/www/下,如果你想自己修改目录,需要修改配置文件,因为自己为了简化操作,没有修改。

    cd /var/www/
    
    sudo django-admin.py startproject mysite

    一般使用 django-admin startproject mysite 也可以创建工程,看个人电脑的情况而定,两个命令可以都试一下。

    6. 测试django工程

    cd mysite

    采用8000端口,并在本地运行:

    sudo python manage.py runserver 8000

    浏览器测试

    7.更改端口

    因为需要将Apache和Django进行绑定,所以需要将端口更改为它们共有的。

    sudo vi /etc/apache2/ports.conf

    添加如下:

    NamevirtualHost *:8888
    Listen 8888

    表示VirtualHost *:8888的虚拟主机监听8888端口

    7.1. 添加网站配置文件

    sudo vi /etc/apache2/sites-available/mysite.conf
    <VirtualHost *:8888>      
        DocumentRoot /var/www/mysite/mysite      
        <Directory /var/www/mysite/mysite>          
            Order allow,deny          
            Allow from all      
        </Directory>      
      
    WSGIScriptAlias / /var/www/mysite/mysite/wsgi.py
    </VirtualHost> 

    8. 更改django工程

    sudo vi /var/www/mysite/mysite/wsgi.py

    添加如下:

    import sys
    sys.path.append("/var/www/mysite/")

    9. 配置生效

    sudo a2ensite mysite.conf

    有时候需要不使能配置

      sudo a2dissite mysite.conf

    然后需要 apache服务重启

    sudo service apache2 restart
    或
    sudo service apache2 reload

    10. 登录测试

    127.0.0.1:8888

    11. 创建app测试
    cd /var/www/mysite/
    
    python manage.py startapp blog
    
    sudo vi blog/views

    插入如下代码:

    from django.shortcuts import render
    
    from django.http import HttpResponse
    
    # Create your views here.
    def index(request):
        return HttpResponse("hello ygh")

    然后修改网络地址文件

    sudo vi mysite/urls.py
    from django.conf.urls import url
    from django.contrib import admin 
    
    from blog import views
    
    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        url(r'^$', views.index),
    ]

    浏览器测试

    这样就将Django和Apache绑定,可以部署到服务器上了。

    =====================================================

    2017.3.21补充:

    因为项目需要,在Apache的默认文件夹/var/www/不方便项目的迁移,要将其他文件下项目部署到服务器上,所以解决了取消默认文件夹的问题,解决方案如下:

    首先进入配置文件:

    gedit /etc/apache2/apache2.conf

    然后修改如下内容:

    <Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
    </Directory>
    改为如下内容:
    <Directory />
        Options Indexes FollowSymLinks
        AllowOverride None
        #Require all denied
    </Directory>

    在其下添加如下内容:

    <Directory /opt/deep_ocr/python/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>
    /opt/deep_ocr/python/是我自己的目录,修改完成,这时可以指定/opt/deep_ocr/python/为你的项目目录。
    完成!

                                          by still、

  • 相关阅读:
    如何在eclipse+pydev运行scrapy项目
    QT下发布APP 文件(Mac)
    QT调用python脚本
    Python-Mac 安装 PyQt4-转
    <转载>在Sublime Text 2/3 中使用Git插件连接GitHub
    python+Eclipse+pydev环境搭建
    [codeforces1270G]Subset with Zero Sum 数学 建图
    [计算机网络]学习笔记
    [ubuntu] VMware Tools 安装详细过程与使用 ——主机和ubuntu虚拟机之间的文本和文件传递
    [codeforces1221D] Make The Fence Great Again dp
  • 原文地址:https://www.cnblogs.com/ygh1229/p/6586523.html
Copyright © 2020-2023  润新知