Tornado服務(wù)器中綁定域名、虛擬主機(jī)的方法
Tornado默認(rèn)是監(jiān)聽IP加端口形式,由于Tornado在國內(nèi)用的人極少,資料更是鱗毛鳳角。下面說說Tornado如何綁定域名。
默認(rèn)Tornado的hello word是這么來的
import tornado.ioloop
import tornado.web
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, world")
application = tornado.web.Application([
(r"/", MainHandler),
])
if __name__ == "__main__":
application.listen(8888)
tornado.ioloop.IOLoop.instance().start()
運(yùn)行后,使用瀏覽器訪問IP+8888端口
如果你想支持域名訪問,可以用Nginx監(jiān)聽80端口做代理,或者你只有這么一個(gè)應(yīng)用,直接就用Tornado監(jiān)聽80端口免去Nginx這一步,關(guān)鍵是這么干別人使用IP或者域名都能訪問。谷歌了一大堆英文站點(diǎn)也找不到綁定域名教程,反正Tornado源文件也就那一點(diǎn)就翻開看看,里邊怎么寫?結(jié)果看到這么一段話
大喜!不知道為什么,這段在文檔里是沒有的,然后再往下細(xì)看,返現(xiàn)默認(rèn)是有host機(jī)制的,并且任何host訪問,截圖
既然這樣,那我們就可以使用域名綁定的方式來運(yùn)行tornado應(yīng)用了,而且支持多域名,因?yàn)槟蔷褪且淮齽t,在剛才那個(gè)例子的基礎(chǔ)上加個(gè)域名綁定
import tornado.ioloop
import tornado.web
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, world")
class DomainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, a.com")
application = tornado.web.Application([
(r"/", MainHandler),
])
application.add_handlers(r"^a\.com$", [
(r"/", DomainHandler),
])
if __name__ == "__main__":
application.listen(8888)
tornado.ioloop.IOLoop.instance().start()
a.com訪問結(jié)果
甚至也可以支持正則匹配,比如讓它也支持www前綴
application.add_handlers(r"^(www\.)?a\.com$", [(r"/", DomainHandler),])
執(zhí)行結(jié)果
結(jié)合這個(gè)機(jī)制,你可以在一個(gè)應(yīng)用上綁定多個(gè)域名及子域名泛域名的多站部署。更易于管理!
相關(guān)文章
python區(qū)塊鏈持久化和命令行接口實(shí)現(xiàn)簡版
這篇文章主要為大家介紹了python區(qū)塊鏈持久化和命令行接口實(shí)現(xiàn)簡版,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05python 獲取一個(gè)值在某個(gè)區(qū)間的指定倍數(shù)的值方法
今天小編就為大家分享一篇python 獲取一個(gè)值在某個(gè)區(qū)間的指定倍數(shù)的值方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11keras的ImageDataGenerator和flow()的用法說明
這篇文章主要介紹了keras的ImageDataGenerator和flow()的用法說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07Python matplotlib通過plt.scatter畫空心圓標(biāo)記出特定的點(diǎn)方法
今天小編就為大家分享一篇Python matplotlib通過plt.scatter畫空心圓標(biāo)記出特定的點(diǎn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12Python利用matplotlib繪制圓環(huán)圖(環(huán)形圖)的實(shí)戰(zhàn)案例
環(huán)形圖也被稱為圓環(huán)圖,它在功能上與餅圖相同,只是中間有一個(gè)空白,并且能夠同時(shí)支持多個(gè)統(tǒng)計(jì)數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Python利用matplotlib繪制圓環(huán)圖的實(shí)戰(zhàn)案例,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08