• Gunicorn+Nginx+Flask项目部署


    安装python3.6

    1)前往用户根目录
    >: cd ~
    
    2)下载 或 上传 Python3.6.7
    >: wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz
    >: scp -r 本地Python-3.6.7.tar.xz ssh root@39.98.154.56:服务器路径
    >: scp -r C:UsersdellDesktoppkgPython-3.6.7.tar.xz ssh root@339.98.154.56~
    
    3)解压安装包
    >: tar -xf Python-3.6.7.tar.xz
    
    4)进入目标文件
    >: cd Python-3.6.7
    
    5)配置安装路径:/usr/local/python3
    >: ./configure --prefix=/usr/local/python3
    
    6)编译并安装
    >: make && sudo make install
    
    7)建立软连接:终端命令 python3,pip3
    >: ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
    >: ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3
    
    8)删除安装包与文件:
    >: rm -rf Python-3.6.7
    >: rm -rf Python-3.6.7.tar.xz
    

    安装gunicorn

    pip3 install gunicorn
    

    启动gunicorn

    -w代表开启几个进程运行
    -b指明把当前服务器绑定到那个IP上
    --acess-logfile指定记录用户访问信息的文件
    mian指的是启动文件main.py
    app指的是main.py中的app
    -D以守护进程的方式运行,将程序放在后台运行(只能使用kill命令杀死gunicorn)。

    gunicorn -w 4 -b 127.0.0.1:5000 --access-logfile -D ./logs/gunicorn_log main:app
    

    安装nginx

    1)前往用户根目录
    >: cd ~
    
    2)下载nginx1.13.7
    >: wget http://nginx.org/download/nginx-1.13.7.tar.gz
    
    3)解压安装包
    >: tar -xf nginx-1.13.7.tar.gz
    
    4)进入目标文件
    >: cd nginx-1.13.7
    
    5)配置安装路径:/usr/local/nginx
    >: ./configure --prefix=/usr/local/nginx
    
    6)编译并安装
    >: make && sudo make install
    
    7)建立软连接:终端命令 nginx
    >: ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
    
    8)删除安装包与文件:
    >: rm -rf nginx-1.13.7
    >: rm -rf nginx-1.13.7.tar.xz
    
    9)测试Nginx环境,服务器运行nginx,本地访问服务器ip
    >: nginx
    >: 服务器绑定的域名 或 ip:80
    

    nginx配置

    # 如果有多台服务器的话,可以使用upstream
    # flask是组名,可以写其他的
    upstream flask {
        server 10.211.55.2:5000;
        server 10.211.55.2:5001;
    }
    
    server {
        listen       80;
        server_name  localhost;  # 改为自己的域名,如果没有域名就修改为127.0.0.1
        
        # charset koi8-r;
        
        # access_log  logs/host.access.log  main;
        
        location / {
            proxy_pass http://10.211.55.2:5000;  # 此处可以写单个主机信息(前面的gunicorn启动的ip地址),也可以写upstream的组名。
            # proxy_pass http://flask;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
    

    启动nginx

    1)启动
    >: nginx
    
    2)关闭nginx
    >: nginx -s stop
    
    3)重启nginx
    >: nginx -s reload
    
    4)查看端口,强行关闭
    >: ps -aux|grep nginx
    >: kill <pid:进程编号>
    

    访问

  • 相关阅读:
    hdu 1290 献给杭电五十周年校庆的礼物 (DP)
    hdu 3123 GCC (数学)
    hdu 1207 汉诺塔II (DP)
    hdu 1267 下沙的沙子有几粒? (DP)
    hdu 1249 三角形 (DP)
    hdu 2132 An easy problem (递推)
    hdu 2139 Calculate the formula (递推)
    hdu 1284 钱币兑换问题 (DP)
    hdu 4151 The Special Number (DP)
    hdu 1143 Tri Tiling (DP)
  • 原文地址:https://www.cnblogs.com/cnhyk/p/12952703.html
Copyright © 2020-2023  润新知