flask部署-Ubuntu下使用nginx+uwsgi+supervisor部署flask应用
来源:互联网 发布:dnf阿里云搭建 编辑:程序博客网 时间:2024/04/30 22:11
之前一直用的Centos或者Red hat,自从使用Ubuntu后,发现Ubuntu使用起来更方便,自此爱上Ubuntu。
一.从github上下载flask应用
1.我已经成功将自己编写好的应用上传至github网站上。
使用命令 git clone https://github.com/xautxuqiang/minion_blog.git 下载
2.启动虚拟环境 source minion_blog/venv/bin/active
(保证安装了virtualenv,安装方法 pip install virtualenv )
(第三方包都安装在虚拟环境下,所以启动应用前确保启动了虚拟环境)
3.使用命令 python manage.py runserver 启动开发服务器,打开浏览器访问 http://127.0.0.1:5000
(该服务器是开发时使用的服务器,要把应用部署到网上还得依靠nginx)
二.安装所需的软件
命令 apt-get install nginx 安装nginx服务器
命令 pip install uwsgi #这里是使用pip安装的uwsgi
命令 apt-get install supervisor
三.配置uwsgi
在minion_blog文件夹下创建 config.ini 文件,配置如下:
[uwsgi]
socket = 127.0.0.1:3031
chdir = /home/xu/minion_blog #你的minion_blog应用的位置
wsgi-file = manage.py #即minion_blog应用下的manage.py文件
callable = app #应用
processes = 4
threads = 2
stats = 127.0.0.1:9191
virtualenv = /home/xu/minion_blog/venv #虚拟环境的位置
buffer-size = 32768
四.配置nginx
编辑 /etc/nginx/sites-available/default , 删除里面的内容。配置内容如下:
server{
listen 80;
server_name localhost; #这里先设置为本机的localhost,如果你有公网IP的话,
#可以设置为公网IP。例如我的阿里云ECS服务器IP为121.42.146.43
charset utf-8;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:3031;
uwsgi_param UWSGI_PYHOME /home/xu/minion_blog/venv;
uwsgi_param UWSGI_CHDIR /home/xu/minion_blog;
uwsgi_param UWSGI_SCRIPT manage:app;
}
}
五.测试是否配置成功
输入命令 uwsgi /home/xu/minion_blog/config.ini 启动
现在打开浏览器访问 localhost 或 127.0.0.1 ,看是否成功.
六.使用supervisor管理
我们发现必须输入命令 uwsgi config.ini 启动,然后才能在浏览器访问到部署的应用。
这里我们就可以使用 supervisor 帮我们实现自动化.
supervisor安装后的配置文件在 /etc/supervisor/下,在/etc/supervisor/conf.d/下创建文件
apps_supervisor.conf
编辑 apps_supervisor.conf 文件:
[program:minion_blog]
command = uwsgi --ini /home/xu/minion_blog/config.ini #启动命令
directory = /home/xu/minion_blog #应用的目录
user = xu #用户名,我的用户是xu
autostart = true
autorestart = true
stdout_logfile = /home/xu/minion_blog/logs/uwsgi_supervisor.log #这个目录必须自己创建,系统不会自己创建
[supervisord]
配置文件如上
重点:确保在命令行输入 uwgsi 能启动该命令,即保证是在虚拟环境里安装的 uwsgi, 且在虚拟环境下启动该命令
输入命令 supervisord -c /etc/supervisor/conf.d/apps_supervisor.conf
ok,启动成功。可以在浏览器中输入 localhost 查看,或输入命令 ps aux | grep uwsgi 查看.
如果出现错误,可以查看 supervisord.log 里的内容判断错误,该文件位于 minion_blog 目录下.
也可以百度或者谷歌寻求帮助。
- flask部署-Ubuntu下使用nginx+uwsgi+supervisor部署flask应用
- flask部署-Ubuntu下使用nginx+uwsgi+supervisor部署flask应用
- flask部署-Ubuntu下使用nginx+uwsgi+supervisor部署flask应用
- Nginx+uwsgi+supervisor在Ubuntu上部署flask应用
- Ubuntu 下 WSGI + Nginx + Supervisor 部署 Flask
- Ubuntu 12.04 下部署 Nginx+uWSGI+Flask
- Ubuntu 12.04 下部署 Nginx+uWSGI+Flask
- centos+flask+uwsgi+nginx+supervisor部署小结
- Flask:Nginx + uWSGI + Supervisor 服务器部署
- 使用 uWSGI + Nginx 部署 Flask 应用
- nginx+uwsgi部署flask应用
- nginx + uWSGI + flask应用部署
- Nginx+uwsgi+Flask部署
- Nginx+uwsgi+flask部署
- Nginx+uwsgi+flask部署
- Flask+uwsgi+Nginx+Ubuntu部署教程
- UWSGI + Nginx 部署 Flask web 应用
- Nginx 和 uWSGI 部署 Flask 应用
- BZOJ 1084: [SCOI2005]最大子矩阵 DP
- 蓝桥杯 算法训练 输出米字形
- Ubuntu 16.04 LTS与windows双系统时间同步解决方法
- Algorithm Review 1 基础排序算法
- 使用JPA实现乐观锁
- flask部署-Ubuntu下使用nginx+uwsgi+supervisor部署flask应用
- NUCLEO-F767ZI以太网初探
- 蓝桥杯 基础练习 数的读法
- 多客户端通信之Select服务器
- 原来微信收藏也是有容量的
- Git学习之路(2)-安装GIt和创建版本库
- React入门笔记
- HTML滚动效果
- The Triangle POJ - 1163