前言:

因为需要在服务器下运行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、

Django 部署(Apache下)的更多相关文章

  1. Windows环境下,将Django部署到Apache Web Server

    在Windows上部署Django(用mod_wsgi)会出现各种奇怪的问题,现简单记录下配置过程及遇到的错误及解决方法. 环境搭建                                   ...

  2. mac osx 上面部署Django项目 apache+mysql+mod_wsgi

    1.安装Xcode command line tools 首先,编译mysql和Homebrew需要用到Xcode command line tools,所以首先安装command line tool ...

  3. Django部署到Apache Web Server

    Windows环境下,将Django部署到Apache Web Server 在Windows上部署Django(用mod_wsgi)会出现各种奇怪的问题,现简单记录下配置过程及遇到的错误及解决方法. ...

  4. Django: 之Apache、Nginx部署以及发送邮件

    在这里讲述部署的方法和常见的问题,并给出了在BAE,JAE,SAE等上面部署的实例. Django + nginx + Gunicorn/uwsgi部署方式,参见另一篇:Django部署(nginx) ...

  5. Django Windows环境下部署

    环境准备 本文将介绍如何在Windows系统上部署Django web项目,本次部署基于下面的架构: Windows10 64位+Python3.6+Django1.11+Apache2.4+mod_ ...

  6. django部署到apache上(非常重要的,3者版本要一致,是32位就都要是32位的)

    网上把django部署到apache的文章挺多的,但是按照大家的操作,并没有一次就成功,还是遇到了一些问题,这里主要有以下几个情况. 1.网上找到的mod_wsgi的版本问题,导致动态库加载不上. 2 ...

  7. Apache Spark技术实战之8:Standalone部署模式下的临时文件清理

    未经本人同意严禁转载,徽沪一郎. 概要 在Standalone部署模式下,Spark运行过程中会创建哪些临时性目录及文件,这些临时目录和文件又是在什么时候被清理,本文将就这些问题做深入细致的解答. 从 ...

  8. CentOS 5系统安装Django、Apache 、mod_wsgi部署Python环境教程

    Django,是一款针对Python环境的WEB开发框架,能够帮助我们构架快捷.简单的WEB框架设置,Django框架非常适合开发内容应用环境,所以在本文中,麦子将整理基于Centos系统部署安装Dj ...

  9. Apache Spark源码走读之15 -- Standalone部署模式下的容错性分析

    欢迎转载,转载请注明出处,徽沪一郎. 概要 本文就standalone部署方式下的容错性问题做比较细致的分析,主要回答standalone部署方式下的包含哪些主要节点,当某一类节点出现问题时,系统是如 ...

随机推荐

  1. 如何使用github,简单教程

    前期准备:先行设置SSH KEY(请看我之前发的关于设置添加SSH的文章) 直接上命令: clone 已有仓库到身边的开发环境中 git clone git@github.com:<yourna ...

  2. 使用jq获取文字的宽度

    获取字符串的长度很简单,但是如何获取一个字符串的字体宽度却是一个不太好操作的问题,今天查阅了许多资料,终于找到了解决方法: 1.首先,需要添加一个标签,HTML代码如下: <body> & ...

  3. oracle修改用户密码

    1.使用oracle用户登录,连接数据库 [oracle@wuzj ~]$ sqlplus /nolog SQL*Plus: Release 10.2.0.1.0 - Production on Th ...

  4. 程序记录2(设置MapID)

    try{ INIT_PLUG I_MongoDB* i = NEW(MongoDB); /*[注] 若自定义错误消息的数组长度必需指定为MAX_ERROR_SIZE*/ //char errmsg[M ...

  5. 3698: XWW的难题[有源汇上下界最大流]

    3698: XWW的难题 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 354  Solved: 178[Submit][Status][Discus ...

  6. 【转】SignalR来做实时Web聊天

    本章和大家分享的内容是使用Signal R框架创建个简易的群聊功能,主要讲解如何在.Net的MVC中使用这个框架,由于这个项目有官方文档(当然全英文),后面也不打算写分享篇了,主要目的是让朋友们在需要 ...

  7. puppeteer部署到centOS上出现launch chrome fail的情况

    在Mac上调试无问题,放到阿里云上运行会报错. 需要先安装依赖, yum install pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 lib ...

  8. zipline目录结构

    下面列出了zipline主要的目录和文件结构和它的说明 ├── ci - 持续集成相关 ├── conda - 生成conda 包相关 ├── docs - 文档 │ ├── notebooks - ...

  9. Oulipo----poj3461(kmp模板)

    题目链接:http://poj.org/problem?id=3461 和 减花布条 的题对比一下: 求s2中s1的个数kmp模板: #include<stdio.h> #include& ...

  10. windows 下 方便工作的bat文件批处理命令

    1.删除目录下 不包含某串字符的文件: @echo offfor /f "delims=" %%a in ('dir /s /a-d/b *.mp3') do ( echo &qu ...