Nginx + uWSGI + web.py 搭建樣本

來源:互聯網
上載者:User

廢話少說,直接書寫詳細搭建過程,以作記錄。

(1)安裝Nginx
1.1 下載nginx-1.0.5.tar.gz並解壓
1.2 ./configure (也可以增加--prefix= path指定安裝路徑)
此時有可能會提示缺少pcre支援,如果要安裝pcre的話可以通過 yum install pcre-devel 來實現安裝
1.3 make
1.4 make install

(2)安裝uWSGI
2.1 下載uwsgi-0.9.8.2.tar.gz並解壓
2.2 make
在安裝uWSGI的時候有可能提示說是libxml2不存在,針對此情況,建議通過 yum install libxml2-devel來解決

(3)安裝web.py
可以通過easy_install web.py來安裝最新版,不過我在安裝0.36的時候出錯,而且是語法錯誤,所以最終回退到0.35版

(4)以一個簡單的webpy程式作為樣本。以下代碼是一個完整的webpy程式(webpytest.py)

import weburls = (    '/(.*)', 'hello'    )app = web.application(urls, globals())class hello:    def GET(self, name):        if not name:            name = "World"        return "Hello" + name + "!"application = app.wsgifunc()

最後一句的application = app.wsgifunc()是關鍵,此時才可以通過wsgi進行訪問

(5)啟動uWSGI
uwsgi -s 127.0.0.1:9000 -w webpytest

(6)更改Nginx相關配置(nginx.conf)

server {        listen       80;        server_name  10.0.11.226;        #charset koi8-r;        #access_log  logs/host.access.log  main;        location / {            include uwsgi_params;            uwsgi_pass 127.0.0.1:9000;            uwsgi_param UWSGI_CHDIR /usr/local/sphinx;            uwsgi_param UWSGI_SCRIPT webpytest;        } 

注意:uwsgi_pass 的相關配置必須和啟動uwsgi時的一致!UWSGI_CHDIR是指程式所在的目錄,UWSGI_SCRIPT是指啟動哪個程式(注意,這裡必須去掉py尾碼).測試發現,UWSGI_CHDIR 和UWSGI_SCRIPT也可以不要!

(6)啟動nginx
/usr/local/nginx/sbin/nginx
重啟nginx命令為(/usr/local/nginx/sbin/nginx -s stop)

(7)通過http即可訪問
http://10.0.11.226

以上只是一個非常簡單的搭建過程,僅作記錄!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.