国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Tornado服務器中綁定域名、虛擬主機的方法

2019-11-25 18:16:26
字體:
來源:轉載
供稿:網友

Tornado默認是監聽IP加端口形式,由于Tornado在國內用的人極少,資料更是鱗毛鳳角。下面說說Tornado如何綁定域名。

默認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()

運行后,使用瀏覽器訪問IP+8888端口

如果你想支持域名訪問,可以用Nginx監聽80端口做代理,或者你只有這么一個應用,直接就用Tornado監聽80端口免去Nginx這一步,關鍵是這么干別人使用IP或者域名都能訪問。谷歌了一大堆英文站點也找不到綁定域名教程,反正Tornado源文件也就那一點就翻開看看,里邊怎么寫?結果看到這么一段話

大喜!不知道為什么,這段在文檔里是沒有的,然后再往下細看,返現默認是有host機制的,并且任何host訪問,截圖

既然這樣,那我們就可以使用域名綁定的方式來運行tornado應用了,而且支持多域名,因為那就是一串正則,在剛才那個例子的基礎上加個域名綁定

復制代碼 代碼如下:

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訪問結果

甚至也可以支持正則匹配,比如讓它也支持www前綴

復制代碼 代碼如下:

application.add_handlers(r"^(www/.)?a/.com$", [(r"/", DomainHandler),])

執行結果

結合這個機制,你可以在一個應用上綁定多個域名及子域名泛域名的多站部署。更易于管理!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 固始县| 陕西省| 新宾| 邵武市| 武陟县| 凤庆县| 温州市| 清徐县| 运城市| 宜宾县| 灵武市| 祁东县| 韶山市| 凤阳县| 根河市| 江城| 高碑店市| 哈密市| 长寿区| 南陵县| 水富县| 永定县| 铜川市| 镶黄旗| 木兰县| 福鼎市| 宁晋县| 侯马市| 两当县| 壤塘县| 蒲城县| 江阴市| 临泉县| 翁牛特旗| 中牟县| 大名县| 翁源县| 观塘区| 扎鲁特旗| 鹤峰县| 澳门|