由于须要在服务器下运行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
打开浏览器输入,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 也能够建立工程,看我的电脑的状况而定,两个命令能够都试一下。
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端口
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>
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. 登陆测试
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、