CentOS下Apache+Python+Django+Wsgi环境搭建
2012-03-10 12:44
871 查看
CentOs下Apache+Python+Django+mod_wsgi环境搭建
前言:由于对linux系统的不了解,装软件什么的总是喜欢用yum命令,结果这次在搭建环境下吃了大亏。网上文章大多是使用mod_python来搭建的,这个只支持到python2.5,现在需要使用python2.7,只好选择mod_wsgi,貌似mod_wsgi的处理效率还要更高一些。
1. 安装环境:
CentOs版本: CentOs5.7
Python版本: Python2.7
Apache版本: Httpd2.2
Django版本: Django1.1
Mod_wsgi版本: Mod_wsgi-3.2-1.el5.x86_64.rpm
2. 软件安装:
2.1 安装Apache:
一般服务器系统会自带Apache,如果没有可以使用yum安装一下:
yum –y install httpd(httpd-2.2.3-53.el5.centos.1.x86_64.rpm) |
2.2 安装Python2.7:
一般linux系统会自带Python,一般是2.4版本的,我们需要重新安装,这里注意,不要使用yum安装,而要用源码编译的方法安装,不然下面在配置之后会出错。
tar -xvf Python-2.7.tar.bz2 cd Python-2.7 ./configure --enable-shared 这里一定要注意,解压完之后要设置enable-shared make make install |
安装好之后可以执行:# python 查看python是否安装成功,这里可能会遇到错误:
错误: /usr/local/lib/python2.7/config/libpython2.7.a: could not read symbols: Bad value collect2: ld returned 1 exit status apxs:Error: Command failed with rc=65536 这是因为安装python的时候,没有 ./configure --enable-shared 加上后重新编译,然后运行python, 遇到错误: python: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or 解决方案: 新建下面文件 vim /etc/ld.so.conf.d/python2.7.conf 加入内容: /usr/local/lib 保存退出后运行: ldconfig 再次执行 python,问题成功解决。 |
2.3 安装Django:
Django的安装比较简单,和windows下一样
tar xzvf Django-1.1.tar.gz cd Django-1.1 sudo python setup.py install |
安装完之后,执行命令:
# python >>>import django >>>django.VERSION |
2.4 安装wsgi
下载wsgi模块,注意要下载linux版本的
http://code.google.com/p/modwsgi/downloads/detail?name=mod_wsgi-3.3.tar.gz&can=2&q=
安装 mod_wsgi 之前先安装apache的apxs扩展:
yum install httpd_devel 这个时候有可能发现yum命令用不了,提示:No module named yum 原因是yum命令依赖python2.4,现在用了2.7之后,yum命令就用不了了,解决方法如下: vim /usr/bin/yum 将 #!/usr/bin/python 修改为 #!/usr/bin/python2.4 |
安装完httpd_devel之后,开始安装mod_wsgi:
./configure --with-python=/usr/local/bin/python2.7 make make install |
3 配置
3.1 配置apache:
Apache的配置文件在: /etc/httpd/conf/httpd.conf
添加: LoadModule wsgi_module modules/mod_wsgi.so |
这个非常重要,哥哥就是吃这个亏吃大了,调试了一个下午,没结果,各种蛋疼啊。
然后在配置文件中,添加:
NameVirtualHost *:8080 Listen 192.168.145.139:8080 <VirtualHost *:8080> ServerName www.abc.com WSGIScriptAlias / /var/www/html/LTFS_VLA/setting.wsgi DocumentRoot /var/www/html/LTFS_VLA <Directory /> Options FollowSymLinks AllowOverride Order allow,deny Allow from all </Directory> <Directory /var/www/html/LTFS_VLA/setting.wsgi> AllowOverride None Order Allow,Deny Allow from all <Files setting.wsgi> Allow from all </Files> </Directory> Alias /ltfs "/var/www/html/LTFS_VLA" <Directory "/var/www/html/LTFS_VLA"> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> Alias /admin_media "/usr/local/lib/python2.7/site-pacages/django/conftrib/admin/media" <Directory "/usr/local/lib/python2.7/site-pacages/django/conftrib/admin/media"> Order allow,deny Options Indexes Allow from all IndexOptions FancyIndexing </Directory> </VirtualHost> |
3.2 配置wsgi:
根据上面的配置,在/var/www/html/LTFS_VLA/ 目录下,创建setting.wsgi文件,内容如下:
import os import sys sys.stdout=sys.stderr from os.path import abspath,dirname,join from django.core.handlers.wsgi import WSGIHandler sys.path.insert(0,abspath(join(dirname(__file__),"./"))) os.environ["DJANGO_SETTINGS_MODULE"] = "gui.settings" application=WSGIHandler() |
4 调试
开启apache服务
Service httpd restart |
以上就是基本的配置过程,
相关文章推荐
- Python2.7 Django1.8 CentOS7 Apache2.4 mod_wsgi4.4.21 环境下部署
- GOOD centos + apache + mod_wsgi + python2.6 + django web环境搭建
- linux+django+apache+mod_wsgi+eclipse+python2.7 环境的搭建
- apache2.2+django1.6.5+python34+mod_wsgi3.5环境搭建
- 在Windows上搭建Django+python+apache+wsgi
- Django+Apache+mod_wsgi阿里云环境搭建(一)
- python&Django&mariadb&Apache&mod_wsgi 环境部署
- centos7.2下搭建python web框架Django环境资料
- centos搭建Apache+mod_wsgi+Django环境
- Mac下搭建Django+XAMPP(Mysql+Apache)+Python网站开发环境
- Apache+MySQL+Python+Django在Windows下环境搭建指南
- Centos6.5搭建Django-1.8.3+mod_wsgi+Apache环境
- Django + Apache + wsgi配置和环境搭建(ubuntu)
- 最新版windows 2012R2、Apache24、mod_wsgi、Django1.9、python3.4项目部署(生产环境)
- Linux+Django+Python+Wsgi配置过程 Linux下配置Apache+Mod_Wsgi+Django环境 部署django项目
- 搭建Apache+mod_wsgi+python+flask+virtualenv网站正式环境
- Ubuntu中Apache,Django,wsgi环境搭建
- Django+apache+python+mod_python的环境搭建
- Django+apache+python+mod_python的环境搭建
- CentOS+nginx+uwsgi+Python+django 环境搭建