Flask学习11:阿里云新手Flask + nginx + uwsgi + ubuntu的完整项目部署教程
程序员文章站
2022-06-11 14:38:46
...
Flask项目部署
web工作原理
客户端 < = > 服务器(nginx) < = > uWSGI < = > Python(Flask) < = > 数据库
nginx安装
源码安装、apt-get install …
sudo /usr/local/nginx/sbin/nginx -s reload
添加虚拟主机
-
在nginx的主配置文件最后一个大括号的上面添加:
include vhost/*.conf;
-
在conf/下新建文件夹,用于保存所有的虚拟主机配置文件
mkdir vhost
vhost目录下新建一个虚拟主机的配置文件(sudo vim idandan.vip.conf)
server{
listen 80;
server_name idandan.vip;
location / {
root html/blog;
index index.html;
}
}
# sudo vim idandan.vip.conf
-
在html目录下创建blog文件夹,在blog下新建index.html
Hello World
重启nginx(sudo /usr/local/nginx/sbin/nginx -s reload)
-
添加本地的域名解析,修改文件:(C:\Windows\System32\drivers\etc\hosts)
最后一行添加:139.196.81.238 idandan.vip
测试,在浏览器地址栏输入:idandan.vip
uWSGI
- 安装:pip3 install uwsgi
-
配置:
http: # 采用http协议 socket: # 采用socket协议 wsgi-file # 将数据交给哪个模块 callable # 具体可调用的对象 chdir # 指定uwsgi启动后的当前目录 daemonize # 后台运行,需要指定一个日志文件 # blog.py文件 from flask import Flask app = Flask(__name__) @app.route('/') def index(): return 'Hi' if __name__ == '__main__': app.run()
-
简单实例
1.在blog目录下创建blog.py文件,里面写上flask启动代码用于测试 2.启动: sudo uwsgi --http host:port --wsgi-file blog.py --callable app
-
socket方式启动
- nginx转发请求:
python
server{
listen 80;
server_name idandan.vip;
location / {
# root html/blog;
# index index.html;
include uwsgi_params;
uwsgi_pass 127.0.0.1:5000;
}
} -
以socket方式启动
sudo uwsgi --socket 127.0.0.1:5000 --wsgi-file blog.py --callable app
-
将启动参数配置写进配置文件
[uwsgi] socket = 127.0.0.1:5000 wsgi-file = blog.py callable = app (blog/vim uwsgi.ini) 启动:sudo uwsgi wsgi.ini
静态文件处理
- 准备静态资源
python
1.在项目根目录下(blog)创建static目录
2.将图片拷贝到static下 -
配置nginx转发
# 添加一个location location /static{ # root html/blog; # 或 alias html/blog/static; # 两种方式都可以 }
- nginx转发请求:
-
上一篇: Idea中使用Maven编码打包时中文乱码的解决办法
下一篇: 详解如何创建并发布一个 vue 组件