Centos6.5 django项目apache部署。
2017-03-14 15:21
423 查看
原文:http://www.cnblogs.com/yestreenstars/p/5949037.html
CentOS+Apache+mod_wsgi+Python+Django
前言
网上有关的教程千篇一律,都是无脑抄,自己都不验证一遍就直接复制,毫无意义,我通过官方文档和自己摸索,总结了一套教程。Django自带Web服务功能,但那只是方便开发调试,生产环境中一般将Django搭配Apache使用,mod_wsgi是用来沟通Django和Apache的桥梁。
本教程需要下载的文件都是直接通过官网下载的,我已将本教程所用到的文件打包上传到云盘,有需要的童鞋可以直接下载:
http://pan.baidu.com/s/1pLD7vVP
环境说明
操作系统:CentOS 6.7 64-bit
安装基础环境
yum -y install gcc make wget
安装Python
安装Python
yum -y install zlib-devel openssl-develwget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz
tar xzf Python-2.7.12.tgz
cd Python-2.7.12/
./configure --prefix=/usr/local/python CFLAGS=-fPIC
make && make install
cd ../
备注:不安装zlib-devel的话,在安装setuptools时会报错。不安装openssl-devel的话,在安装django时会报错。不加CFLAGS=-fPIC参数,安装mod_wsgi时会报错。
将Python加入环境变量
在/etc/profile文件末尾添加以下内容:export PATH=/usr/local/python/bin:$PATH
然后使配置文件生效:
. /etc/profile
安装setuptools
wget https://pypi.python.org/packages/6b/dd/a7de8caeeffab76bacf56972b3f090c12e0ae6932245abbce706690a6436/setuptools-28.3.0.tar.gz tar xzf setuptools-28.3.0.tar.gz cd setuptools-28.3.0/ python setup.py install cd ../
安装pip
wget https://pypi.python.org/packages/e7/a8/7556133689add8d1a54c0b14aeff0acb03c64707ce100ecd53934da1aa13/pip-8.1.2.tar.gz tar xzf pip-8.1.2.tar.gz cd pip-8.1.2/ python setup.py install cd ../
安装Apache
安装apr
wget http://apache.fayea.com/apr/apr-1.5.2.tar.bz2 tar xjf apr-1.5.2.tar.bz2 cd apr-1.5.2/ ./configure make && make install cd ../
安装apr-util
wget http://apache.fayea.com/apr/apr-util-1.5.4.tar.bz2 tar xjf apr-util-1.5.4.tar.bz2 cd apr-util-1.5.4/ ./configure --with-apr=/usr/local/apr/ make && make install cd ../
安装pcre
yum -y install gcc-c++ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.bz2 tar xjf pcre-8.39.tar.bz2 cd pcre-8.39/ ./configure --prefix=/usr/local/pcre make && make install cd ../
备注:不安装gcc-c++的话会报错。
安装httpd
yum -y install perl wget http://apache.fayea.com/httpd/httpd-2.4.23.tar.bz2 tar xjf httpd-2.4.23.tar.bz2 cd httpd-2.4.23/ ./configure --prefix=/usr/local/httpd --with-pcre=/usr/local/pcre make && make install cd ../
备注:不安装perl的话,安装mod_wsgi时会报错。
将Apache加入环境变量
在/etc/profile文件末尾添加以下内容:export PATH=/usr/local/httpd/bin:$PATH
然后使配置文件生效:
. /etc/profile
安装mod_wsgi
wget https://pypi.python.org/packages/28/a7/de0dd1f4fae5b2ace921042071ae8563ce47dac475b332e288bc1d773e8d/mod_wsgi-4.5.7.tar.gz tar xzf mod_wsgi-4.5.7.tar.gz cd mod_wsgi-4.5.7/ ./configure --with-apxs=/usr/local/httpd/bin/apxs --with-python=/usr/local/python/bin/python make && make install chmod 755 /usr/local/httpd/modules/mod_wsgi.so cd ../
(新增)注意:安装是如果报错error while loading shared libraries:libpython2.7.so.1.0:,需要重新编译安装python并添加--enable-shared参数,安装完之后python可能无法使用,需要在/etc/ld.so.conf中加入新行/usr/local/lib,保存后,运行
/sbin/ldconfig,运行/sbin/ldconfig –v查看
安装Django
wget https://pypi.python.org/packages/8a/09/46f790104abca7eb93786139d3adde9366b1afd59a77b583a1f310dc8cbd/Django-1.10.2-py2.py3-none-any.whl pip install Django-1.10.2-py2.py3-none-any.whl
安装MySQLdb(选做)
yum -y install mysql-devel pip install MySQL-python
备注:因为我的Django程序用的是MySQL数据库,所以我需要安装这个包。
配置Django
将你开发好的Django程序上传到服务器,我这里上传到/wwwroot/目录,下面这个树形图就是我的Django程序的结构:这里面有个文件特别关键,能否正常运行就看它了,它就是wsgi.py,下面是我的文件的内容,供读者参考:
import sys sys.path.append('/wwwroot/OMMS') import os from django.core.wsgi import get_wsgi_application os.environ.setdefault("DJANGO_SETTINGS_MODULE", "OMMS.settings") application = get_wsgi_application()
注意:前两句需要自己添加,如果没有这两句,你的程序就不能正常运行了,后面的是Django自动生成的。
配置Apache
启用虚拟主机配置文件
编辑/usr/local/httpd/conf/httpd.conf文件,找到下面这句并取消注释:#Include conf/extra/httpd-vhosts.conf
在一堆以LoadModule开头的段落下添加一行:
LoadModule wsgi_module modules/mod_wsgi.so
修改虚拟主机配置文件
编辑/usr/local/httpd/conf/extra/httpd-vhosts.conf文件,将原来的配置全部注释掉(已经注释过的就不用再注释了),然后在末尾添加以下内容:<VirtualHost *:80> DocumentRoot "/wwwroot/OMMS/OMMS" WSGIScriptAlias / "/wwwroot/OMMS/OMMS/wsgi.py" <Directory "/wwwroot/OMMS/OMMS"> AllowOverride All Require all granted </Directory> </VirtualHost>
注意:读者请根据自己的程序修改其中的路径。
启动Web服务并测试
通过以下命令启动Apache服务:apachectl start
相关文章推荐
- CentOS 7 + Apache + mod_wsgi 部署Django项目
- centos6.3下apache2.4.4+mod_wsgi+django部署记录
- windows下apache部署django项目个人总结(备查)
- 阿里云服务器Centos6.5 部署SVN实现多项目管理
- centos7 apache httpd安装和配置django项目
- Ubuntu 13.04 Django 项目部署Apache +WSGI.
- CentOS 6.5 Python 2.6.6+Flask 用wsgi方式部署在Apache 2.2.15下
- Apache部署django项目
- django1.77+mod_wsgi+python2.79+apache2.24 在阿里云centos部署攻略
- Linux+Django+Python+Wsgi配置过程 Linux下配置Apache+Mod_Wsgi+Django环境 部署django项目
- 在Apache上部署Django项目,初步
- Apache mod_wsgi部署Django项目
- Apache部署django项目
- 部署django项目到apache
- Apache部署Django项目
- django开发个人简易Blog—nginx+uwsgin+django1.6+mysql 部署到CentOS6.5
- CentOS系统下Apache负载均衡、Tomcat集群以及项目热部署配置
- django1.6 apache 项目部署.
- windows下apache部署django项目个人总结(备查)
- centos 6.5 下用apache部署web 应用