Django 部署(Apache下)

前言:

由于须要在服务器下运行python脚本,因此须要搭建Django服务器。因此将本身的学习过程也记录下来,方便往后查阅。python

本文环境以下:apache

   Ubuntu 16.04  python2.7django

   Apache2.4ubuntu

   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版本号app

apachectl -v

结果以下:python2.7

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

3. 测试apache

打开浏览器输入,127.0.0.1

显示Apache安装成功。

四、若是没有安装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、

相关文章
相关标签/搜索