zoukankan      html  css  js  c++  java
  • 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:进程编号>
    

    访问

  • 相关阅读:
    Ubuntu自启动服务脚本
    坑(一)—— Django ORM 连接超时的坑
    logging模块详解
    端口扫描之nmap命令
    端口扫描之masscan扫描
    端口扫描之Scapy模块的使用
    端口扫描之开放端口扫描方式
    Android Studio导入Project、Module的正确方法
    ImportError: No module named 'requests'
    运行python程序
  • 原文地址:https://www.cnblogs.com/cnhyk/p/12952703.html
Copyright © 2011-2022 走看看