通过Nginx部署flask项目和静态站点
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过Nginx部署flask项目和静态站点相关的知识,希望对你有一定的参考价值。
参考技术A安装nginx
安装supervisor( 官方文档 )
安装uwsgi( 官方中文文档 )
启动服务
nginx 日志(默认)
supervisor 日志(默认)
supervisor 查看启动的进程
supervisor相关命令
一般配置文件在 /etc/nginx 目录下
全局配置文件为 nginx.conf ,一般需要改的是下面两项,其他的保持默认就好了
我们要添加配置只需修改 sites-enabled/default
或在 conf.d/ 下面添加配置文件即可,因为在 nginx.conf 中会导入这两个地方的配置文件
静态web服务器只需要有静态文件(html+css+js)和配置Nginx即可
假设我的静态文件在 /home/moco/www/html 目录下
接下来我们来配置nginx
这里为了简单,直接修改 sites-enabled/default
如果要同时配置多个呢?
说下root 和 alias的区别:
alias指定的目录就是要访问的目录,root是要访问目录的上级目录,使用root时,
静态文件的实际路径等于root+location的路径,如上面的第二个location,
站点文件必须在 /home/moco/other/tool/ 下, 而使用alias,则静态文件的路径
就是alias路径,即第三个location站点文件就在 home/moco/www/tool/ 下。
项目路径: /home/moco/www/myflask/
/home/moco/www/myflask/manage.py
虚拟环境: /home/moco/.local/share/virtualenvs/myflask-XuRgNXhR
在虚拟环境中安装 flask 和 uwsgi (pip install uwsgi)
在项目路径下创建uwsgi的配置文件(也可以统一在一个地方创建,如 /etc/uwsgi/ )
uwsgi_config.ini
启动虚拟环境中的uwsgi
配置Nginx 配置文件中的 sites-enabled/default
启动nginx
/home/moco/www/flask_hello/uwsgi_config.ini
/home/moco/www/flask_world/uwsgi_config.ini
因为要启动多个uwsgi的配置文件,这里就用supervisor工具统一启动管理
在 /etc/supervisor/conf.d/ 下分别添加
flask_hello.conf
flask_world.conf
启动supervisor
Nginx配置
下面是flask_hello的访问示例:
以上是关于通过Nginx部署flask项目和静态站点的主要内容,如果未能解决你的问题,请参考以下文章
nginx+gunicorn+flask部属web时,使用nginx如何指定多个静态文件路径