flask&nginx&gunicore部署

时间:2024-08-13 08:06:31

部署流程:

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