Flask部署到騰訊雲主機上
如何把Flask網站部署到騰訊雲主機上
騰訊雲主機系統:ubuntu12.0
最近學習Flask開發,在騰訊雲用學生身份買了一臺主機,下面開始部署這個網站到主機上。
參考文章:http://www.oschina.net/translate/serving-flask-with-nginx-on-ubuntu
(但是本人遇到了一些不同的問題,已經解決了,現在分享給大家)
SSH工具:ssh secure shell client
登入雲主機:
前提條件
由於自帶了python環境,所以不用再下載了,但是要安裝兩個python的安裝工具:
sudo apt-get install python-setuptools sudo easy_install pip
再用pip安裝虛擬環境(防止和當前環境衝突)
sudo pip install virtualenv
Nginx安裝
什麼是nginx:
Nginx (“engine x”) 是一個高效能的HTTP和反向代理伺服器,也是一個IMAP/POP3/SMTP伺服器。Nginx是由Igor Sysoev為俄羅斯訪問量第二的Rambler.ru站點開發的,第一個公開版本0.1.0釋出於2004年10月4日。其將原始碼以類BSD許可證的形式釋出,因它的穩定性、豐富的功能集、示例配置檔案和低系統資源的消耗而聞名。2011年6月1日,nginx 1.0.4釋出。
Nginx是一款輕量級的Web 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器,並在一個BSD-like 協議下發行。由俄羅斯的程式設計師Igor Sysoev所開發,供俄國大型的入口網站及搜尋引擎Rambler(俄文:Рамблер)使用。其特點是佔有記憶體少,併發能力強,事實上nginx的併發能力確實在同類型的網頁伺服器中表現較好,中國大陸使用nginx網站使用者有:百度、新浪、網易、騰訊等。
為什麼要裝nginx:
nginx 這個輕量級、高效能的 web server 主要可以幹兩件事情:
〉直接作為http server(代替apache,對PHP需要FastCGI處理器支援);
〉另外一個功能就是作為反向代理伺服器實現負載均衡
安裝方法:
安裝並執行Nginx:
sudo apt-get install nginx
sudo /etc/init.d/nginx start
安裝好了就可以測試一下:
開啟瀏覽器訪問你的伺服器,你應該能看到Nginx歡迎頁:
nginx用來作為反向代理伺服器,放置到兩臺apache之前,作為使用者訪問的入口;nginx僅僅處理靜態頁面,動態的頁面(php請求)統統都交付給後臺的兩臺apache來處理。也就是說,可以把我們網站的靜態頁面或者檔案放置到nginx的目錄下;動態的頁面和資料庫訪問都保留到後臺的apache伺服器上。
這裡可以測試一個靜態頁面的訪問:
寫一個簡單的hello.py(這裡不使用虛擬環境,因為都是2.X的python寫的),執行 python hello.py
然後訪問伺服器相應埠即可。
但是Nginx只能處理靜態的頁面,動態的需要另外一個東西:uwsgi
UWSGI:
什麼是:uwsgi
安裝uwsgi:uWSGI是一個Web伺服器,它實現了WSGI協議、uwsgi、http等協議。Nginx中HttpUwsgiModule的作用是與uWSGI伺服器進行交換
sudo pip install uwsgi