前言:

因为需要在服务器下运行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. 或者 pip install Django==1.10.

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

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

>>> import django
>>> django.VERSION
(, , , 'final', )
>>>
>>> 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 

浏览器测试

7.更改端口

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

sudo vi /etc/apache2/ports.conf

添加如下:

NamevirtualHost *:
Listen

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

7.1. 添加网站配置文件

sudo vi /etc/apache2/sites-available/mysite.conf
<VirtualHost *:>
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、

最新文章

  1. Windows 10 安装SVN 不显示状态图标--解决方法
  2. Git(进击学习:远程仓库操作)-V3.0
  3. fping tcping hping nmap nc
  4. WebSocket简单介绍
  5. 如何将你自己的Python package发布到PyPI上
  6. Android工具:延展图片NinePatch
  7. php 添加 redis 扩展模块
  8. message from server: &quot;Host &#39;xxx&#39; is not allowed to connect to this MySQL server的解决
  9. UILabel设置富文本格式显示
  10. pat 抢红包
  11. Java容器:Set
  12. ubuntu16.04安装opencv3.4.0
  13. InnoSetup 客户端程序打包教程
  14. line-height:150%与line-height:1.5的区别
  15. linux audit审计(8)--ausearch搜索audit日志文件
  16. javascript变量作用域 全局及局部
  17. Android 上传文件到 FTP 服务器
  18. C/C++中int128的那点事
  19. error C4996: &#39;GetVersionExW&#39;: 被声明为已否决
  20. 部署ovf模板,突然出现用户取消任务。

热门文章

  1. 配置使用TargetFrameworks输出多版本类库
  2. 自己制作一个链表用来存储列表信息,并查找当前id信息,找上一条信息,下一条信息(信息浏览的时候方便使用)
  3. C语言逻辑运算符
  4. jquery 判断ul下是否存在li
  5. jqGrid排序的两种实现方式
  6. 160503、onunload、onbeforeunload事件详解
  7. Hibernate的调用数据库的存储过程
  8. However, a general purpose protocol or its implementation sometimes does not scale very well.
  9. 使用JavaMail发送邮件,465端口开启ssl加密传输
  10. Zipline Data Bundles