部署环境
- winserver2012 R2
- Python3.6.7
- nginx-1.16.0
- tornado
1.下载及配置Nginx
直接在Nginx官网下载1.16.0版本
解压缩后在C:\nginx-1.16.0\nginx-1.16.0\conf\nginx.conf里找到http{},配置如下信息,配置完成后进入C:\nginx-1.16.0\nginx-1.16.0目录 在终端输入nginx.exe回车启动Nginx服务,不报错说明启动成功
server {
listen 80;
server_name 47.244.20.87; # 这里是你服务器的ip或者域名
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
#root html;
#index index.html index.htm;
proxy_pass http://localhost:5000; # 这里是其他人访问你无服务器80端口时会默认重定向到5000端口
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ .php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ .php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache’s document root
# concurs with nginx’s one
#
#location ~ /.ht {
# deny all;
#}
}
2.用tornado架起flask app
首先安装tornado
pip install tornado
由于tornado的某些应用使用了pycurl,为了防止出现莫名其妙的bug,推荐安装:
pip install pycurl
在flask项目根目录创建home.py,并输入以下代码,
import sys
from tornado.wsgi import WSGIContainer
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoop
from managerimport app # 这里导入的是flsk项目的运行模块
if len(sys.argv) == 2:
port = sys.argv[1]
else:
port = 5000
http_server = HTTPServer(WSGIContainer(app))
http_server.listen(port)
IOLoop.instance().start()
3.创建Flask项目
在相同目录内创建flask入口文件manager.py 内容如下:
from app import create_app
from flask_script import Manager
app = create_app()
# manager = Manager(app)
# @app.route('/')
# def index():
# return '首页'
if __name__ == '__main__':
app.run(debug=True)
直接在cmd里运行python manager.py启动flask项目
最后访问47.244.20.87 出现以下信息表示配置成功