uwsgi可以简单的理解为一个桥梁,链接应用程序和服务端,代替服务端启动

通过Nginx和uwsgi实现多进程访问flask项目

 1、安装nginx和uwsgi

    apt-get install python-setuptools,nginx

    sudo apt-get install python2.7-dev

    sudo pip install uwsgi

 2、配置nginx

   http {

        tcp_nopush on;

        tcp_nodelay on;

        keepalive_timeout 65;

        types_hash_max_size 2048;

        include /etc/nginx/mime.types;

        default_type application/octet-stream;

        access_log /var/log/nginx/access.log;

        error_log /var/log/nginx/error.log;


        gzip on;

        gzip_disable "msie6";

        server {

        listen 5000;

        server_name localhost;


        location / {

                include uwsgi_params;

                uwsgi_pass  127.0.0.1:8000;  #注:这里的端口8000和uwsgi的里配的是同一个端口,也就是你定义的服务器启动的端口,因为nginx和uwsgi需要通过这个端口进行交互

        }

 }

}

   3、配置uwsgi

     vi testwsg.ini     将该文件放进开发的项目文件夹里,作为启动文件

      [uwsgi]

       socket = 127.0.0.1:8000  #注: 指定某个固定端口

       processes = 4         #注:跑几个进程,这里用4个进程

       threads = 2

       master = true         #启动一个master进程来管理其他进程,以上述配置为例,其中的4个uwsgi进程都是这个master进程的子进程,如果kill这个master进程,相当于重启所有的uwsgi进程


       pythonpath = /home/test   #开发项目的目录

       module = server        #项目的启动文件名

       callable = app         #Flask项目的实例名称,上例代码中app =Flask(__name__),所以这里为app

       memory-report = true     #开启内存使用情况报告

   

   4、启动uwsgi

   uwsgi -d /var/log/uwsgi.log --ini /data/web_app/testpro/test_config.ini &

   5、创建的项目就不用启动了,直接访问