1、安裝apache
如果安裝了apache,確保配置沒有進行大幅的修改,否則可能會有影響。如果沒有安裝apache,通過apt-get安裝:
$ sudo apt-get install apache2
Tips:如果是自行編譯安裝,下面提到的配置和目錄根據實際情況修改。
2、安裝mod_python模塊
這個模塊內嵌了python解釋器,apache就可以通過該模塊運行python腳本,然后將內容輸出到瀏覽器。這個模塊就像個橋一樣,連接apache和python。安裝也非常簡單,apt-get直接安裝:
$ sudo apt-get install libapache2-mod-python
安裝完成后,查看/etc/apache2/mods-enabled/python.load,可以看到模塊已經被加載進來了,完全不用自己手動添加。
$ less /etc/apache2/mods-enabled/python.load
LoadModule python_module /usr/lib/apache2/modules/mod_python.so
3、告訴apache在碰到py后綴的文件時用python執行
修改/etc/apache2/sites-enabled/000-default配置文件,找到如下配置:
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
如果你的配置沒有改動,看到的應該和上面一樣。在Directory內增加三行配置,最終如下:
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
AddHandler mod_python .py
PythonHandler test
PythonDebug On
</Directory>
保存后,重新啟動下apache:
$ sudo /etc/init.d/apache2 restart
至此環境就全部完成了,下面進行測試下。
測試
在站點根目錄/var/www/下新建hello.py文件,內容如下:
1
2
3
4
from mod_python import apache
def handler(req):
req.write("Hello World!")
return apache.OK
確保該文件有執行權限,為了方便直接改成777:
$ chmod 777 hello.py
用瀏覽器訪問下該文件:
http://localhost/hello.py
如果看到hello world!就表示成功了。