參考文章://www.iis7.com/article/130989.htm
修改說明:修改nginx配置部分,更換配置文件內容及路徑;從ip訪問切換到域名訪問
前言
最近博主在開發一個小項目,本機的開發環境是python3.6,因為需要部署到服務器(python2.7)的關系,所以研究了一下,網上大部分的教程是部署在Ubuntu上的,博主使用的是centos7.0,大部分的部署其實都是類似的,這篇博文對完完全全的新手可能會有所幫助,對遇到的一些困惑也可以進行描述。
環境準備
python包安裝工具pip : sudo apt-get install pip
virtualenv:為了避免系統環境與應用環境之間的沖突,使用虛擬環境來安裝應用的依賴,virtualenv可以為每個python應用創建獨立的開發環境,安裝方式:sudo pip install virtualenv
虛擬環境使用
flask項目地址:/usr/local/flasky,只需要在項目地址下運行指令:
virtualenv venv
約定俗成一般使用“venv”作為虛擬環境的名稱,這樣我們就創建了一個虛擬環境的文件夾venv如下圖紅框所示:
接下來激活虛擬環境,只用指令
source venv/bin/activate
激活虛擬環境后,命令行抬頭會有(venv)標識,僅需虛擬環境后,一切安裝python的操作都會講包和引用裝在虛擬環境中,不會影響全局的python環境
退出虛擬環境的指令,直接敲:
deactivate
即可退出虛擬環境
配置flask應用環境
flask應用開發的時候,會應用到非常多的模板,“狗書”中有介紹一種比較方便的方式,直接把開發環境的flask依賴等導出為一個txt文件,然后在centos的虛擬環境中使用相應指令根據這個txt文件安裝會非常方便。
pip freeze >requerements.txt
該指令導出一個文件名為requirements.txt的文本,里面的內容如下圖所示
然后centos中使用以下指令
pip install -r requerments.txt
這樣就會在虛擬環境中安裝一個與開發環境一致的副本了。
注意一定要在虛擬環境中使用批量安裝指令,不然就安裝到全局去了,后果還是比較蛋疼的。
安裝uWSGI
flask的實際生產運行環境選擇不多,比較成熟的是【Gunicorn】和【uWSGI】,這里推薦一本書董偉明的《Python Web開發實戰》里面有講這兩種部署。
以下內容來自百度百科:
uWSGI是一個Web服務器,它實現了WSGI協議、uwsgi、http等協議。Nginx中HttpUwsgiModule的作用是與uWSGI服務器進行交換。WSGI是一種Web服務器網關接口。它是一個Web服務器(如nginx,uWSGI等服務器)與web應用(如用Flask框架寫的程序)通信的一種規范。
安裝指令如下,注意一定要保證已經進入了虛擬環境并激活:
pip install uwsgi
不需要使用sudo ,因為virtualvenv沒有權限要求。
上傳項目文件
博主使用的linux連接工具是xshell,在之前的一篇文章//www.iis7.com/article/130991.htm中有講如何上傳文件到linux主機,這里不再詳細說明,展示一下大概的項目結構以及啟動文件manage.py
新聞熱點
疑難解答