发布django项目到apache上的详细配置
Ps:以下内容参照:
http://man.ddvip.com/linux/debian/apache2/
http://www.51testing.com/html/10/9810-214211.html
1、为下面软件安装的方便首先装一个新版的包管理器aptitudesudo apt-get install aptitude
2、安装apache服务器首先是安装,在ubuntu下面可以使用新立得软件包管理器进行安装,也可以自己下载apache源码安装。比较简单的是第一种方法:
sudo apt-get install apache2 apache2-utils 然后启动apache服务sudo /etc/init.d/apache2 start打开浏览器,然后在地址栏输入http://localhost/来测试apache是否安装完成。如果看到:It works的页面则成功。 关闭apache服务为:sudo /etc/init.d/apache2 stop 3、安装apxs2这是为了在apache中使用Loadingmodule功能,该模块在apache2-prefork-dev中:
sudo aptitude install apache2-prefork-dev
安装完成后检查apxs2的位置:
xuq@xuq-dev-machine:~$ whereis apxs2
apxs2: /usr/bin/apxs2 /usr/share/man/man8/apxs2.8.gz
则安装成功
2、安装mod_wsgi首先下载mod_wsgi源码:
Wget http://staging-metrictool.eng.vmware.com/svn/metrictool/intallation/mod_wsgi-3.2.tar.gz
然后解压后cd到该目录。运行(两个参数分别为/usr/bin/apxs2和/usr/bin/python2.6,该参数根据具体情况更改)
./configure --with-apxs=/usr/bin/apxs2--with-python=/usr/bin/python2.6
然后make
然后sudomake install
如果中间无错误出现则安装成功
3、apache和wsgi配置找到apache的根目录,笔者的是在/etc/apache2/,编辑里面的httpd.conf添加:
LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so
WSGIScriptAlias / "/home/xuq/metric_tool/django.wsgi"
<Directory "/home/xuq/metric_tool">
Order Deny,Allow
Allow from all
</Directory>
其中绿色部分为刚才安装的mod_wsgi.so的位置,黄色部分为具体的项项目下面的django.wsgi配置文件的位置,该文件的配置等下下面介绍。紫色部分为项目路径。上面路径均需要根据具体的情况更改。
找到项目源文件,即metric_tool下面,建立django.wsgi文件,内容为:
import os, sys
WSGI_FILE = os.path.abspath(__file__)
APACHE_DIR = os.path.dirname(WSGI_FILE)
PROJ_DIR = os.path.dirname(APACHE_DIR)
TOP_DIR = os.path.dirname(PROJ_DIR)
sys.path.append(TOP_DIR)
sys.path.append(PROJ_DIR)
os.environ['PYTHON_EGG_CACHE'] = '/tmp/python-eggs'
os.environ['DJANGO_SETTINGS_MODULE'] = 'metric_tool.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
上面黄色背景部分为项目配置文件。
最后重启apache服务器,sudoservice apache2 restart
然后,打开浏览器,输入http://your_ip即可看到页面!