一、开发测试环境介绍

前提已经部署完【基于Python+Flask项目部署系列--02】Ubuntu16.04服务器安装。建议部署2套环境:开发测试环境+生产环境。

这篇文章主要讲解测试环境如何配置python flask项目与运行。

测试环境主要使用【虚拟环境】进行部署代码部署,持续开发,测试验证等任务

二、开发测试环境

1.预先约定MySQL的账号如下,分别对应root,admin,develop

root=====qwe123
admin====Root110qwe
develop==QWEqwe123

2.虚拟环境的配置

  1. 安装python2:sudo apt-get install python
  2. 下载pip文件:wget https://bootstrap.pypa.io/get-pip.py
  3. 分别给python2和python3安装pip
    • sudo python get-pip.py
    •   sudo python3 get-pip.py
  4. 下载虚拟环境包:sudo pip3 install virtualenv
  5. virtualenvwrapper是在virtualenv上再次封装的一个包,会让使用虚拟环境更加方便
    sudo pip3 install virtualenvwrapper
    sudo pip2 install virtualenvwrapper
    如果国外的源太慢了,可以换成国内的镜像,只需要加上地址就行
    sudo pip2 install -i https://pypi.douban.com/simple virtualenvwrapper
  6. 创建虚拟环境管理目录:mkdir $HOME/.virtualenvs
  7. 修改配置vim .bashrc,在文件最后添加如下代码:
    export WORKON_HOME=$HOME/.virtualenvs
    source /usr/local/bin/virtualenvwrapper.sh
  8. 运行文件,使修改生效:source ~/.bashrc
  9. 执行成功之后,就可以创建虚拟环境了
    mkvirtualenv -p /usr/bin/python3 py3env
    mkvirtualenv -p /usr/bin/python2 py2env

使用方法如下:
workon py3env
退出虚拟环境执行下面的命令:
deactivate

2.安装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=utf8
collation-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 memcached

4.python2虚拟环境下pip安装需要的模块

root@accelops:~# workon py2env
(py2env) root@accelops:~# 安装如下
pip install flask
pip install flask-wtf
pip install pymysql
pip install sqlalchemy
pip install python-memcached
pip install flask-sqlalchemy -i https://pypi.douban.com/simple
pip install flask-script
pip install Flask-Migrate
pip install PyMySQL
pip install pbkdf2
pip install redis
pip install pillow
pip install celery

转载于:https://www.cnblogs.com/forfreewill/articles/10223595.html

【基于Python+Flask项目部署系列--03】开发测试环境配置-基于Ubuntu16.04相关推荐

  1. Python Flask项目部署

    Python Flask项目部署 说明:本次安装为Centos7最小化环境下的安装 一.Python3.6安装 1.安装包下载 下载Python3.6(Python-3.6.7.tgz)的安装包. 2 ...

  2. 微信/企业微信-本地(MAC)VUE项目调用JS-SDK,开发测试环境搭建

    调用微信SDK前置条件 根据官方文档,前端在使用微信的接口前要先进行配置,配置信息得从后端获取,后端在计算signature时需要前端传入当前页面的URL,开发者要在公众平台设置JS SDK安全域名, ...

  3. 江在川上曰:云服务器上的flask项目部署(Ubuntu+Flask+Gunicorn+Supervisor+Nginx+Anaconda)

    云服务器上的flask项目部署(anaconda.python.flask等相关安装) 在探索未知的路上走了很多弯路,这里记载了我在阿里云上部署项目切实可行的步骤,当然问题因人而异,没有四海皆适用的准 ...

  4. 基于Python Flask框架+jquery Ajax技术实现的增删改查(CRUD)+Ajax的异步文件上传

    运行界面(话不多说先上图) 运行之后的index界面,有登陆.注册功能 登陆界面,输入数据库中用户名.密码不为空且密码是加密的数据,进入main界面 注册界面,用的bootstrop的弹窗,用户名和密 ...

  5. 【Python程序设计】基于Python Flask的网易云音乐歌单采集与可视化分析平台-源码经过调试,100%可运行

    基于Python Flask的网易云音乐歌单采集与可视化分析平台 项目获取 一.项目简介 二.开发环境 三.项目技术 四.功能介绍 五.功能结构 六.运行截图 项目获取 获取方式(点击下载):是云猿实 ...

  6. 基于Python Flask框架的共享自习室预约系统的设计与实现-计算机毕业设计源码+LW文档

    1.1选题背景 信息技术的发展改变了我们的生活方式,许多行业的管理模式发生了根本性改变,特别是零售业受到电子商务强烈的冲击,越来越多的人参与到网购中.许多传统行业逐渐凋零,蓬勃发展的信息技术带来了大量 ...

  7. Flask项目部署到Windows服务器

    Flask项目部署到Windows服务器 在开发调试Flask项目时,之所以能运行,是因为Flask框架自带了一个开发用的WSGI server,要将写好的flask项目部署到生产环境,需要一个性能更 ...

  8. centos7 ifconfig命令找不到_centos7+mysql+gunicorn+flask项目部署

    前言 出于学习和实践的目的,近期自己写了一个小项目关于flask的API项目,涉及到服务器的上线部署问题,这里就做一个详细的记录和分享吧~欢迎一起交流学习指正~ 正文 一.centos7安装pytho ...

  9. 基于python的全部开源的快速开发平台

    真正的大师,永远都怀着一颗学徒的心! 一.项目简介 今天说的这个软件是一款基于python的全部开源的快速开发平台. 二.实现功能 系统管理 菜单管理 部门管理 角色管理 用户管理 常规配置 字典管理 ...

最新文章

  1. Linux(Nginx)+Java SpringBoot视频微服务搭建
  2. 商城模块java_Java商城秒杀系统实战系列~构建SpringBoot多模块项目
  3. 统计含中英文混编的NSString 字符串长度
  4. keras从入门到放弃(十七)使用预训练网络VGG迁移学习
  5. phpvirtualbox+Virtualbox完整虚拟化环境部署
  6. ActiveMQ(三):ActiveMQ的安全机制、api及订阅模式demo
  7. NHibernate文档翻译--体系结构
  8. ajax communication failed,Extjs4,等待ajax请求
  9. TOJ 2353: Billiard
  10. html和css的编程规范,Bootstrap CSS编码规范
  11. easyui三级联动 html,jQuery使用EasyUi实现三级联动下拉框效果实例分享
  12. 查询某个分区是那张表_分库、分表、分区的区别
  13. 如何根据电脑显卡选择CUDA版本及显卡驱动
  14. JS 模拟鼠标自动点击【浏览器内】
  15. 轻松学python(一)
  16. 深入理解数据库磁盘存储(Disk Storage)
  17. Fourier分析入门——第1章——数学预备知识
  18. 亚马逊云科技为全球的可持续发展进程做出贡献
  19. 计算机故障代码0098,P0098故障码_P0098故障码是什么故障、排除方法、怎么消除_车主指南...
  20. 数据库系统,数据库,数据库管理系统

热门文章

  1. 图像多分类——卷积神经网络
  2. get请求可以传body吗_都9102年了,GET和POST的区别掌握了没有?
  3. pycharm变量存_pycharm不为人知的功能们
  4. Flink-Java版单词计数(批处理流处理)
  5. 促销 java_原始促销 [Java]
  6. mac 批量清空文件夹文件_【XSS 聚宝瓶】文件及文件夹批量改名工具
  7. 天池 在线编程 卡牌游戏(01背包)
  8. TensorFlow 2.0 - CNN / 预训练 / RNN
  9. [Kaggle] Housing Prices 房价预测
  10. LeetCode 1346. 检查整数及其两倍数是否存在(哈希)