PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Wednesday, September 21, 2022

[FIXED] How to create a virtual host for a Tornado HTTP server

 September 21, 2022     python, tornado, virtualhost     No comments   

Issue

I want to redirect a random local domain i.e. http://mypage.local to http://localhost/:8888 where I am running a tornado HTTP server that delivers the website. I got all the information from the official docs here. Code see below (main.py).

I also added the following line to my /etc/vhosts file:

127.0.0.1:8888       mypage.local

But trying to open http://mysite.local results in a classical "Page not found" error. What do I do wrong?

main.py:

from tornado.ioloop import IOLoop
from tornado.web import RequestHandler, Application, url

class MainHandler(RequestHandler):
    def get(self):
        self.write("<p>Hello, world</p><p><a href='/story/5'>Go to story 5</a></p>")

class StoryHandler(RequestHandler):
    def get(self, story_id):
        self.write("this is story %s" % story_id)

def make_app():
    return Application([
        url(r"/", MainHandler),
        url(r"/story/([0-9]+)", StoryHandler)  
    ])

def main():
    app = make_app()
    app.add_handlers(r"mypage.local", [
        (r"/story/([0-9]+)", StoryHandler),
    ])    
    app.listen(8888)
    IOLoop.current().start()


if __name__ == '__main__':
    main()

Solution

You should edit /etc/hosts file, but it doesn't support port forwarding. So you can write:

127.0.0.1       mysite.local

And access your server by http://mysite.local:8888

You can run tornado on 80 port as root, but it would be better to use nginx to forward requests to tornado:

server {
  listen 80;
  server_name mysite.local;

  location / {
    proxy_pass  http://127.0.0.1:8888;
    include /etc/nginx/proxy.conf;
  }
}


Answered By - Eugene Soldatov
Answer Checked By - Mary Flores (PHPFixing Volunteer)
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © PHPFixing