目录
第二部分:项目及虚拟环境配置
一、创建项目目录
本案例中将配置文件、日志文件、虚拟环境和项目分别创建conff, envf, logf, www四个文件夹分开放置,方便维护。
# 进入home文件夹
cd /home
# 创建四个子文件夹
mkdir conff envf logf www
conff是配置文件,用于存放项目的nginx配置文件和uwsgi启动文件
logf是日志文件,用于存放nginx的启动成功和失败文件,以及uwsgi的运行日志文件
envf是用于存放虚拟环境
www是项目文件夹,该目录下存放上传的flask文件夹
二、上传项目文件
仍采用WinSCP客户端从电脑主机上上传flask项目文件到/home/www文件夹中,具体上传步骤自行百度,省略。
三、安装虚拟环境
1、在/home/envf中创建虚拟环境
cd /home/envf && python3 -m venv venv
2、激活虚拟环境
source venv/bin/activate
3、安装依赖包
(venv) [root@localhost XXXX] pip3 install -r requirements.txt
将flask项目所用的依赖包软件及版本写入requirements.txt文件中,
利用上面一条命令一次性全部导入。
如本项目所用requirements.txt为:
Flask==0.10.1
Flask-Login==0.2.11
Flask-Mail==0.9.1
Flask-Moment==0.4.0
Flask-PageDown==0.1.5
Flask-SQLAlchemy==2.0
Flask-Script==2.0.5
Flask-WTF==0.10.2
Flask-Cache==0.13.1
Flask-Restless==0.15.0
Flask-Uploads==0.1.3
Jinja2==2.7.3
Mako==1.0.0
Markdown==2.5.1
MarkupSafe==0.23
SQLAlchemy==0.9.8
WTForms==2.0.1
Werkzeug==0.9.6
html5lib==1.0b3
itsdangerous==0.24
six==1.8.0
awesome-slugify==1.6
flask_migrate==2.3.1
pymysql==0.9.3
四、安装数据库(Mariadb/mysql)
此处安装mariadb,可支持MySQL正常操作。
1、安装mariadb的数据库和客户端程序
yum -y install mariadb mariadb-server
2、启动mariadb数据库
# 启动数据库
systemctl start mariadb
(# 重启数据库
systemctl restart mariadb
# 停止数据库
systemctl stop mariadb
# 查看数据库的运行状态
systemctl status mariadb
# 设置数据库开机自动启动
systemctl enable mariadb)
执行以下操作时,将mariadb置于启动状态中
3、配置数据库的初始密码
mysql_secure_installation
4、数据库详细配置
Enter current password for root:<–初次运行直接回车
设置密码
Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码
其他配置
Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,
Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车
5、测试登录命令
mysql -u root -p
密码:XXXXXXX
(1)创建用户
create user 'root'@'%' identified by 'passwordXXXXX';
(2)用户授权
# 给用户最大权限 (选择这种)
grant all privileges on *.* to 'root'@'%' identified by 'passwordXXXXX';
# 给部分权限(test 数据库) (暂不选择)
#grant all privileges on test.* to 'root'@'%' identified by 'password' with grant option;
# 刷新权限表
flush privileges;
# 查看用户信息
show grants for 'root'@'localhost';
(3)创建数据库
create database if not exists XXXX(库名) default charset utf8 collate utf8_general_ci;