• flask后端部署


    测试环境部署方式,按步骤执行

    1. 下载 centos7 镜像 镜像地址 DVD版本

    2. 虚拟机安装centos7, 安装完成后reboot首先尝试

          ping www.baidu.com
      

    不能ping通的话,参照方法解决

    能ping通之后,参照ssh远程连接完成远程连接

    tips:

    虚拟机网络采用NAT模式,远程连接工具:mobaXterm

    装完的centos查看ip的命令为 ip add, 主机 ping 虚拟机时会用到

    ssh 连接方式:

    ```shell
        ssh root@<虚拟机ip>
    ```
    
    1. 更换下载源站

    tips:我们下载的阿里的镜像源站本来就是阿里,不需要替换

    1. 更换完源站后首先执行

          yum update
      
    2. 安装 python3.5.2

    tips:

    注意看一下版本,链接里面的版本是3.5.1, 要改成3.5.2

    软连接命令 In -s 的时候文件路径有问题前一个路径/usr/local/python3应该为/usr/local/python3.5/bin/xxxx,两行命令都改

    不会使用vi的建议使用gedit命令

    vi /usr/libexec/urlgrabber-ext-down 这个文件第一行也要改成python2.7

    1. yum 安装 mongo 只看第一种 yum install 的方式

    2. yum install influxDB

    3. 更换 pip install 源站 推荐用 pip.conf的方式

    4. 还原python环境

      第一步: 在mobaXterm中切换到 /root 目录,把 requirements.txt 文件拖进该目录

      第二步:

          cd $HOME
          pip install -r requirements.txt
      
    5. 关闭系统防火墙

    service firewalld stop
    setenforce 0
    vim /etc/selinux/config
    

    将SELINUX=enforcing改为SELINUX=disabled

    1. 配置 nginx + uwsgi web后端测试环境

    tips: 做以下操作之前,先用 python -V 命令,确保 python 版本为 3.5

    yum install epel-release
    yum install python-devel nginx gcc
    curl http://uwsgi.it/install | bash -s default /tmp/uwsgi
    ln -s /tmp/uwsgi /usr/bin/uwsgi
    
    1. 测试 nginx + uwsgi + flask 可用
    cd /home/<your_user_path>
    mkdir test
    cd test
    vim test.py
    

    粘贴测试用 flask app:

    from flask import Flask
    app = Flask(__name__)
    
    @app.route("/")
    def hello():
        return "<h1 style='color:blue'>Hello There!</h1>"
    
    if __name__ == "__main__":
        app.run(host='0.0.0.0')
    
    vim wsgi.py
    

    粘贴以下代码:

    from myproject import app
    
    if __name__ == "__main__":
        app.run()
    

    编辑 wsgi 配置文件:

    vim test.ini
    

    复制以下代码并修改 < your_user_path >:

    [uwsgi]
    # uwsgi 启动时所使用的地址与端口
    socket = 127.0.0.1:8000
    # 指向网站目录
    chdir = /home/<your_user_path>/test
    # python 启动程序文件
    wsgi-file = wsgi.py
    # python 程序内用以启动的 application 变量名
    callable = app
    # 处理器数
    processes = 5
    # 线程数
    threads = 2
    #状态检测地址
    stats = 127.0.0.1:9191
    

    编写 wsgi app 后台启动 service 文件

    vim /etc/systemd/system/test.service
    

    复制以下代码并修改 < your_user_path >:

    [Unit]
    Description=uWSGI instance to serve myproject
    
    [Service]
    WorkingDirectory=/home/<your_user_path>/test
    ExecStart=/usr/bin/uwsgi --ini test.ini
    
    [Install]
    WantedBy=multi-user.target
    

    然后执行:

    service test start
    

    更改 nginx 配置

    vim /etc/nginx/nginx.conf
    

    在 http 属性下添加并修改 < your_user_path > 和 <虚拟机ip>:

        server {
            listen 8888;
            server_name <虚拟机ip>;
    
            location / {
                include uwsgi_params;
                uwsgi_pass 127.0.0.1:8000;
                uwsgi_param UWSGI_CHDIR  /home/<your_user_path>/test;
                uwsgi_param UWSGI_SCRIPT wsgi:app;
            }
        }
    

    然后执行:

    service nginx restart
    

    最后用本机浏览器访问 <虚拟机ip地址:8888>, 最后显示 hello there 则 部署成功

    mongo 基本使用资料:

    菜鸟教程

    mongo文档

    mongo python client 菜鸟基础教程

    PyMongo官方文档

    influxDB介绍及使用样例

    influxDB Python client

    influxDB Python Flask extension

    Mongo Python Flask extension

    Nginx + uWSGI + Flask 参考

  • 相关阅读:
    B
    R
    C
    B
    异步解决方案----Promise与Await
    NPM 与 Nodejs
    借助node.js + mysql 学习基础ajax~
    bind、call、apply的区别与实现原理
    私有 npm 仓库的搭建
    学习 Promise,掌握未来世界 JS 异步编程基础
  • 原文地址:https://www.cnblogs.com/rise0111/p/11313216.html
Copyright © 2020-2023  润新知