部署流程:

1.处理服务器的基础环境, 安装和Python有关的软件

  • 安装Python3-pip, Python3-dev
    • apt install python3-pip

    • apt install python3-dev

  • 安装虚拟环境, 让服务器系统环境保持干净,说不定这个服务器以后会换成运行其他的项目
    • pip3 install virtualenv

    • pip3 install virtualenvwrapper

    • 编辑~/.bashrc 文件,添加如下几行代码

      • export WORKON_HOME=$HOME/.virtualenvs

      • export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

      • source /usr/local/bin/virtualenvwrapper.sh

    • source .bashrc

    • mkvirtualenv demo

  • 安装数据库, 如果已经安装数据库不需要再装
    • 安装redis

      • 先通过 whereis redis-server 命令查看redis数据库服务是否已经安装。

        • 如果没有安装: apt install redis 命令安装 redis数据库服务

        • 如果已经安装,直接使用即可:redis-server /etc/redis/redis.conf 通过 ps ajx|grep redis-server可以查看服务是否成功启动,如果没有成功启动,请检查配置文件

        • 配置文件可以将bind:0.0.0.0/0

    • 安装mysql

      • 先通过 whereis mysqld 命令查看mysql数据库服务是否已经安装

        • 如果没有安装: apt install mysql-server

        • 如果已经安装: 先查看mysqld服务是否已经启动 ps ajx |grep mysqld

          • 如果没有启动: service mysql start

        • 查看mysql数据库是否能被普通用户模式下通过账号密码访问

          • sudo mysql 进入mysql交互终端, use mysql 切换到mysql数据库

          • select user,host, plugin,authentication_string from user; 查看所有用户的关键信息

          • 验证方式(plugin)字段的值最好都为 “mysql_native_password”

          • 密码(authentication_string)字段的值不允许为空白

          • 可以通过内置的 PASSWORD("新密码") 函数,获取密码加密后的字符串

            • 密码强度要求:1、至少8位; 2、大写字母、数字、特殊字符都至少要包含一个

          • 通过基本的SQL语句可以修改用户的数据, 修改完成后通过 flush privileges; 刷新权限


          update user set plugin="mysql_native_password", authentication_string=PASSWORD("Python123_") where user="root";

          flush privileges;
  • 上传项目到代码到服务器(不论用何种方式都行),然后安装需要的依赖,修改配置,迁移数据库,等等操作让你的项目能够运行起来;

flask&nginx&gunicore部署的更多相关文章

  1. Python3 Flask+nginx+Gunicorn部署(上)

    前言:一般在本地运行flask项目通常是直接python3 文件名.py,然后打开:http://127.0.0.1:5000 查看代码结果 这次主要是记录flask在python3 环境结合ngin ...

  2. Ubuntu16.04 flask + nginx + uWSGI 部署

    前言 又有段时间没写博客了,最近一直在写外包项目,都没啥空余时间.这几天花了不少时间做项目部署,也看了不少教程,这里就记录下整个过程,也方便以后要做类似部署的时候不用再查来查去了. flask + u ...

  3. Flask+nginx+Gunicorn部署

    当我们开发完Flask项目后是不能直接通过命令启动服务来使用的(扛不住的) Gunicorn 是一个给 UNIX 用的 WSGI HTTP 服务器.这是一个从 Ruby 的 Unicorn 项目移植的 ...

  4. Flask + Nginx + uwsgi 部署过程

    一.安装Flask 1.itsdangerous tar xvf itsdangerous-0.23.tar.gz cd itsdangerous-0.23/ python setup.py inst ...

  5. Flask + WSGI + Nginx 云部署

    这几天学着用flask写一些rest api,然后部署到云上.这个过程虽然网上有很多的教程,但还是遇到不少的问题! 采用flask的原因是因为它比较容易上手吧.用flask有专门restful api ...

  6. 写给新手看的Flask+uwsgi+Nginx+Ubuntu部署教程

    学习 Flask,写完一个 Flask 应用需要部署的时候,就想着折腾自己的服务器.根据搜索的教程照做,对于原理一知半解,磕磕碰碰,只要运行起来了,谢天谢地然后不再折腾了,到下一次还需要部署时,这样的 ...

  7. [阿里云部署] Ubuntu+Flask+Nginx+uWSGI+Mysql搭建阿里云Web服务器

    部署地址:123.56.7.181 Ubuntu+Flask+Nginx+uWSGI+Mysql搭建阿里云Web服务器 这个标题就比之前的"ECS服务器配置Web环境的全过程及参考资料&qu ...

  8. 基于flask+gunicorn+nginx来部署web App

    基于flask+gunicorn&&nginx来部署web App WSGI协议 Web框架致力于如何生成HTML代码,而Web服务器用于处理和响应HTTP请求.Web框架和Web服务 ...

  9. nginx+uwsgi+flask+supervisor 项目部署

    环境 - Linux: Ubuntu 16.04 - uWSGI 2.0.18 - Flask 1.0.2 - supervisor 3.2.0 - nginx/1.8.1 首先区分几个概念 WSGI ...

随机推荐

  1. 【转载】GET和POST两种基本请求方法的区别

    原文地址:http://www.cnblogs.com/logsharing/p/8448446.html GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一 ...

  2. 原生js手风琴效果

    //js代码 //获取li var list = document.getElementsByTagName("li")[0]; //遍历  排他 for( var i=0;i&l ...

  3. find -exec 批量使用方法

    查找当前目录批量文件内容后复制到指定目录当中 find . -type f -name "*.log" -exec cp {} /目标目录/ \;

  4. go web framework gin 路由表的设计

    在上一篇go web framework gin 启动流程分析这一篇文章中,我分析了go gin启动的过程,在这一篇文章中我将继续上面的分析,讨论gin 中路由表是如何设计的? 首先查看engine. ...

  5. .NET并行计算和并发6-获取线程池的最大可用线程数

    using System; using System.IO; using System.Security.Permissions; using System.Threading; class Test ...

  6. laravel 创建自动化生成数据库

    1.   生成 迁移脚本 php artisan make:migration create_users_table --create=users(表名) 当你⽣成⼀个模型时想要顺便⽣成⼀个 数据库迁 ...

  7. 解决jquery库和base库的冲突

    jquery库引用在base库之前,$的所有权就是base库的:而jquery库引用在base库之前后的话,$的所有权就是jquery库的.解决这种库之间的冲突可用以下方法解决: 情况一,jquery ...

  8. 关于java类加载的那些事

    首先,类加载的定义: 类加载(Class Loading)是一种机制,他描述的是将字节码以文件形式加载到内存再经过连接.初始化后,最终形成可以被虚拟机直接使用的Java类型地过程. 其次,类加载器的分 ...

  9. Go Example--自定义排序

    package main import ( "fmt" "sort" ) //定义类型别名 type ByLength []string func (s ByL ...

  10. 安卓控制LED驱动编写

    开发平台 * 芯灵思SinlinxA33开发板 淘宝店铺: https://sinlinx.taobao.com/ 嵌入式linux 开发板交流 QQ:641395230 打开Android Stud ...