我想将一个随机的本地域重定向到http://mypage.local到http://localhost/:8888,其中我正在运行一个提供网站的龙卷风HTTP服务器。我从官方文档here获得了所有信息。代码见下文(main.py)。
我还将以下行添加到了/ etc / vhosts文件中:
127.0.0.1:8888 mypage.local
但是尝试打开http://mysite.local会导致经典的“找不到页面”错误。我做错了什么?
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()
python大神给出的解决方案
您应该编辑/ etc / hosts文件,但是它不支持端口转发。所以你可以这样写:
127.0.0.1 mysite.local
并通过http://mysite.local:8888访问您的服务器
您可以在80端口上以root身份运行龙卷风,但是最好使用nginx将请求转发到龙卷风:
server {
listen 80;
server_name mysite.local;
location / {
proxy_pass http://127.0.0.1:8888;
include /etc/nginx/proxy.conf;
}
}