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. 或者 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下)的更多相关文章
- Windows环境下,将Django部署到Apache Web Server
在Windows上部署Django(用mod_wsgi)会出现各种奇怪的问题,现简单记录下配置过程及遇到的错误及解决方法. 环境搭建 ...
- mac osx 上面部署Django项目 apache+mysql+mod_wsgi
1.安装Xcode command line tools 首先,编译mysql和Homebrew需要用到Xcode command line tools,所以首先安装command line tool ...
- Django部署到Apache Web Server
Windows环境下,将Django部署到Apache Web Server 在Windows上部署Django(用mod_wsgi)会出现各种奇怪的问题,现简单记录下配置过程及遇到的错误及解决方法. ...
- Django: 之Apache、Nginx部署以及发送邮件
在这里讲述部署的方法和常见的问题,并给出了在BAE,JAE,SAE等上面部署的实例. Django + nginx + Gunicorn/uwsgi部署方式,参见另一篇:Django部署(nginx) ...
- Django Windows环境下部署
环境准备 本文将介绍如何在Windows系统上部署Django web项目,本次部署基于下面的架构: Windows10 64位+Python3.6+Django1.11+Apache2.4+mod_ ...
- django部署到apache上(非常重要的,3者版本要一致,是32位就都要是32位的)
网上把django部署到apache的文章挺多的,但是按照大家的操作,并没有一次就成功,还是遇到了一些问题,这里主要有以下几个情况. 1.网上找到的mod_wsgi的版本问题,导致动态库加载不上. 2 ...
- Apache Spark技术实战之8:Standalone部署模式下的临时文件清理
未经本人同意严禁转载,徽沪一郎. 概要 在Standalone部署模式下,Spark运行过程中会创建哪些临时性目录及文件,这些临时目录和文件又是在什么时候被清理,本文将就这些问题做深入细致的解答. 从 ...
- CentOS 5系统安装Django、Apache 、mod_wsgi部署Python环境教程
Django,是一款针对Python环境的WEB开发框架,能够帮助我们构架快捷.简单的WEB框架设置,Django框架非常适合开发内容应用环境,所以在本文中,麦子将整理基于Centos系统部署安装Dj ...
- Apache Spark源码走读之15 -- Standalone部署模式下的容错性分析
欢迎转载,转载请注明出处,徽沪一郎. 概要 本文就standalone部署方式下的容错性问题做比较细致的分析,主要回答standalone部署方式下的包含哪些主要节点,当某一类节点出现问题时,系统是如 ...
随机推荐
- iOS开发之-- 设置启动图片
一.添加启动图片 点击Assets.xcassets进入图片管理,右击,弹出"New Launch Image"或点下面的+号创建Launch Image: 如图,右侧的勾选可以让 ...
- 将java项目发布到本地的linux虚拟机上
1.首先安装虚拟机,这里就不介绍了. 2.然后要我下载了一个WinSCP用于windows和虚拟机之间的文件传输. 首先获得虚拟机的ip: 必须保持连接, 如果断开ip就是这样的 3.传输文件 将jd ...
- std__vector介绍
vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vec ...
- 1358 棋盘游戏[状压dp]
1358 棋盘游戏 时间限制: 1 s 空间限制: 64000 KB 题目等级 : 大师 Master 题解 查看运行结果 题目描述 Description 这个游戏在一个有10*10 ...
- 【BZOJ3436】小K的农场 差分约束
[BZOJ3436]小K的农场 Description 背景 小K是个特么喜欢玩MC的孩纸... 描述 小K在MC里面建立很多很多的农场,总共n个,以至于他自己都忘记了每个农场中种植作物的具体数量了, ...
- Android 全局异常处理(三)
用过安卓手机的用户以及安卓开发者们会时长碰到程序异常退出的情况,普通用户遇到这种情况,肯定非常恼火,甚至会骂一生垃圾软件,然后卸载掉.那么开发者们在开发过程中遇到这种情况给怎么办呢,当然,你不可能世界 ...
- maven 基本框架搭建
在平时的开发中还是在写blog时,在项目实例开始都会需要一遍一遍的介绍maven框架搭建,重复性的工作让我觉得烦恼,现在展现一下Java的核心思想“重复利用”,将这个重复性的描述提取出来一次性介绍,以 ...
- SignalR 循序渐进(五)多个Hub服务器下的消息订阅
SignalR的通讯方式决定了其高性能,但是即便如此,当消息的并发量上来以后,单节点的Hub服务器依然可能无法承载总的消息吞吐量,那么如何对Hub服务器做水平扩展呢? 从微软官方的文档上看,Signa ...
- 微信公众号获取用户openId How to use cURL to get jSON data and decode the data?
w http://stackoverflow.com/questions/16700960/how-to-use-curl-to-get-json-data-and-decode-the-data
- iass,pass,cass,sass,vm,container
分布式存储hdfs 大文件,swift 对象存贮. 为七牛的CDN系统目前大部分还不是自建的,采用的是整合其它CDN的方式做的.也就是说出了七牛的文件分发使用的是网宿和蓝汛的老牌CDN的分发节点,自身 ...