一、开发测试环境介绍
前提已经部署完。建议部署2套环境:开发测试环境+生产环境。
这篇文章主要讲解测试环境如何配置python flask项目与运行。
测试环境主要使用【虚拟环境】进行部署代码部署,持续开发,测试验证等任务
二、开发测试环境
1.预先约定MySQL的账号如下,分别对应root,admin,develop
root=====qwe123admin====Root110qwedevelop==QWEqwe123
2.虚拟环境的配置
- 安装python2:sudo apt-get install python
- 下载pip文件:wget https://bootstrap.pypa.io/get-pip.py
- 分别给python2和python3安装pip
- sudo python get-pip.py
- sudo python3 get-pip.py
- 下载虚拟环境包:sudo pip3 install virtualenv
- virtualenvwrapper是在virtualenv上再次封装的一个包,会让使用虚拟环境更加方便sudo pip3 install virtualenvwrappersudo pip2 install virtualenvwrapper如果国外的源太慢了,可以换成国内的镜像,只需要加上地址就行sudo pip2 install -i https://pypi.douban.com/simple virtualenvwrapper
- 创建虚拟环境管理目录:mkdir $HOME/.virtualenvs
- 修改配置vim .bashrc,在文件最后添加如下代码:export WORKON_HOME=$HOME/.virtualenvssource /usr/local/bin/virtualenvwrapper.sh
- 运行文件,使修改生效:source ~/.bashrc
- 执行成功之后,就可以创建虚拟环境了mkvirtualenv -p /usr/bin/python3 py3envmkvirtualenv -p /usr/bin/python2 py2env
使用方法如下:
workon py3env退出虚拟环境执行下面的命令:deactivate2.安装MySQL
$sudo apt-get install mysql-server
$sudo apt-get install mysql-client$sudo apt-get install libmysqlclient-dev安装过程中会要求输入MySQL的root用户的密码,我这里采用的是qwe123(弹窗页面亮瞎)- 安装完成之后登录数据库
mysql -u root -p
- 我们创建一个管理员用户,和普通用户
#创建管理员(admin)用户
>CREATE USER 'admin'@'%' IDENTIFIED BY 'Root110qwe';#授予所有的权限>GRANT ALL ON *.* TO 'admin'@'%';>GRANT ALL ON *.* TO 'root'@'%' identified by 'qwe123';#创建普通(develop)用户>CREATE USER 'develop'@'%' IDENTIFIED BY 'QWEqwe123';#授予 查询、插入、更新和删除的权限>GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO 'develop'@'%';#提交更新,保存修改>FLUSH PRIVILEGES;##########################################- 安装完成之后去
#vim/etc/mysql/mysql.conf.d/mysqld.cnf
其中的bind-address,将默认的127.0.0.1改成0.0.0.0,更改之后,MySQL才允许远程登录。# service mysql restart
- 登录mysql
$mysql -u root -p
-u 表示选择登陆的用户名,-p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql- 查看mysql编码
mysql> show variables like '%char%';
+--------------------------+----------------------------+| Variable_name | Value |+--------------------------+----------------------------+| character_set_client | utf8 || character_set_connection | utf8 || character_set_database | latin1 || character_set_filesystem | binary || character_set_results | utf8 || character_set_server | latin1 || character_set_system | utf8 || character_sets_dir | /usr/share/mysql/charsets/ |+--------------------------+----------------------------+8 rows in set (0.01 sec)mysql> show variables like '%colla%';+----------------------+-------------------+| Variable_name | Value |+----------------------+-------------------+| collation_connection | utf8_general_ci || collation_database | latin1_swedish_ci || collation_server | latin1_swedish_ci |+----------------------+-------------------+3 rows in set (0.01 sec)- 全局修改字符编码设置为UTF-8
默认情况下,MySQL的字符集是latin1,因此在存储中文的时候,会出现乱码的情况,所以我们需要把字符集统一改成UTF-8,用vi打开MySQL服务器的配置文件my.cnf
$sudo vi /etc/mysql/my.cnf在[client]标签下,增加客户端的字符编码[client]default-character-set=utf8[mysqld]character-set-server=utf8collation-server=utf8_general_ci
Mysql服务操作:
#service mysql start设置开机自动启动mysql:
sysv-rc-conf --level 345 mysql on
3.安装Redis,memcached
- 安装Redis:
sudo apt-get -y install redis-server
安装好之后不需要配置任何东西,使用ps -ef |grep redis可以看到redis的服务已经启动。#apt-get install memcached4.python2虚拟环境下pip安装需要的模块
root@accelops:~# workon py2env
(py2env) root@accelops:~# 安装如下pip install flaskpip install flask-wtfpip install pymysqlpip install sqlalchemypip install python-memcachedpip install flask-sqlalchemy -i https://pypi.douban.com/simple pip install flask-scriptpip install Flask-Migratepip install PyMySQLpip install pbkdf2pip install redispip install pillowpip install celery