python配置apache
❶ apache+python配置,配了一早上都没配好,快疯了
哦。怎么说呢。新版本的apache可以轻松用WSGI方式使用python。别用mod_python,那个技术有些老。配置当真的难办。我以前也是费了很大力气配置。
用WSGI或者是FASTCGI结合 nginx,这个应该是更简单。比apache2还要简单。
强烈建议你用wsgi,最少也要用fastcgi。这样更容易,更易维护开发,学起来也容易。
mod_python以前是以效率最快而出名的。不过因为上手难,配置不方便。所以现在基本上不用它了。
你找一个微框架很容易就弄出一个hello来。
比如最近我用parse??忘记全称了。结合bottle.py轻松就弄了一个小网站。然后再用apche2的proxy方式连接过来。可以多进程负载均衡。没有什么压力。性能还过得去。
❷ 如何配置apache+python+flask
1.mod_wsgi是最新的2.通常我们并不直接使用mod_wsgi,而是用基于wsgi标准的其他pythonweb框架开发。比如在Flask框架,webpy框架的中文文档部分可以看到关于Apache与mod_wsgi的配置方法。
❸ 请教一个关于linux下APACHE关于PYTHON的设置问题
二、linux下apache配置python
一.安装apache
apache linux平台下载
Apache v2.4.3 for Unix下载
界面预览
软件大小:7.90MB
软件类别:国外软件 | web服务器
软件语言:英文
运行环境:Unix
软件授权:免费版
更新时间:2012-8-22 9:52:17
相关链接:Home Page
python linux平台下载
Python v2.5.1 For Linux 下载
界面预览
软件大小:10.55MB
软件类别:国产软件 | 开发编程
软件语言:简体中文
运行环境:Linux
软件授权:免费版
更新时间:2007-4-25 21:41:00
相关链接:Home Page
mod_python下载: http://archive.apache.org/dist/httpd/modpython/
解压后进入目录:例如把apache安装到/home/wwwroot/apache下,执行如下命令:
./configure --prefix=/home/wwwroot/apache --enable-track-vars --enable-cgi --with-config-file-path=/opt/apache/conf --enable-moles=all --enable-mods-shared=all --enable-file-cache --enable-disk-cache --enable-cache --enable-mem-cache --enable-mpio --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
执行:
make && make install
然后,打开httpd.conf进行apache相关配置
二.安装python
$ tar –jxvf Python-2.5.2.tar.bz2
$ cd Python-2.5.2
$ ./configure
$ make
$ make install
我的python安装目录是 /usr/local/lib/python2.5.2/
三.安装mod_python(请用root权限执行)
解压后进入目录,执行如下命令(这个命令分别指定了apache和python的目录):
./configure --with-apxs=/home/dantezhu/apache/bin/apxs --with-python=/usr/local/bin/python
执行:
make
会在/usr/local/lib/python2.6/site-packages/下生成一个mod_python目录
同时在./src/.libs/下生成了一个mod_python.so,将这个so拷贝到apache的moles目录,并在httpd.conf中加入
LoadMole python_mole moles/mod_python.so
四.测试
1)在httpd.conf中加入
<Directory "/home/dantezhu/apache/py">
AllowOverride FileInfo
AddHandler mod_python .py
PythonHandler index
PythonDebug On
Order allow,deny
Allow from all
</Directory>
同时在
<IfMole alias_mole>
</IfMole>
加入
ScriptAlias /py/ "/home/dantezhu/apache/py/"
2)在apache目录下建立一个py目录,在里面新建一个文件index.py,内容如下:
from mod_python import apache
def handler(req):
req.write("Hello World!")
return apache.OK
(注意:PythonHandler index ,这里的名字index决定必须用index.py来测试)
❹ 怎么让apache2能运行Python
在Ubuntu中,采用 sudo apt-get install apache2 安装apache服务后,是不会带Apxs,需要安装 apache2-dev。其命令是:sudo apt-get install apache2-dev
安装完后查看安装的路径: whereis apxs2
如果在安装Mod_pythond的make过程出现这样到错误:fatal error: Python.h: No such file or directory,可以安装python2.7-dev(装的是V2.7)解决,命令为:sudo apt-get install python2.7-dev
Apxs的默认位置:usr/bin/apxs,但在ubuntu11版本中已经是usr/bin/apxs2
Mod_python模块的安装:
现在可以正式安装Mod_python模块了。
1.首先从Mod_pythod(http://modpython.org/)官网上下载文件,其文件名为:mod_python-3.3.1.tgz(我下的是3.3.1版本的)。然后,对这个文件进行解压操作:tar -zxvf /home/cosmos/mod_python-3.3.1.tgz (其中的目录可以自己放置)。
2.解压后通过cd mod_python-3.3.1命令进入mod_python-3.3.1这个文件夹。
3.进行Apxs目录配置, 命令为:./configure --with-apxs=/usr/bin/apxs2。
4.进行Python本地配置,命令为:./configure --with-python=/usr/bin/python2.7(自己装的Python是2.7版本的)。
7.安装完成后会在/usr/lib/apache2/moles/生成mod_python.so这个文件,需要把它加载到apache2的配置文件中。修改/etc/apache2/httpd.conf文件,增加这么一行内容:LoadMole python_mole /usr/lib/apache2/moles/mod_python.so。然后,再重启apache服务就可以了。
❺ windows+python+apache配置错误
插句话,现在用apache跑python好像比较流行用mod_wsgi,借助于flask等轻量级python web框架开发很简单。
Apache已经在2010年放弃维护mod_python了,这意味着用mod_python不仅开发难度大(缺少最新资料)而且可能有安全问题。如果不是必须用的话是不是可以考虑换一下。
❻ apache 同时配置python 和php
配置apache+django+mod_wsgi环境
newliver 2011年03月18日 星期五 11:32 | 15102次浏览 | 4条评论
新公司还是用apache,有段时间没看django官网,以为还是用mod_python,看了一下介绍,官方推荐使用mod_Wsgi,据说nginx本身就内置了此mole,说明它的性能还是不错的~而且mod_python已不再更新,和apache使用时,经常出现错误信息~从而配置了一下此环境,以此记录过程~个人觉得以后还是换成nginx+uwsgi才行,哈哈~
配置apache+django+mod_wsgi环境
作者:liuzemin
时间:2011-3-4
目录
1 开发环境
2 前提
3 配置Apache
4 配置django项目wsgi文件
1 开发环境
lubuntu10.04
python2.6
django1.25
mod_wsgi3.x
apache2.x
2 前提
搭建好开发环境 python和django的安装略过,相信大家都会的 以下是安装apache及mod_wsgi模块支持库
sudo apt-get install apache2
sudo apt-get install libapache2-mod-python2.6
sudo apt-get install libapache2-mod-wsgi
3 配置Apache
进入apache安装目录
cd /etc/apache2/
sudo gvim httpd.conf
编辑apache目录下面的httpd.conf文件,添加以下内容
#加载mod_wsgi模块
LoadMole wsgi_mole moles/mod_wsgi.so
#配置wsgi脚本的本地项目位置
WSGIScriptAlias / /home/alex/work/app/wsgi_test/apache/django.wsgi
<VirtualHost *:9000>
ServerName 127.0.1.1
#ServerAlias www.xxx.com
#DocumentRoot /home/alex/work/app/wsgi_test
<Directory "/home/alex/work/app/wsgi_test">
Order Deny,Allow
Allow from all
</Directory>
</VirtualHost>
4 配置django项目wsgi文件
#新建项目wsgi_test
django-admin.py startproject wsgi_test
#新建目录存放wsgi文件
mkdir apache
#编辑wsgi文件 gvim django.conf #添加以下内容
# -*- coding: utf-8 -*-
import os
import sys
import django.core.handlers.wsgi
os.environ['DJANGO_SETTINGS_MODULE'] = 'wsgi_test.settings'
app_apth = "/home/alex/work/app/"
sys.path.append(app_apth)
application = django.core.handlers.wsgi.WSGIHandler()
别忘记重启一下apache
sudo /etc/init.d/apache2 restart
至此打开浏览器即可看到django熟悉的it worked界面
【如果出现配置相关错误,请查看对应的路径是否配置正确;如果apache报内部错误,可以在系统日志文件查看apache出错日志查找原因】
❼ 配置Apache,使apache同时支持PHP和python。
你apache用什么方式运行django?
mod_wsgi?mod_python?
可定要配置VirtualHost
这里有个wsgi的方式,你可以参考下
http://www.zeuux.com/blog/content/3738/
❽ 如何在Apache下设置Python
关于Python,本人不想多说了,如果不知道什么是Python,可以看《什么是Python?》一文。Python可以开发CGI程序,那么在Apache下应如何配置呢?本文只讲述了如何以CGI方式配置Apache,使其支持Python程序。其它方式,如mod_python则不在讨论范围(其实是没配成功:-)。我所使用的系统环境为Windows 98, Apache 1.3.19,Python 2.1版。
准备
首先检查以下要求是否已经达到:
Apache已经安装,并且可以正常使用
Python已经安装,并且可以正常使用(在我的环境下,Python安装目录为d:\python21)
好,如果一切正常,下面就开始了。
配置
修改DocumentRoot
打开Apache安装目录下的conf子目录的httpd.conf文件。可以修改DocumentRoot为"f:/phpsite"。当然你可以按需要改成其它值。
允许任意目录执行CGI
这个设置是允许被设目录及其子目录下的CGI程序可以CGI方式运行。在Apache中,尽管你可能已经设置了CGI文件后缀,但是如果未设置允许CGI程序运行选项,则无法运行CGI程序。
设置f:/phpsite目录属性:
Options Indexes FollowSymLinks MultiViews ExecCGI
AllowOverride None
Order allow,deny
Allow from all
其实我并未重新设置新的目录属性,而是将DocumentRoot的目录属性(原来指向Apache安装目录下的htdocs目录,我改成为f:/phpsite了)增加了ExecCGI一项。
只允许特别目录执行CGI
也可以只允许特别目录下可以执行CGI程序。与上一步可以同时执行,也可两种任选其一。只要设置:
ScriptAlias /cgi-bin/ "f:/phpsite/cgi-bin/"
即可。
增加CGI文件名后缀
修改 AddHandler cgi-script 一句为 AddHandler cgi-script .cgi .py。即让Apache知道.py的文件为CGI程序
好了,到此Apache就配置好了,先启动Apache,然后进行测试。
测试
Python本身不象PHP,不是一种嵌入式脚本(这种脚本比较适合做Web后端程序),所以所有输出要自已做。
1 #!d:/python21/python.exe
2 print "Content-type: text/html"
3 print
4 print "
hello,world!
"
第1行是让脚本以CGI方式运行必需的(这里是我的环境,记得吗?我前面说了Python是装在d:/python21下的),告诉Apache如何找到此文件的解释程序。
第2,3行是告诉浏览器输出内容的MIME格式。这里为输出HTML文本。
第4行,输出"hello,world!"。其实不输出HTML的标记头浏览器也可以正常显示,尽管它不是完整的HTML格式。
如果测试成功,则一切大功告成。如果不行,听天由命吧(可以给我发信,咱们共同解决)。
后话
在SourceForge网站上,有一个名字mod_snake的项目。它同mod_python一样提供了针对Apache的Python模块化处理,但是mod_snake支持HTML文档嵌入Python标记,有点象PHP。不过现在它只支持Linux,而没有Windows下的版本。唉,我一定要转到Linux下面去!使用CGI方式调用Python速度不是很快,而如果使用mod_python则速度可能要快几十倍。这个不是我测出来的,是mod_python网站上说的。
转载仅供参考,版权属于原作者。祝你愉快,满意请采纳哦
❾ 怎么配置Apache来运行Python编写的cgi脚本
配置Apache web服务器,让其能运行CGI脚本
在这个教程里,我们假设Apache web服务器已经安装好,并已运行。这篇教程使用的Apache web服务器(版本2.2.15,用于CentOS发行版6.5)运行在本地主机(127.0.0.1),并且监听80端口,如下面的Apache指令指定一样:
ServerName 127.0.0.1:80Listen 80
下面举例中的HTML文件存放在web服务器上的/var/www/html目录下,并通过DocumentRoot指令指定(指定网页文件所在目录):
DocumentRoot "/var/www/html"
现在尝试请求URL:http://localhost/page1.html
这将返回web服务器中下面文件的内容:
/var/www/html/page1.html
为了启用CGI脚本,我们必须指定CGI脚本在web服务器上的位置,需要用到ScriptAlias指令:
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
以上指令表明CGI脚本保存在web服务器的/var/www/cgi-bin目录,请求URL里包含/cgi-bin/的将会搜索这个目录下的CGI脚本。
我们必须还要明确CGI脚本在/var/www/cgi-bin目录下有执行权限,还要指定CGI脚本的文件扩展名。使用下面的指令:
<Directory "/var/www/cgi-bin"> Options +ExecCGI AddHandler cgi-script .py</Directory>
下面访问URL:http://localhost/cgi-bin/myscript-1.py
这将会调用web服务器中下面所示脚本:
/var/www/cgi-bin/myscript-1.py
创建一个CGI脚本
在创建一个Python CGI脚本之前,你需要确认你已经安装了Python(这通常是默认安装的,但是安装版本可能会有所不同)。本篇教程使用的脚本是使用Python版本2.6.6编写的。你可以通过下面任意一命令(-V和--version参数将显示所安装Python的版本号)检查Python的版本。
$ python -V$ python --version
如果你的Python CGI脚本要用来处理用户输入的数据(从一个web输入表单),那么你将需要导入Python cgi模块。这个模块可以处理用户通过web输入表单输入的数据。你可以在你的脚本中通过下面的语句导入该脚本:
import cgi
你也必须修改Python CGI脚本的执行权限,以防止web服务器不能调用。可以通过下面的命令增加执行权限:
# chmod o+x myscript-1.py
Python CGI例子
涉及到Python CGI脚本的两个方案将会在下面讲述:
使用Python脚本创建一个网页
读取并显示用户输入的数据,并且在网页上显示结果
注意:Python cgi模块在方案2中是必需的,因为这涉及到用户从web表单输入数据。
例子1 :使用Python脚本创建一个网页
对于这个方案,我们将通过创建包含一个单一提交按钮的网页/var/www/html/page1.html开始。
<html><h1>Test Page 1</h1><form name="input" action="/cgi-bin/myscript-1.py" method="get"><input type="submit" value="Submit"></form></html>
当"提交"按钮被点击,/var/www/cgi-bin/myscript-1.py脚本将被调用(通过action参数指定)。通过设置方法参数为"get"来指定一个"GET"请求,服务器将会返回指定的网页。/var/www/html/page1.html在浏览器中的显示情况如下:
/var/www/cgi-bin/myscript-1.py的内容如下:
#!/usr/bin/pythonprint "Content-Type: text/html"print ""print "<html>"print "<h2>CGI Script Output</h2>"print "<p>This page was generated by a Python CGI script.</p>"print "</html>"
第一行声明表示这是使用 /usr/bin/python命令运行的Python脚本。"Content-Type: text/html"打印语句是必需的,这是为了让web服务器知道接受自CGI脚本的输出类型。其余的语句用来输出HTML格式的其余网页内容。
当"Submit"按钮点击,下面的网页将返回:
这个例子的要点是你可以决定哪些信息可以被CGI脚本返回。这可能包括日志文件的内容,当前登陆用户的列表,或者今天的日期。在你处理时拥有所有python库的可能性是无穷无尽的。
例子2:读取并显示用户输入的数据,并将结果显示在网页上
对于这个方案,我们将通过创建一个含有三个输入域和一个提交按钮的网页/var/www/html/page2.html开始。
<html><h1>Test Page 2</h1><form name="input" action="/cgi-bin/myscript-2.py" method="get">First Name: <input type="text" name="firstName"><br>Last Name: <input type="text" name="lastName"><br>Position: <input type="text" name="position"><br><input type="submit" value="Submit"> </form></html>
当"Submit"按钮点击,/var/www/cgi-bin/myscript-2.py脚本将被执行(通过action参数指定)。/var/www//html/page2.html显示在web浏览器中的图片如下所示(注意,三个输入域已经被填写好了):
/var/www/cgi-bin/myscript-2.py的内容如下:
#!/usr/bin/pythonimport cgiform = cgi.FieldStorage()print "Content-Type: text/html"print ""print "<html>"print "<h2>CGI Script Output</h2>"print "<p>"print "The user entered data are:<br>"print "<b>First Name:</b> " + form["firstName"].value + "<br>"print "<b>Last Name:</b> " + form["lastName"].value + "<br>"print "<b>Position:</b> " + form["position"].value + "<br>"print "</p>"print "</html>"
正如前面提到,import cgi语句用来确保能够处理用户通过web输入表单输入的数据。web输入表单被封装在一个表单对象中,叫做cgi.FieldStorage对象。一旦开始输出,"Content-Type: text/html"是必需的,因为web服务器需要知道接受自CGI脚本的输出格式。用户输入的数据在包含form["firstName"].value,form["lastName"].value,和 form["position"].value的语句中可以得到。那些中括号中的名称和/var/www/html/page2.html文本输入域中定义的名称参数一致。
当网页上的"Submit"按钮被点击,下面的网页将被返回。
这个例子的要点就是你可以很容易地读取并显示用户在web表单上输入的数据。除了以字符串的方式处理数据,你也可以用Python将用户输入的数据转化为可用于数值计算的数字。
附上出处链接:https://linux.cn/article-4377-1.html