当前位置: 首页 > 编程笔记 >

Tornado服务器中绑定域名、虚拟主机的方法

师承弼
2023-03-14
本文向大家介绍Tornado服务器中绑定域名、虚拟主机的方法,包括了Tornado服务器中绑定域名、虚拟主机的方法的使用技巧和注意事项,需要的朋友参考一下

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),])


执行结果

结合这个机制,你可以在一个应用上绑定多个域名及子域名泛域名的多站部署。更易于管理!

 类似资料:
  • 本文向大家介绍详解Tomcat服务器绑定多域名和虚拟目录的方法,包括了详解Tomcat服务器绑定多域名和虚拟目录的方法的使用技巧和注意事项,需要的朋友参考一下 tomcat采用默认安装,要想tamcat直接绑定多个域名,这里我们需要修改配置文件:C:\Program Files\Apache Software Foundation\Tomcat 5.5\conf\server.xml server

  • 虚拟主机名使用server_name指令定义,用于决定由某台虚拟主机来处理请求。具体请参考《nginx如何处理一个请求》。虚拟主机名可以使用确切的名字,通配符,或者是正则表达式来定义: server { listen 80; server_name example.org www.example.org; ... } server { liste

  • 本文档说明了如何使用基于域名的虚拟主机。 基于域名的虚拟主机和基于IP的虚拟主机比较 基于IP的虚拟主机使用连接的IP地址来决定相应的虚拟主机。这样,你就需要为每个虚拟主机分配一个独立的IP地址。而基于域名的虚拟主机是根据客户端提交的HTTP头中标识主机名的部分决定的。使用这种技术,很多虚拟主机可以共享同一个IP地址。 基于域名的虚拟主机相对比较简单,因为你只需要配置你的DNS服务器将每个主机名映

  • 本文向大家介绍在Apache服务器上添加虚拟主机功能的方法,包括了在Apache服务器上添加虚拟主机功能的方法的使用技巧和注意事项,需要的朋友参考一下 Apache 默认存放网页根目录,是在/var/www/html/下面,也就是说,默认情况下,一个服务器,只能跑一个网站。但是一台性能还算不错的服务器,如果只跑一个网站,岂不是有点浪费?其实 Apache 是支持虚拟主机功能的,以虚拟主机模式可以跑

  • 预先定义的虚拟服务器 FreeRADIUS包括站点可用子目录下的虚拟服务器。有些可以按原样使用,而有些则是用于特殊要求的模板。以下是一些虚拟服务器: buffered-sql:此虚拟服务器用于克服大型SQL数据库(type = detail)的速度限制。 copy-acct-to-home-server:此虚拟服务器可用作模板,用于在两个位置记录一个计费请求(type = detail)。 coa

  • 我有域名,我想知道如何将域名连接到我的虚拟主机,我是新来的,所以请回答简单易懂的答案谢谢阅读,希望回答 我更改了hots文件C:\WINDOWS\system32\drivers\etc 127.0.0.1 www.test。通用域名格式 并且还更改httpd-vhosts.confD:\wamp\bin\apache\Apache2.4.4\conf\额外 服务器管理员webmaster@tes