CentOS 部署 flask项目的方法

2019-01-16 22:36:05于丽

最近在学习 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 更准确