十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
當(dāng)我們執(zhí)行下面的hello.py時(shí),使用的flask自帶的服務(wù)器,完成了web服務(wù)的啟動(dòng)。在生產(chǎn)環(huán)境中,flask自帶的服務(wù)器,無(wú)法滿足性能要求,我們這里采用Gunicorn做wsgi容器,來(lái)部署flask程序。Gunicorn(綠色獨(dú)角獸)是一個(gè)Python WSGI的HTTP服務(wù)器。從Ruby的獨(dú)角獸(Unicorn )項(xiàng)目移植。該Gunicorn服務(wù)器與各種Web框架兼容,實(shí)現(xiàn)非常簡(jiǎn)單,輕量級(jí)的資源消耗。Gunicorn直接用命令啟動(dòng),不需要編寫配置文件,相對(duì)uWSGI要容易很多。
創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的陽(yáng)朔網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
區(qū)分幾個(gè)概念 :
WSGI:全稱是Web Server Gateway Interface(web服務(wù)器網(wǎng)關(guān)接口),它是一種規(guī)范,它是web服務(wù)器和web應(yīng)用程序之間的接口。它的作用就像是橋梁,連接在web服務(wù)器和web應(yīng)用框架之間。
uwsgi:是一種傳輸協(xié)議,用于定義傳輸信息的類型。
uWSGI:是實(shí)現(xiàn)了uwsgi協(xié)議WSGI的web服務(wù)器。
我們的部署方式: nginx + gunicorn + flask
web開(kāi)發(fā)中,部署方式大致類似。簡(jiǎn)單來(lái)說(shuō),前端代理使用Nginx主要是為了實(shí)現(xiàn)分流、轉(zhuǎn)發(fā)、負(fù)載均衡,以及分擔(dān)服務(wù)器的壓力。Nginx部署簡(jiǎn)單,內(nèi)存消耗少,成本低。Nginx既可以做正向代理,也可以做反向代理。
正向代理 :請(qǐng)求經(jīng)過(guò)代理服務(wù)器從局域網(wǎng)發(fā)出,然后到達(dá)互聯(lián)網(wǎng)上的服務(wù)器。
特點(diǎn) :服務(wù)端并不知道真正的客戶端是誰(shuí)。
反向代理 :請(qǐng)求從互聯(lián)網(wǎng)發(fā)出,先進(jìn)入代理服務(wù)器,再轉(zhuǎn)發(fā)給局域網(wǎng)內(nèi)的服務(wù)器。
特點(diǎn) :客戶端并不知道真正的服務(wù)端是誰(shuí)。
區(qū)別 :正向代理的對(duì)象是客戶端。反向代理的對(duì)象是服務(wù)端。
查看命令行選項(xiàng) : 安裝gunicorn成功后,通過(guò)命令行的方式可以查看gunicorn的使用信息。
直接運(yùn)行 :
指定進(jìn)程和端口號(hào) : -w: 表示進(jìn)程(worker)。 -b:表示綁定ip地址和端口號(hào)(bind)。--access-logfile:表示指定log文件的路徑
作為守護(hù)進(jìn)程后臺(tái)運(yùn)行 :
阿里云服務(wù)器默認(rèn)安裝到 /user/sbin/ 目錄,進(jìn)入目錄,啟動(dòng) ngnix:
Ubuntu 上配置 Nginx 也是很簡(jiǎn)單,不要去改動(dòng)默認(rèn)的 nginx.conf 只需要將/etc/nginx/sites-available/default文件替換掉就可以了。
新建一個(gè) default 文件,添加以下內(nèi)容:
修改完成后重啟nginx即可。
Ubuntu 上配置 Nginx 另一種方法,cd 到 /etc/nginx/conf.d 文件夾,新建 xxx.conf 文件(xxx 可以是項(xiàng)目名,只要是 .conf 文件即可),寫入以下內(nèi)容:
需要監(jiān)聽(tīng) https 請(qǐng)求時(shí),寫入以下內(nèi)容:
在新服務(wù)器安裝好環(huán)境和做好安全,然后遷移數(shù)據(jù)過(guò)去就可以了。
如果不會(huì),可以在阿里云云市場(chǎng)購(gòu)買網(wǎng)站遷移服務(wù)。
把源碼備份拷貝到新服務(wù)器,之后直接按照原來(lái)的服務(wù)器目錄布置站點(diǎn)就行了,