nginx + uwsgi + flask + supervisor 框架介绍
来源:互联网 发布:nginx 全局变量 编辑:程序博客网 时间:2024/05/16 19:26
python版本: python 2.7.5
一、 nginx安装
1. 下载
wget http://nginx.org/download/nginx-1.10.2.tar.gz
tar -xvf nginx-1.10.2.tar.gz
yum -y install pcre-devel openssl openssl-devel
2. 安装
cd nginx-1.10.2
./configure \
–prefix=/usr/local/nginx \
–with-http_realip_module \
–with-http_sub_module\
–with-http_gzip_static_module \
–with-http_stub_status_module\
–with-pcre \
–with-http_ssl_module
启动:
/usr/local/nginx/sbin/nginx
重启:
/usr/local/nginx/sbin/nginx -s reload
3. 配置
确保80端口没有被占用
netstat -ano|grep 80
打开配置文件
vim /usr/local/nginx/nginx.conf
server { listen 80; server_name localhost; location / { include uwsgi_params; uwsgi_pass 127.0.0.1:5010; root html; index index.html index.htm; }}
二、 uwsgi安装
pip install uwsgi 安装uwsgi
pip install uwsgi -I –no-cache-dir 安装失败可以尝试此方法
pip uninstall uwsgi 卸载
配置:/application/portal_api/uwsgi_config.ini (flask下面)
[uwsgi]
socket = 127.0.0.1:5000
processes = 2
threads = 2
master = true
pythonpath = /application/portal_api
module = run #flask的启动文件名称
callable = app
memory-report = true
记得进入:
source venv/bin/activate
启动uwsgi(本框架不需要手动启动):
uwsgi –ini /application/portal_api/uwsgi_config.ini -d /var/log/uwsgi.log
三、supervisor守护进程
安装supervisord
source py2.7_venv/bin/activate
pip install supervisor
生成配置文件
echo_supervisord_conf > /etc/supervisord.conf
修改配置文件, 添加托管项目:
[program:trident]
user=root
process_name = %(program_name)s
directory=/application/trident
command = /application/venv/bin/uwsgi –ini /application/trident/nginx_trident_socket.ini #注意, 不能-d 指定日志输出目录 涉及精灵进程
autostart=true
autorestart=true
redirect_stderr=true
startretries=5
stderr_logfile=/application/trident/logs/trident_err.log
stderr_logfile_maxbytes=200MB
stopsignal=QUIT
启动supervisor
supervisord
supervisorctl
start all
四、访问
网页直接输入 ip地址(默认80), 如果nginx监听6000 则 ip:6000
测试端口
telnet 139.129.225.106 6000
五、说明
- supervisor代理了uwsgi启动
- uwsgi作为底层和服务器之间的信息交换中间层,增加客户端响应.
- uwsgi 代理了flask的启动
- nginx作为server端,将请求抛向uwsgi
- 框架只需要启动nginx和supervisor
- nginx + uwsgi + flask + supervisor 框架介绍
- rest/flask/nginx/uwsgi/supervisor
- centos+flask+uwsgi+nginx+supervisor部署小结
- Flask:Nginx + uWSGI + Supervisor 服务器部署
- Nginx+uwsgi+supervisor在Ubuntu上部署flask应用
- Flask项目部署文档(ubantu+nginx+uwsgi+supervisor)
- nginx+uwsgi+django+supervisor
- flask部署-Ubuntu下使用nginx+uwsgi+supervisor部署flask应用
- flask部署-Ubuntu下使用nginx+uwsgi+supervisor部署flask应用
- flask部署-Ubuntu下使用nginx+uwsgi+supervisor部署flask应用
- Nginx+uwsgi+Flask部署
- uwsgi, nginx, flask
- Nginx+uwsgi+flask部署
- Nginx+uwsgi+flask部署
- nginx+ uwsgi+ flask
- Python--Nginx+uWSGI+Flask
- flask+nginx+uwsgi
- Nginx+Flask+UWSGI
- Python 中的绘图matplotlib & mayavi库
- eclipse 项目引入关联项目
- LightOJ1104-Birthday Paradox
- GPIO输入输出模式配置
- POJ-3286 + 数位DP模板
- nginx + uwsgi + flask + supervisor 框架介绍
- jQuery Attributes(属性)的使用(二、类篇)
- SQL之执行计划
- POI XSSF与HSSF的 使用区别
- Spring MVC 工作流程简述
- POJ 1067 取石子游戏(威佐夫博弈)
- iOS设计模式之简单工厂模式
- oracle、mysql、sql server等;流行数据库的链接驱动配置
- Linux tcpdump命令详解