【飘逸的Python】 在Apache2中部署Tornado应用

来源:互联网 发布:初入职场 知乎 编辑:程序博客网 时间:2024/05/16 08:30

原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/50260237

将tornado部署在Apache上需要依赖WSGI中间件,其原理如下:

python app + wsgi + server

具体步骤如下:

安转mod_wsgi

在linux下使用apt-get install libapache2-mod-wsgi命令即可以,安装成功后会生成mod_wsgi.so文件,该文件默认在Apache的modules目录下。


配置Apache

在Apache的配置文件/etc/apache2/apache2.conf中添加如下配置:

LoadModule wsgi_module    modules/mod_wsgi.soWSGIScriptAlias /myapp /var/www/wsgi-scripts/myapp.wsgi <Directory "/var/www/wsgi-scripts/">    AllowOverride all    Options Indexes FollowSymLinks  ExecCGI    Order allow,deny    SetHandler wsgi-script    Allow from all</Directory>

添加python脚本

在上面配置的目录/var/www/wsgi-scripts/下新建myapp.wsgi文件,其内容如下:

import tornado.webimport tornado.wsgiimport wsgiref.simple_serverimport wsgiref.handlersclass MainHandler(tornado.web.RequestHandler):    def get(self):        self.write("Hello world!")def application(environ, start_response):    if 'SCRIPT_NAME' in environ:        tornado_app = tornado.web.Application([            (r"/myapp", MainHandler),        ])        wsgi_app = tornado.wsgi.WSGIAdapter(tornado_app)        return wsgi_app(environ,start_response)if __name__ == "__main__":    server = wsgiref.simple_server.make_server('', 8888, application)    server.serve_forever()

重启Apache后在浏览器中测试

测试结果

到此,大功告成!

0 0
原创粉丝点击