• python服务器环境搭建Flask,uwsgi和nginx


    python服务器环境搭建Flask,uwsgi和nginx

    【部署系统环境Ubuntu

    使用python的Flask框架搭建好网页后台后,便要开始将网站部署到服务器平台了。为了部署python服务器,我选择使用uwsgi和nginx。

    使用Nginx和uWSGI来运行Python应用

    Nginx

    Nginx是高效的Web服务器和反向代理服务器,同时并发高,部署简单,内存消耗小,最重要的是,支持uWSGI的uwsgi协议,可以直接使用,一个简单的uwsgi_pass就可以将动态内容交给uWSGI处理。

    uWSGI

    至于为什么不直接使用Flask运行程序而是uWSGI,那是因为,Flask都说明了,不要使用它来作为生产环境,那是因为,它说了,不要使用⊙﹏⊙‖∣°

    安装uwsgi和nginx

    安装uwsgi

    安装uwsgi使用简单的pip命令即可安装

    pip install uwsgi
    

    查看uwsgi版本

    uwsgi --version
    

    安装Nginx

    安装Nginx使用apt-get即可

    apt-get install nginx
    #如果是使用本机安装测试,由于默认不是最高权限使用以下命令即可:
    sudo apt-get install nginx 
    

    配置文件

    配置uwsgi

    现在服务器环境也搭建好了,那么就要开始配置运行文件。假如此时我将python文件放在/var/www/myapp文件夹中。
    配置uwsgi有很多种方式,例如直接使用命令行运行,不过我觉得将参数写在一个文件中,再运行是最好不过的了。【其他的配置方法可以百度或则google】

    首先在myapp文件夹中创建一个配置文件"myapp.ini":

    [uwsgi]
    socket = 127.0.0.1:6001 
    ;将Flask应用运行在这个端口
    master = true  
    wsgi-file = app.py 
    ;后端文件名称
    callable = app
    ;设置在收到请求时,uWSGI加载的模块中哪个变量将被调用,默认是名字为“application”的变量。即是: app = Flask(__name__) 
    processes = 4   
    threads = 2
    daemonize = server.log 
    ;日志保存文件名称 【位置默认在app.ini 目录下】
    

    配置nginx

    /etc/nginx目录下新建文件夹app_nginx,进入app_nginx文件,新建myapp_nginx.conf文件

    server {
        listen 80;  #监听服务器的80端口
        server_name xxx.xx; #你的域名,前提是你要将你的域名解析到你的服务器的ip地址
        charset utf-8;
        location / {
            include uwsgi_params;   #添加uwsgi参数
            uwsgi_pass 127.0.0.1:6001; #你的Flask应用运行端口,和上面的对应
        }
    }
    

    然后配置修改/etc/nginx/nginx.conf文件
    在如图所示位置【图片中倒数第4行】添加

    include /etc/nginx/app_nginx/*.conf; #将app_nginx所有配置文件导入
    



    ps:如果我们要搭建多个Flask应用,只需要再写一个confini就行了

    启动

    启动uwsgi

    /var/www/myapp目录下启动uwsgi:

    uwsgi myapp.ini
    

    启动nginx

    service nginx start #启动nginx
    #或则 service nginx restart 重启nginx
    

    完成

    这时候,你在浏览器中输入你的域名,就可以看到一个漂漂亮亮的网页了


  • 相关阅读:
    距离计算方法总结 转自http://www.cnblogs.com/xbinworld/archive/2012/09/24/2700572.html#2663469
    2014.11.20查看到的有用网站和资料
    转载的计算机视觉方面的牛人博客,出处:blog.csdn.net/carson2005
    Java spring boot 2.0连接mysql异常:The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone
    Spring 复习第一天
    mysql 5.6.43免安装版安装教程
    JVM内存限制(最大值)
    修改电脑的ip
    Oracle 维护
    Oracle 操作
  • 原文地址:https://www.cnblogs.com/xiaohuiduan/p/9867653.html
Copyright © 2020-2023  润新知