中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

ubuntu10.10---用Apache+mod_wsgi部署python程序

使用Apache+mod_wsgi部署webpy等python程序

創(chuàng)新互聯(lián)專注于渭南網(wǎng)站建設服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供渭南營銷型網(wǎng)站建設,渭南網(wǎng)站制作、渭南網(wǎng)頁設計、渭南網(wǎng)站官網(wǎng)定制、小程序開發(fā)服務,打造渭南網(wǎng)絡公司原創(chuàng)品牌,更為您提供渭南網(wǎng)站排名全網(wǎng)營銷落地服務。

webpy是一個python上的非常輕量級的web框架,它和其他許多python web框架一樣,都能支持wsgi部署,而目前來看比較優(yōu)秀的wsgi部署方案自然是Apache+mod_wsgi,它提供非常簡單優(yōu)秀的部署方式,使得python程序的部署不再困難,本文將詳細講述在Apache上部署mod_wsgi的方法,并嘗試使用mod_wsgi支持webpy程序.

首先,我們假定我們的服務器已經(jīng)安裝配置好Apache了,安裝路徑為/usr/local/apache,虛擬主機配置文件在/usr/local/apache/conf/vhost下,那么我們可以開始安裝mod_wsgi.
從mod_wsgi的官方網(wǎng)站http://code.google.com/p/modwsgi/下載最新的源代碼,截止到本文,其最新版為3.3.下載解壓,我們需要編譯安裝
在編譯之前,我們需要確認當前環(huán)境是否能支持mod_wsgi,編譯它需要完整的gcc編譯環(huán)境,同時必須保證安裝了python和python-dev包,如果您不確定是否有python支持,在debian上可以直接apt-get安裝

apt-get install python python-dev

如果提示未安裝,安裝即可
下面開始編譯mod_wsgi

./configure --with-apxs=/usr/local/apache/bin/apxs --with-python=/usr/bin/python make make install

如果沒有錯誤,那么恭喜,mod_wsgi已經(jīng)被成功編譯并安裝了.
然后我們編輯/usr/local/apache/conf/httpd.conf文件
加上

LoadModule wsgi_module modules/mod_wsgi.so AddType text/html .py

如果要在某個虛擬主機上啟用python+wsgi支持,只需要在vhost的配置文件中加入

WSGIScriptAlias / /var/www/main.py/

其中/var/www/main.py就是提供wsgi的主程序
當然,一般程序都有靜態(tài)文件支持,所以,您可能需要對某個目錄下的文件跳過處理,如下

Alias /static /var/www/static/

如此即可.最后加上目錄設置即可,對于上面的例子,完整的虛擬主機配置如下

ServerAdmin admin@xxx.com DocumentRoot /var/www ServerName xxx.com ServerAlias www.xxx.com WSGIScriptAlias / /var/www/main.py/ Alias /static /var/www/static/ AddType text/html .py ErrorLog /var/log/httpd/xxx_error.log CustomLog "|/usr/bin/cronolog /var/log/httpd/xxx_access_%Y%m%d.log" custom1 Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all

這樣就配置好了此站點的mod_wsgi支持.那么對于python程序,應該如何使用這樣的配置工作呢?下面我們以webpy為例,考慮實際部署一個測試程序
對于webpy,官方給出了wsgi的配置例子,具體參考:http://webpy.org/cookbook/mod_wsgi-apache/zh-cn
在本文中,我們參考之后,實際的main.py內容如下:

#!/usr/bin/env python import os import sys path = os.path.dirname(os.path.realpath(__file__)) sys.path.append(path) import web urls = ( \'/\', \'index\' ) class index: def GET(self): return "Hello, I am Leven." app = web.application(urls, globals()) curdir = os.path.dirname(__file__) session = web.session.Session(app, web.session.DiskStore(curdir + \'/\' + \'sessions\'),) def session_hook(): web.ctx.session = session app.add_processor(web.loadhook(session_hook)) application = app.wsgifunc()

稍微解釋下,由于我們考慮是虛擬主機部署,因此服務器并未安裝webpy,我們將webpy放入web目錄下,因此,在使用的時候,必須將當前目錄加入path才可以正常載入webpy模塊,所有文件開頭先將當前目錄加入path.
然后,由于web程序中會經(jīng)常用到session,因此我們將session也加入到了程序中,具體存儲路徑在sessions目錄下.

將webpy目錄和main.py上傳到web根目錄,然后訪問,如果訪問結果如下圖,恭喜,您的配置已經(jīng)成功.

分享文章:ubuntu10.10---用Apache+mod_wsgi部署python程序
URL地址:http://www.rwnh.cn/article8/cpoiip.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設計、定制開發(fā)、網(wǎng)站策劃、服務器托管網(wǎng)站營銷、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
延安市| 桐乡市| 井陉县| 灯塔市| 凤阳县| 鄂州市| 天水市| 襄城县| 吴川市| 四子王旗| 宽甸| 广昌县| 闸北区| 新泰市| 绵竹市| 聂拉木县| 慈利县| 嘉兴市| 平塘县| 老河口市| 西充县| 浑源县| 锦州市| 滦南县| 襄汾县| 井冈山市| 北京市| 嘉兴市| 科尔| 常熟市| 青河县| 海林市| 黎平县| 苏尼特左旗| 仙居县| 宁都县| 宜春市| 家居| 昂仁县| 内乡县| 米泉市|