当前位置 主页 > 服务器问题 > Linux/apache问题 >

    CentOS 部署 flask项目的方法

    栏目:Linux/apache问题 时间:2019-11-19 15:53

    最近在学习 python,使用 flask 实现了个个人博客程序,完了想部署到服务器上。因为是新手,一路磕磕绊绊最终把它基本搞定。网上资料对新手感觉都不太友好,都是零零碎碎的,所以我整理了一下,一方面作为我自己的记录,方便以后查阅,另一方面也希望能帮助到跟我一样的新手。

    前提

    有一个服务器(不然搞毛),购买可以参考优质国外vps推荐 有个人域名(当然,你可以直接使用 IP访问,但有点奇怪不是?购买域名可以去GoDaddy

    1.安装git

    可以选择 github 或者Bitbucket,当然你也可以自己搭建 git服务器,但我觉得没啥必要,我选择Bitbucket,主要是因为它私有库免费

    sudo yum install git

    后续就跟我们本地开发没什么区别了,配置 ssh key,clone代码,就不展开了,项目目录建议放在 /home/www/ 下

    2. 安装 Mysql

    添加 MySQL YUM 源

    $wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'
    $sudo rpm -Uvh mysql57-community-release-el7-11.noarch.rpm
    $yum repolist all | grep mysql
    
    mysql-connectors-community/x86_64 MySQL Connectors Community         36
    mysql-tools-community/x86_64   MySQL Tools Community            47
    mysql57-community/x86_64     MySQL 5.7 Community Server         187
    

    安装最新版本

    $sudo yum install mysql-community-server

    启动 MySQL 服务

    $sudo service mysqld start 
    $sudo systemctl start mysqld #CentOS 7
    $sudo systemctl status mysqld
    ● mysqld.service - MySQL Community Server
      Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
      Active: active (running) since Sat 2017-05-27 12:56:26 CST; 15s ago
     Process: 2482 ExecStartPost=/usr/bin/mysql-systemd-start post (code=exited, status=0/SUCCESS)
     Process: 2421 ExecStartPre=/usr/bin/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
     Main PID: 2481 (mysqld_safe)
      CGroup: /system.slice/mysqld.service
          ├─2481 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
          └─2647 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/...

    说明已经正在运行中了

    修改密码

    $ mysql -uroot -p 

    这里有要求你输入密码,Mysql安装时会生成一个默认密码,使用 grep "temporary password" /var/log/mysqld.log 命令,返回结果最后引号后面的字符串就是root的默认密码

    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';

    修改编码

    在 /etc/my.cnf 中设置默认的编码

    [client]
    
    default-character-set = utf8
    
    [mysqld]
    
    default-storage-engine = INNODB
    
    character-set-server = utf8
    
    collation-server = utf8_general_ci #不区分大小写
    
    collation-server = utf8_bin #区分大小写
    
    collation-server = utf8_unicode_ci #比 utf8_general_ci 更准确
    
    

    创建数据库

    mysql> CREATE DATABASE <datebasename> CHARACTER SET utf8;

    3. 安装python3 pip3

    CentOS 7 默认安装了 Python 2,当需要使用 Python 3 的时候,可以手动下载 Python 源码后编译安装。