nginx+uwsgi+flask介绍和配置

flask (应用框架)

pip install flask
  • web框架,处理http的request和reponse

nginx (代理服务器)

- 负责静态资源发送、动态请求转发以及结果的回复,分配

uwsgi (后端服务器)

uwsgi: 用于uWSGI服务器和其他网络服务器间(nginx)的数据通信,就是规定一个程序如何与web服务器程序之间进行通信,从而可以让程序在服务器上跑起来
- 将http协议转换成语言支持的网络协议,比如将http协议转换成wsgi协议,使得Python可以直接使用
- c语言开发
- 负责接收 nginx 请求转发并处理后发给flask应用,以及接收flask应用返回信息转发给 nginx,中介

配置

uwsgi+nginx安装


  • 注:如果遇到uwsgi command not found的问题

将uwsgi的路径加入/etc/profile中,然后source **

find / -name uwsgi 用于查找uwsgi的目录
uwsgi,为app配置启动文件
socket = 127.0.0.1:5000     #   启动程序时所使用的地址和端口,通常在本地运行flask项目,
chdir = /home/monkey/flask-message-board          #  部署的项目目录
wsgi-file = run.py      # flask程序的启动文件 
callable = app             #  程序内启用的application变量名
processes = 4          #  处理器个数
threads = 2            #  线程个数
stats = 127.0.0.1:9190     #  获取uwsgi统计信息的服务地址
pidfile = uwsgi.pid        #  保存pid信息,方便停止服务和重启的时候用
deamonize = /home/monkey/flask-message-board/log/uwsgi.log  #  后台运行时记录uwsgi的运行日志
lazy-apps = true             #  当需要连接cassandra时,uwsgi无法启动服务,可以使用该选项设置
touch-chain-reload = true
module = manage    #脚本
memory-report = true
  • 配置好后,输入指令uwsgi uwsgi.ini启动
  • 如看看大 [uWSGI] getting INI configuration from hello_uwsgi.ini, 则正常
nginx,使得http request请求过来时可以导向对应的位置
server{
    listen       80;
    server_name  localhost;
    #charset koi8-r;
    #access_log  logs/host.access.log  main;
    location / {
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:5000;
        uwsgi_param UWSGI_CHDIR /home/monkey/flask-message-board;  #项目根目录
        uwsgi_param UWSGI_SCRIPT run:app; #启动程序的主程序

        #root   html;
        #index  index.html index.htm;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
            root   html;
    }
}
  • 上述代码中为nginx的nginx.conf中的一段配置
  • 其中location为服务器访问的路径,括号里面为访问后进行分发的参数
服务启动
  • uwsgi uwsgi.ini 在项目的目录下
uwsgi uwsgi.ini --deamonize #后台运行
uwsgi --stop uwsgi.pid #停止服务
  • nginx启动
访问
  • 浏览器中直接输入服务器IP即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值