python編程(webpy + gunicorn + nginx部署)

【 聲明:版權所有,歡迎轉載,請勿用於商業用途。 聯繫信箱:feixiaoxing @163.com】

之前雖然也用nginx + uwsgi + webpy的方法部署過網站,但是用了gunicorn之後,發現用這種方法部署網站更為簡單。下面我詳細描述一下如何用這種方法進行網站部署。

1、準備server.py

和uwsgi部署的時候一樣,這裏僅僅需要設置一個application就可以了。

#!/usr/bin/python
import web

urls = ('/', 'Hello')

class Hello(object):
    def GET(self):
        return 'Hello world'

app = web.application(urls, globals())  
application = app.wsgifunc()

2、安裝gunicorn

安裝gunicorn的方法非常簡單,在ubuntu下面一條命令就可以解決,

sudo apt-get install gunicorn

3、用gunicorn啟動server.py文檔

啟動的時候注意,最後一個選項是由文檔名+wsgifunc組成的。

gnicorn -b 127.0.0.1:8080 server:application

4、用瀏覽器做測試

這個時候不出意外,你已經可以用127.0.0.1:8080訪問我們的網站了。

5、準備nginx.conf文檔

通常為了利用nginx做static文檔加速,或者利用nginx做均衡負載,我們常常需要另外安裝一下nginx軟件。因此,此時nginx.conf必須準備好。當然,為了簡單起見,我們這裏只做一個代理就可以了,整個conf文檔內容如下,

worker_processes 1;

events{
    worker_connections 1024;
}

http{

    sendfile on;
    keepalive_timeout 65;

    server {
        listen       80;
        server_name  localhost;

        location / {

            proxy_pass http://127.0.0.1:8080;
        } 
    }

}

6、重啟啟動nginx

nginx.conf準備好後,這個時候先將它copy到/etc/nginx目錄下。接下來,我們需要重新啟動nginx軟件,一個命令就可以了,

service nginx restart

7、用瀏覽器測試80端口

有了nginx做代理,這個時候就可以用瀏覽器訪問127.0.0.1了,因為一般網站默認用80做端口,所以沒有意外的話,這個時候你就可以看到webpy給出的打印消息了。