windows下使用配置nginx + tornado + flask

使用nginx web服务器,但是windows下无法使用gunicorn和uwsgi,所以使用tornado充当wsgi,转载flask开发的应用。

1. 下载windows版的nginx程序并解压。利用cmd进入目录后输入:

start nginx.exe

即可启动nginx服务器。启动后在浏览器中输入http://localhost会显示nginx的欢迎画面。

windows下使用配置nginx + tornado + flask_第1张图片

如果未显示说明80端口被其它应用占用了。

其他常用的命令有:

nginx.exe -s quit       #停止服务
nginx.exe -s stop       #停止服务
nginx.exe -s reload     #重启服务

2. 构建项目myflask

项目结构如下:

windows下使用配置nginx + tornado + flask_第2张图片

app.py为使用flask写的应用,server.py为使用tornado搭建的“容器”。

 app.py源码:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
    return 'hello flask'

server.py源码:

from tornado.httpserver import HTTPServer
from tornado.wsgi import WSGIContainer
from app import app
from tornado.ioloop import IOLoop
s = HTTPServer(WSGIContainer(app))
s.listen(9900)
IOLoop.current().start()

tornado负责监听9900端口。

3. 修改nginx的配置文件nginx.conf(在解压目录下的conf子文件夹下):

 server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            #root   html;
            #index  index.html index.htm;
            proxy_pass http://localhost:9900; 
        }
    ....其他配置信息
}

修改location / 块中的内容,添加一行proxy_pass,则将访问localhost:80的请求全部转发到localhost:9900端口,也就是tornado监听的端口。

4. 重启nginx服务器,在浏览器中输入http://localhost会显示hello flask字样。

     根据nginx.conf,如果输入http://127.0.0.1,会显示nginx的欢迎画面,输入http://127.0.0.1:9900会显示hell flask字样。可以根据需要继续修改nginx.conf达到自己想要的效果。

 

你可能感兴趣的:(python)