`
famoushz
  • 浏览: 2962580 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

apache+python+mod_python+django 编译安装指南

阅读更多
1、本文将知道你在 linux 下使用源码包安装



apache 2.2.4 

python 2.5.1 

mod_python 3.3.1 

django svn trunk version 

但是,因为无法得知编译过程中得到的出错信息,故本文默认编译过程全部顺利通过,任何疑问请在文后讨论区中进行。



2、本文中介绍的命令前面的“
”仅代表命令提示符,请不要将其连同命令一起输入。



 



一、安装 apache 2.2.4



1、下载



请到



http://httpd.apache.org




下载最新的 httpd 服务器,只要版本跟 2.2.4 相差不大,就可以参考本文进行配置安装。



2、解压




 tar xvfz httpd-2.2.4.tar.gz



上面命令会在当前目录得到 httpd-2.2.4 目录,这个目录就是 apache 2.2.4 的源码目录。



对于解压命令的详细介绍,请看我的这篇文章:



Linux 文件压缩解压详解





3、Configure



编译安装源代码的过程一般都是 configure/make/make install 三步曲,apache 也遵循这个规则。



进入 httpd-2.2.4 目录:




 cd httpd-2.2.4



执行如下命令查看 configure 的帮助信息




 ./configure --help



安装的全部细节都是由 configure 以及它的参数进行控制的。



如果你刚开始尝试从源代码包安装软件,请尽快习惯 configure 之后冗长复杂的参数!



下面是我推荐的 configure 参数,它会将 apache 安装到 /opt/apache 下面,并且带所有常用的 apache Modules:




 ./configure --prefix=/opt/apache --enable-track-vars --enable-cgi --with-config-file-path=/opt/apache/conf --enable-modules=all --enable-mods-shared=all --enable-file-cache --enable-disk-cache --enable-cache --enable-mem-cache --enable-dumpio --enable-logio --enable-mime-magic --enable-headers --enable-usertrack --enable-version --enable-ssl --enable-http --enable-rewrite --enable-proxy --enable-proxy-connect --enable-proxy-http --enable-proxy-ftp --enable-proxy-ajp --enable-proxy-balancer --enable-so



当然,安装所有扩展模块意味着将 apache 功能扩展到极限,但如果你不会配置这些模块,或者置之不理,他们很可能会给你带来不必要的麻烦或者安全隐患。



4、make / make install



真正漫长的步骤开始了(我指时间上),下面命令开始编译过程:




 make



等待编译完成之后,执行:




 make install



会将 apache 安装到第三步配置的 /opt/apache 目录中。



5、配置 apache



配置 apache 的 httpd.conf 文件是一项大工程,互联网上有很多高人的文章指导你进行正确必要的配置,我在这里就不赘述了。



如何将 apache 加入到系统服务中,请看我的这篇文章:



将 apache 加入 linux 系统服务



6、已知问题及解决方法



如果你遇到类似下面的 .so 权限错误:



httpd: Syntax error on line 63 of /opt/apache/conf/httpd.conf: Cannot load /opt/apache/modules/mod_python.so into server: /opt/apache/modules/mod_python.so: cannot restore segment prot after reloc: Permission denied



说明是你的 .so 文件权限不够,很可能是你的 SELinux(如果你有装)的权限检查没有通过导致的。



使用下面命令可以将 .so 文件定义为共享类库文件,就可以通过权限检查:




 chcon -t texrel_shlib_t /opt/apache/modules/*.so



注意:千万别将 *.so 权限改为 777,具体原因请看我的这篇文章:



解决 SELinux 带来的 PHP 权限问题





上面安装 apache 的过程讲述很详细,之后 python / mod_python 将只给出必要解释和推荐的 configure 命令。



 



二、安装 python 2.5.1



1、编译安装



到 www.python.org
 下载最新的 python 源码包,解压得到目录,进入该目录,执行:






 ./configure --prefix=/opt/python/2.5.1




 make




 make install



使用下面命令将 python 添加到 /usr/bin 中,并且区别其他版本的 python 执行文件,使它们可以共存




 ln /opt/python/2.5.1/bin/python /usr/bin/python2.5.1



以后可以将新版本的 python 编译到 /opt/python/[版本]中,使用上面命令生成对应版本的链接。



2、设置运行命令



这里需要注意一下执行程序,现在的 python 2.5.1 的执行程序是 python2.5.1,



如果想进入 python 2.5.1 的 shell,需要键入 python2.5.1,



如果想系统使用 python 2.5.1 执行 .py 脚本,需要在脚本第一行将 python 运行命令修改为:




!/usr/bin/python2.5.1



如果你觉得以后默认使用 python 2.5.1 就好,那么可以:




 rm -f /usr/bin/python




 ln /opt/python/2.5.1/bin/python /usr/bin/python



这样执行 python 进入的就是 2.5.1 了。





 



三、安装 mod_python



1、到 www.modpython.org
 下载源码包,解压得到目录,进入该目录,执行:




 ./configure --with-apxs=/opt/apache/bin/apxs --with-python=/usr/bin/python2.5.1






 make




 make install



完毕之后,mod_python 会在 /opt/apache/modules 中添加 mod_python.so 库文件,并且在 /opt/python/2.5.1/lib/python2.5/site-packages 中添加 mod_python 包。



如果编译程序没有检测到 apache 和 python,会报错退出。



2、配置 httpd.conf



找到 /opt/apache/conf/httpd.conf 配置文件,在适当位置添加:



LoadModule python_module modules/mod_python.so



记住,modules/mod_python.so 必须有可以通过 SELinux 检查的权限,参看本文第一章第6节的内容!



 



四、安装 django



这次我们采用 django 的 SVN Head Version(最新开发版本)。



采用这个版本的好处是,官方的任何更新,你只需要运行 svn 进行更新就会得到最新的版本,并且更新即可用。



1、如果系统没有 Subversion,找到装上(过程略)。



2、得到最新版本的 working copy



这里有两个版本可以选择,择其一运行命令:



一是 django 全部源码(文件相当多):




 svn co http://code.djangoproject.com/svn/django
 /source/svn/django



二是 django 的当前最新版本 trunk:




 svn co http://code.djangoproject.com/svn/django/trunk
 /source/svn/django_trunk



3、将 django 源码链接到 python 的 site-packages 公共代码目录中



全部源码版本:






 ln -s /source/svn/django/trunk/django /opt/python/2.5.1/lib/python2.5/site-packages/django



最新版本 trunk:




 ln -s /source/svn/django/django /opt/python/2.5.1/lib/python2.5/site-packages/django



注意一定要带上参数 -s,否则后面调用会出错!





上面的命令只是创建了当前源码目录的一个链接到 site-packages 中,这样每次运行下面命令更新 django 之后,python 调用的都是更新之后的最新版本:




 cd /source/svn/django




 svn cleanup(如果提示locked,执行这一句)




 svn update



4、拷贝 django 管理文件



运行下面命令将管理文件拷贝到 /usr/bin 中,以便随处可以执行该文件:




cp /source/svn/django/trunk/django/bin/django-admin.py /usr/bin/



或者




cp /source/svn/django/django/bin/django-admin.py /usr/bin/



如果运行 django-admin.py 得到如下错误信息:



ImportError: No module named django.core



说明 django-admin.py 运行在了另一个版本的 python 中!



记住,我们的 django 是安装在 python 2.5.1 中的(/opt/python/2.5.1),如果你的 python 2.5.1 执行命令为 python2.5.1(参考第二章第2节),需要将 /usr/bin/django-admin.py 第一行修改为:




!/usr/bin/python2.5.1



或者是已经安装 django 的 python 的执行命令。



 



4、参考文章



官方的安装指南,请参考:



http://www.djangoproject.com/documentation/install/
 



如何使用 django,请参考官方指南这一部分:



http://www.djangoproject.com/documentation/modpython/
 



推荐使用 .htaccess 文件,而不是直接修改 httpd.conf 配置文件,因为 .htaccess 更加灵活。



记得将 httpd.conf 配置文件中 AllowOverride 配置项作相应配置(比如 AllowOverride = All)



 



五、总结



如果完全按照上面的安装步骤进行安装,我们会得到如下内容:



apache 2.2.4 目录:



/opt/apache



python 2.5.1 目录:





/opt/python/2.5.1



mod_python.so 位置:



/opt/apache/modules/mod_python.so



django 源码包目录:



/source/svn/django





修改过的文件:



/opt/apache/conf/httpd.conf



如果想更新 django:




 cd /source/svn/django




 svn update



自此,全部安装完毕,你已经可以使用 django 创建你的 Python Web Application 了!
分享到:
评论

相关推荐

    window7配置python3.3 + django + apache24 + mod_wsgi

    在Windows 7操作系统中搭建一个基于Python 3.3、Django、Apache 2.4和mod_wsgi的Web开发环境是一项技术性较强的任务。这个配置组合能够让你使用Python的高级Web框架Django来开发应用,并通过Apache服务器进行高效...

    在Linux系统上部署Apache+Python+Django+MySQL环境

    4. **安装mod_python**:下载mod_python的源码,解压后配置并编译,确保指定了Apache的apxs和Python的路径。安装完成后,不需要手动添加LoadModule指令,因为配置文件已经包含了它。最后,重启Apache服务。 5. **...

    django+apache+mod_wsgi.rar

    标题 "django+apache+mod_wsgi.rar" 暗示了这个压缩包是关于使用Django框架与Apache web服务器结合,并通过mod_wsgi模块在Windows 64位平台上部署Python应用的配置。描述中提到的"python3.5+apache2.4vc14+mod_wsgi_...

    Linux+Django+Python+Wsgi配置过程

    2. 下载 MySQL-Python 并进行编译安装: ```bash tar -zxvf MySQL-python-1.2.3.tar.gz cd MySQL-python-1.2.3 python setup.py build python setup.py install ``` 3. 验证 MySQLdb 是否安装成功: ```...

    CentOS6.2下配置Django+Python环境步骤

    为了使Apache能够运行Python脚本,我们需要安装`mod_python`模块。然而,在此过程中可能会遇到无法链接到Python的错误,此时应安装`python-devel`库来解决。 ```bash wget ...

    mod_python-3.3.1.win32-py2.5-Apache2.2.exe

    "mod_python-3.3.1.win32-py2.5-Apache2.2.exe"是针对Windows平台,Python2.5和Apache2.2的一个预编译安装包。3.3.1是该模块的一个稳定版本,提供了更好的性能和兼容性。 三、安装与配置 1. 安装:双击该.exe文件...

    腾讯云部署网站py3.8+django2.2+apache2.4+mysql5.7).zip

    这里,我们看到的配置是一个Python 3.8.2与Django 2.2应用,搭配Apache 2.4作为Web服务器,并且使用MySQL 5.7作为数据库,以及mod_wsgi模块来实现Django应用与Apache的集成。同时,还提到了GCC 8.3.0编译器和SQLite ...

    windows_mod_wsgi_apache2.2-2.4_python2.6-3.4全版本都有

    mod_wsgi是Apache的一个模块,它允许在Apache服务器上运行Python Web应用程序,如流行的Web框架Django。它提供了稳定性和性能,将Python应用的执行与Web服务器紧密结合,提高了服务响应速度。mod_wsgi有两种模式:...

    Apache+uWSGI+Django+Mysql环境配置手册

    - 在安装好Python后,通过内置的包管理器pip来安装Django。在命令行输入`pip install Django`,等待安装完成。 - 可以参考Django官方文档或在线教程了解安装验证和基本用法。 3. **Mysql安装**: - 从MySQL官方...

    Apache安装包与mod_wsgi库

    Apache是世界上最流行的Web服务器软件,而mod_wsgi是Apache的一个模块,用于托管Python Web应用程序,如Django。在Windows环境下,使用Apache和mod_wsgi来部署Django项目是一种常见的实践,因为它们提供了稳定性和...

    mod_wsgi-3.3 - Binary Apache Module - (Win32/Apache 2.2/Python 2.7)

    `mod_wsgi-3.3 - Binary Apache Module - (Win32/Apache 2.2/Python 2.7)` 是一个专为Windows 32位系统、Apache 2.2服务器和Python 2.7解释器设计的预编译二进制模块。这个模块的主要目的是在Apache Web服务器上部署...

    mod_python-3.3.0b.tgz linux下

    mod_wsgi是Apache和WSGI(Web Server Gateway Interface)之间的适配器,WSGI是Python社区广泛接受的Web服务器接口标准,适用于各种Web框架,如Django和Flask。 尽管如此,mod_python在某些场景下仍具有一定的价值...

    django+mysql+apache快速搭建手册1

    在安装完成后,需要配置Apache以支持Django和mod_python。编辑Apache的配置文件(`httpd.conf`),添加必要的模块加载指令,比如`LoadModule python_module modules/mod_python.so`。创建一个虚拟主机,并在`...

    mod_wsgi 编译后的文件

    标题提及的是“mod_wsgi 编译后的文件”,这指的是Apache服务器的一个模块,用于在Python环境中运行Web应用。mod_wsgi是Apache HTTP服务器的一个接口,允许Python Web应用程序(如Django、Flask等)与Apache进行交互...

    mod_wsgi-3.5

    **Apache + Mod_WSGI + Python + Django 搭建指南** `mod_wsgi` 是一个流行的Apache服务器模块,用于托管Python Web应用程序,特别是与Django框架一起使用时。这个`mod_wsgi-3.5`版本是针对特定Apache版本和Python...

    Windows下Django配置Apache示范设置

    首先,确保你已经安装了Python、Django和Apache。Python是Django的基础,而Apache则是承载Django应用的服务器。你需要下载并安装最新版本的Python,同时通过pip安装Django。Apache可以从Apache官方网站获取,如httpd...

    mod_python-3.3.1.win32-py2.6-apache2.2.exe

    标题中的"mod_python-3.3.1.win32-py2.6-apache2.2.exe"是一个软件安装程序,用于在Windows操作系统上安装mod_python模块,版本为3.3.1,针对Python 2.6编程语言,并且与Apache 2.2 web服务器兼容。这个模块是将...

    apache部署django环境需要的资源

    Apache部署Django的首要步骤是安装mod_wsgi模块,它是Apache的一个扩展,用于支持Python应用程序。你可以通过Apache的编译源代码或者使用操作系统提供的包管理器(如apt-get for Debian/Ubuntu,yum for CentOS/RHEL...

Global site tag (gtag.js) - Google Analytics