运行单个项目的步骤参考:这里

1 安装环境

操作系统:Ubuntu 12.04 LTS 32 位(安装在VMware虚拟机中)

python 版本:

Python 2.7.3

Django版本

>>> django.VERSION
(1, 6, 2, 'final', 0)

mod_wsgi版本

 mod_wsgi3.x

apache版本及查看命令

x@x:~/program$ /usr/sbin/apachectl -v    (版本查看命令)
/usr/sbin/apachectl: 87: ulimit: error setting limit (Operation not permitted)
Server version: Apache/2.2.22 (Ubuntu)
Server built: Mar 19 2014 21:10:40

2 配置

①修改port.conf

x@x:/etc/apache2$ sudo vim ports.conf 

添加以下代码 :

NameVirtualHost *:8080

Listen 8080

NameVirtualHost *:80
Listen 80 # add you code here for multiple Django code
NameVirtualHost *:8080
Listen 8080

② 新建两个Django项目

我新建的项目的目录是   x@x:~/program/django$   (这个目录可以自定) 

django-admin.py startproject mywork
django-admin.py startproject mywork1
├── mywork
│   ├── apache (后加的)
│   │   └── django.wsgi (后加的)
│   ├── manage.py
│   ├── mywork
│   │   ├── __init__.py
│   │   ├── settings.py
│   │   ├── urls.py
│   │   └── wsgi.py
│   └── static (后加的)
├── mywork1
│   ├── apache (后加的)
│   │   └── django.wsgi (后加的)
│   ├── manage.py
│   ├── mywork1
│   │   ├── __init__.py
│   │   ├── settings.py
│   │   ├── urls.py
│   │   └── wsgi.py
│   └── static (后加的)
└── UserWeb.tgz

③ 修改httpd.conf 文件

x@x:/etc/apache2$ sudo vim httpd.conf

添加如下代码

# add code for multiple Django projects run in Apache
#LoadModule wsgi_module modules/mod_wsgi.so
#setting for Django projedt1 ****
<VirtualHost *:80>
ServerName 127.0.0.1
DocumentRoot /home/x/program/django/mywork
Alias /admin_media /usr/local/lib/python2.7/dist-packages/django/contrib/admin/static
<Directory "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/static">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory> WSGIScriptAlias / /home/x/program/django/mywork/apache/django.wsgi
<Directory /home/x/program/django/mywork>
Order deny,allow
Allow from all
</Directory>
<Directory /home/x/program/django/mywork/apache>
Allow from all
</Directory> <Location "/static/">
#配置静态文件,网站中所有静态文件的路径为"/static/xxxx"
SetHandler None
</Location>
</VirtualHost> <VirtualHost *:8080>
ServerName 127.0.0.1
DocumentRoot /home/x/program/django/mywork1
Alias /admin_media /usr/local/lib/python2.7/dist-packages/django/contrib/admin/static
<Directory "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/static">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory> WSGIScriptAlias / /home/x/program/django/mywork1/apache/django.wsgi
<Directory /home/x/program/django/mywork1>
Order deny,allow
Allow from all
</Directory>
<Directory /home/x/program/django/mywork1/apache>
Allow from all
</Directory> <Location "/static/">
#配置静态文件,网站中所有静态文件的路径为"/static/xxxx"
SetHandler None
</Location>
</VirtualHost>

④在Django项目中添加文件夹及文件

在项目文件根目录下添加

目录apache  和static

并在apache中新建文件django.wsgi

文件目录如下:

├── mywork
│   ├── apache
│   │   └── django.wsgi
│   ├── manage.py
│   ├── mywork
│   │   ├── __init__.py
│   │   ├── settings.py
│   │   ├── urls.py
│   │   └── wsgi.py
│   └── static
├── mywork1
│   ├── apache
│   │   └── django.wsgi
│   ├── manage.py
│   ├── mywork1
│   │   ├── __init__.py
│   │   ├── settings.py
│   │   ├── urls.py
│   │   └── wsgi.py
│   └── static

mywork/apache/  中的django.wsgi文件如下

import os, sys

sys.path.append('/home/x/program/django/mywork')

os.environ['DJANGO_SETTINGS_MODULE'] = 'mywork.settings'
os.environ['PYTHON_EGG_CACHE'] = '/tmp' import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
#print >> sys.stderr, sys.path

mywork1/apache/  中的django.wsgi文件如下

import os, sys

sys.path.append('/home/x/program/django/mywork1')

os.environ['DJANGO_SETTINGS_MODULE'] = 'mywork1.settings'
os.environ['PYTHON_EGG_CACHE'] = '/tmp' import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
#print >> sys.stderr, sys.path

⑤重启apache服务器,访问Django项目

sudo service apache2 restart

通过ip地址访问即可

127.0.0.1:80
127.0.0.1:8080

如图所示

参考文章

1  ubuntu下部署django+apache2+mod_wsgi(配置多个站点)

2 Linux下安装apache,配置mod_wsgi,运行Django项目(挺详细的)

【Django】Apache上运行多个Django项目的更多相关文章

  1. 【Django】Apache上运行单个Django项目,mod_wsgi配置

    1 安装环境 操作系统:Ubuntu 12.04 LTS 32 位(安装在VMware虚拟机中) python 版本: Python 2.7.3 Django版本 >>> djang ...

  2. 在传统.NET Framework 上运行ASP.NET Core项目

    新的项目我们想用ASP.NET Core来开发,但是苦于我们历史的遗产很多,比如<使用 JavaScriptService 在.NET Core 里实现DES加密算法>,我们要估计等到.N ...

  3. Genymotion上运行ARM架构Android项目

    问题 Genymotion是x86的模拟器,在集成一些第三方的SDK时需要添加一些放在armeabi.armeabi-64文件夹下面的.so文件,这些文件在arm架构下才能运行.这时模拟器就不能用了. ...

  4. apache 上配置多个django工程

    我的环境是win7+python2.7.8+django1.6.4+apache2.2 废话不多说,直接进入正题: 下载对应的版本的mod_wsgi.so 第一步:添加mod_wsgi.so(记得对应 ...

  5. [Django] Window上通过IIS发布Django网站

    网上的教程坑实在多,以下是本人亲测通过的: 需要解决的问题: 1.使用 python manage.py runserver 来运行服务器,只适用测试环境中使用,正式发布的服务,需要一个可以稳定而持续 ...

  6. 在lnmp1.3布置的web服务器上运行thinkphp3.2.3项目pathinfo路径模式

    通过我的经历希望能给大家带来一些帮助: 我是在Linux系统上通过https://lnmp.org/install.html设置Nginx服务器,使用的是lnmp1.3版本,之后将一个thinkphp ...

  7. django搭建完毕运行显示hello django

    1.使用pycharm打开工程,进入工程配置解释器路径 2.视图和url 视图:处理我们从业务的地方,可以理解为函数 url:进行路由匹配的地方,先在主工程bookpro中进行匹配,如果匹配ok,那么 ...

  8. 本机运行.net 2.0项目报错,解决方案

    本机在iis上运行.net 2.0项目时,报以下错误“请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理”: 本机环境配置: 安装有以下几个.net 版本:v1.0.3705,v1.1.4322 ...

  9. 【DSP开发】【计算机视觉】EMCV:可在DSP上运行的OpenCV

    EMCV:可在DSP上运行的OpenCV EMCV项目主页: http://sf.net/projects/emcv EMCV全称为Embedded Computer Vision Library,是 ...

随机推荐

  1. OpenGL的学习与认识

    OpenGL: Open Graphics Library 一套三维图形处理库,也是该领域的工业标准.是一个定义了一个跨编程语言,跨平台的编程接口规格的专业的图形程序接口.它用于三维图像(二维的亦可) ...

  2. 翻译:Knockout 快速上手 - 5: 你需要知道的顶级特性 续

    Utilities Knockout 提供了许多可以你开发中使用的工具,你可以在 ko.utils 命名空间中找到它们,我最喜欢的工具如下所示: extend: 这个方法将两个对象合并在一起,调用这个 ...

  3. android softinput 相关

    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN | WindowManager.Layo ...

  4. worker启动executor源码分析-executor.clj

    在"supervisor启动worker源码分析-worker.clj"一文中,我们详细讲解了worker是如何初始化的.主要通过调用mk-worker函数实现的.在启动worke ...

  5. BZOJ3613 南园满地堆轻絮-二分法

    http://www.lydsy.com/JudgeOnline/problem.php?id=3613 //话说BZOJ终于修好了... Description 小 Z 是 ZRP(Zombies' ...

  6. java中List Set Map使用

    @Test         public void run()        {                              ArrayList<String> list= ...

  7. haproxy配置文件简单管理

    版本:python3功能:对haproxy配置文件进行简单的查询.添加以及删除功能操作流程:1.根据提示选择相应的选项2.进入所选项后,根据提示写入相应的参数3.查询功能会返回查询结果,添加.删除以及 ...

  8. 【Struts 2】Struts2环境搭建

    一.关键步骤 1.创建Java Web项目 2.引入Struts2的依赖包,将依赖包拷贝到WEB-INF/lib下 * commons-logging-1.0.4.jar * freemarker-2 ...

  9. 对像转成 和 byte 互转类库方法

    using System; using System.IO; using System.Runtime.Serialization; using System.Runtime.Serializatio ...

  10. ArrayList总结

    ArrayList 1.extends AbstractList 实现List<E>->Collection<e>->Iterable,RandomAccess,S ...