以 CGI or wsgi 的方式執行 Python
reference
http://blog.xuite.net/autosun/study/42871538-%5BUbuntu%5D+%E5%AE%89%E8%A3%9D+Apache2+%2B+Python+%2B+MySQL
Python 也可以 CGI 的方式來執行,首先,我們寫了一個簡單的 Hi Python 程式,儲存成 /var/www/cgi-bin/hi.cgi
#!/usr/bin/python
print "Content-type: text/html\n\n"
print "Hi, Python."
其中,第一行是指定 Python 直譯器的版本,在此這行非常重要,如果沒有加入這行,那系統不知道該用哪種方式去執行該份文件,儲存完畢後修改權限為可執行
sudo chmod a+x hi.cgi
在瀏覽器中鍵入 http://127.0.0.1/cgi-bin/hi.cgi,就可以顯示出 Hi, Python. 了
一般 Python 執行指令為
python 檔名.py
加入此行、並修改權限後可用
./檔名.py
的方式執行
在 /etc/apache2/httpd.conf 中加入
AddHandler cgi-script .cgi .py
重新啟動 Apache 後,則 Apache 也可將 .py 檔視為 CGI 來執行,因此上述 hi.cgi 可改成 hi.py,接著在瀏覽器中鍵入 http://127.0.0.1/cgi-bin/hi.py,就可以顯示出 Hi, Python. 了
以wsgi 執行python
在 python.conf加入
==
LoadModule wsgi_module modules/mod_wsgi.so
DirectoryIndex index.wsgi default.wsgi index.py default.py
WSGIPythonPath "{$path}\python"
WSGIPythonHome "{$path}\python\Lib;{$path}\python\Lib\site-packages;{$path}\python\DLLs"
AddHandler wsgi-script .wsgi
Options +ExecCGI
Order deny,allow
Allow from all
其中,第一行是指定 Python 直譯器的版本,在此這行非常重要,如果沒有加入這行,那系統不知道該用哪種方式去執行該份文件,儲存完畢後修改權限為可執行
sudo chmod a+x hi.cgi
在瀏覽器中鍵入 http://127.0.0.1/cgi-bin/hi.cgi,就可以顯示出 Hi, Python. 了
一般 Python 執行指令為
python 檔名.py
加入此行、並修改權限後可用
./檔名.py
的方式執行
在 /etc/apache2/httpd.conf 中加入
AddHandler cgi-script .cgi .py
重新啟動 Apache 後,則 Apache 也可將 .py 檔視為 CGI 來執行,因此上述 hi.cgi 可改成 hi.py,接著在瀏覽器中鍵入 http://127.0.0.1/cgi-bin/hi.py,就可以顯示出 Hi, Python. 了
以wsgi 執行python
在 python.conf加入
==
LoadModule wsgi_module modules/mod_wsgi.so
DirectoryIndex index.wsgi default.wsgi index.py default.py
WSGIPythonPath "{$path}\python"
WSGIPythonHome "{$path}\python\Lib;{$path}\python\Lib\site-packages;{$path}\python\DLLs"
AddHandler wsgi-script .wsgi
Options +ExecCGI
Order deny,allow
Allow from all
.py 檔改成 .wsgi
留言