【Python】部署上手App后端服务器 - Linux环境搭建安装Python、Tornado、SQLAlchemy
基于阿里云服务器端环境搭建
简单记录 - 掘金 基于 Python 轻松自建 App 服务器
目标是搭建一款简洁、高效,并能快速部署及上手的 App 后端服务器。
先环境搭建。
配置开发环境
基于阿里云的服务器端环境搭建
开发环境需要安装如下软件:Python 3、Tornado、MySQL 和 SQLAlchemy。
Shell连接阿里云CentOS7服务器, CentOS 是 Red Hat 的开源版本,由 Red Hat 公司维护测试。

安装 Python 3.8.2
CentOS 7 安装 Python 3.8.2
安装依赖包
yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
我的已经安装了
[root@liuawen Python-3.8.2]# yum -y groupinstall "Development tools"
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Maybe run: yum groups mark install (see man yum)
No packages in any requested group available to install or update
[root@liuawen Python-3.8.2]# yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Package zlib-devel-1.2.7-18.el7.x86_64 already installed and latest version
Package bzip2-devel-1.0.6-13.el7.x86_64 already installed and latest version
Package 1:openssl-devel-1.0.2k-19.el7.x86_64 already installed and latest version
Package ncurses-devel-5.9-14.20130511.el7_4.x86_64 already installed and latest version
Package sqlite-devel-3.7.17-8.el7_7.1.x86_64 already installed and latest version
Package readline-devel-6.2-11.el7.x86_64 already installed and latest version
Package 1:tk-devel-8.5.13-6.el7.x86_64 already installed and latest version
Package gdbm-devel-1.10-8.el7.x86_64 already installed and latest version
Package libdb4-devel-4.8.30-13.el7.x86_64 already installed and latest version
Package 14:libpcap-devel-1.5.3-11.el7.x86_64 already installed and latest version
Package xz-devel-5.2.2-1.el7.x86_64 already installed and latest version
Nothing to do
[root@liuawen Python-3.8.2]#
创建安装目录
mkdir /usr/local/python
我的执行
[root@liuawen ~]# cd /usr/local
[root@liuawen local]# pwd
/usr/local
[root@liuawen local]# mkdir python3
[root@liuawen local]# cd python3
[root@liuawen python3]# pwd
/usr/local/python3
下载 Python 3.8.2
2020-04-16 3.8.2 下载
https://www.python.org/downloads/
CentOS7 执行下载Python 3.8.2
wget https://www.python.org/ftp/python/3.6.2/Python-3.8.2.tar.xz
安装 gcc
由于 Python 3.8.2 的编译需要编译环境,故需安装 gcc。
yum -y install gcc
我的已经安装了
[root@liuawen python3]# yum -y install gcc
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Package gcc-4.8.5-39.el7.x86_64 already installed and latest version
Nothing to do
[root@liuawen python3]#
安装Python 3.8.2
解压 Python 3.8.2 并安装在 /usr/local/python3 目录下。
tar -xvJf Python-3.8.2.tar.xz
cd Python-3.8.2
./configure --prefix=/usr/local/python3
make && make install
创建软连
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
测试python3

[root@liuawen Python-3.8.2]# python3 --version
Python 3.8.2
[root@liuawen Python-3.8.2]# python3
Python 3.8.2 (default, Apr 16 2020, 22:55:55)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>>
KeyboardInterrupt
>>> exit
Use exit() or Ctrl-D (i.e. EOF) to exit
>>> exit()
安装 Tornado
HTTP 服务器框架Tornado, 简洁高效,易扩展,高并发。
使用 pip 安装 Tornado,先执行 pip3 install --upgrade pip 命令升级 pip,再执行 pip3 install tornado 命令安装 Tornado。
pip3 install --upgrade pip
pip3 install tornado
我的之前下载过了
[root@liuawen python3]# pip3 install --upgrade pip
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Requirement already up-to-date: pip in ./lib/python3.8/site-packages (20.0.2)
[root@liuawen python3]# pip3 install tornado
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Requirement already satisfied: tornado in ./lib/python3.8/site-packages (6.0.4)
[root@liuawen python3]#
测试 Tornado 是否安装成功:
[root@liuawen Python-3.8.2]# python3
Python 3.8.2 (default, Apr 16 2020, 22:55:55)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print("hello world!")
hello world!
>>> import tornado
>>>
>>> exit()
[root@liuawen Python-3.8.2]#
执行 import tornado 没有报错,表示 Tornado 已安装成功。
安装 MySQL
MySQL 是流行的关系型数据库管理系统(RDBMS)。
yum install mysql-develwget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpmrpm -ivh mysql-community-release-el7-5.noarch.rpmyum -y install mysql-community-serverpip3 install mysqlclientservice mysqld restart
我的很久之前安装了。
[root@liuawen Python-3.8.2]# service mysqld restart
Shutting down MySQL.... [ OK ]
Starting MySQL. [ OK ]
[root@liuawen Python-3.8.2]#
安装 mysqlclient
使用mysqlclient来操作mysql。
pip3 install mysqlclient
[root@liuawen Python-3.8.2]# pip3 install mysqlclient
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting mysqlclient
Downloading https://pypi.tuna.tsinghua.edu.cn/packages/d0/97/7326248ac8d5049968bf4ec708a5d3d4806e412a42e74160d7f266a3e03a/mysqlclient-1.4.6.tar.gz (85 kB)
|████████████████████████████████| 85 kB 7.3 MB/s
Installing collected packages: mysqlclient
Running setup.py install for mysqlclient ... done
Successfully installed mysqlclient-1.4.6
安装 SQLAlchemy
使用第三方SQLAlchemy来操作数据库,使用第三方的好处是很多底层 MySQL 的命令被封装成简单的API暴露给用户,并提供强大的整合功能。
使用 pip3 安装 SQLAlchemy:
ip3 install SQLAlchemy
[root@liuawen Python-3.8.2]# pip3 install SQLAlchemy
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting SQLAlchemy
Downloading https://pypi.tuna.tsinghua.edu.cn/packages/2b/1a/65673e3d242dd557576c538b72e8ae85224d698cd08b7b60e822d203fab4/SQLAlchemy-1.3.16-cp38-cp38-manylinux2010_x86_64.whl (1.2 MB)
|████████████████████████████████| 1.2 MB 10.4 MB/s
Installing collected packages: SQLAlchemy
Successfully installed SQLAlchemy-1.3.16
[root@liuawen Python-3.8.2]#
测试 SQLAlchemy 是否安装成功,服务器端依次输入如下命令。
[root@liuawen Python-3.8.2]# python3
Python 3.8.2 (default, Apr 16 2020, 22:55:55)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlalchemy
>>>
没有报错,证明 SQLAlchemy 已安装成功。
基本环境已搭建
【Python】部署上手App后端服务器 - Linux环境搭建安装Python、Tornado、SQLAlchemy的更多相关文章
- Linux 环境下安装python相关
目录 Linux 环境下安装python相关 linux软件包管理工具之yum工具(如同pip3工具) yum源理解 下载阿里云的.repo仓库文件 ,放到/etc/yum.repos.d/ yum安 ...
- 尚学python课程---11、linux环境下安装python注意
尚学python课程---11.linux环境下安装python注意 一.总结 一句话总结: 准备安装依赖包:zlib.openssl:yum install zlib* openssl*:pytho ...
- 尚学linux课程---10、linux环境下安装python
尚学linux课程---10.linux环境下安装python 一.总结 一句话总结: 直接在官网下载python的源码包即可,然后在linux下安装 linux下安装软件优先想到的的确是yum,但是 ...
- 【Azure 应用服务】PHP应用部署在App Service for Linux环境中,上传文件大于1MB时,遇见了413 Request Entity Too Large 错误的解决方法
问题描述 在PHP项目部署在App Service后,上传文件如果大于1MB就会遇见 413 Request Entity Too Large 的问题. 问题解决 目前这个问题,首先需要分析应用所在的 ...
- linux环境下安装python
在linux系统中安装python解释器 打开官网www.python.org 选择合适的版本进行下载 将下载好的压缩包拖入Xshell中,依次输入一下命令即可 tar xf Python-.tar. ...
- linux环境下安装python 3
说明: 在linux环境下,都默认安装python 2的环境,由于python3在python2的基础上升级较大,所以安装python 3环境用于使用最新的python 3的语法. 安装过程: 1.下 ...
- 【菜鸟学习Linux】-第一章-Linux环境搭建-安装VMware虚拟机
本人菜鸟一个,刚毕业才上班2个月,现在用到Linux部署项目,这才开始学习Linux,以下是我在安装Linxu系统是遇到的一些问题,希望能给广大菜鸟们在学习的道路上提供帮助和指导,废话不多说!开工! ...
- App自动化测试-1.App自动化介绍和环境搭建
App自动化测试-1.App自动化介绍和环境搭建 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-b ...
- Python环境搭建、python项目以docker镜像方式部署到Linux
Python环境搭建.python项目以docker镜像方式部署到Linux 本文的项目是用Python写的,记录了生成docker镜像,然后整个项目在Linux跑起来的过程: 原文链接:https: ...
随机推荐
- 我的第一次shell
我的第一次shell 最近我们的项目需要进行优化,整体架构进行改造. 然后我们红超哥就看我骨骼惊奇,说小伙子你想不想当做掌门人呀.(我说不想哈哈) 想不想也没用了,红超哥说我们现在的架构有所改变,需要 ...
- uniapp计算属性的使用
计算属性,也可称为动态属性,在uniapp中有两种写法: 第一种:直接返回一个计算的值,该计算属性为函数类型 computed:{ kh_score(){ var list = this.taskLi ...
- ssh 免密码登陆设置不成功
记一次centos6设置免密码登陆设置不成功的解决.自己挖的坑自己填. ssh 免密码登陆设置( 正常情况下是这样的,设置成功后登陆主机是不需要密码的) [root@master .ssh]# ssh ...
- 实验4 汇编应用编程和c语言程序反汇编分析
1. 实验任务1 教材「实验9 根据材料编程」(P187-189)编程:在屏幕中间分别显示绿色.绿底红色.白底蓝色的字符串'welcome to masm!'. 解题思路:根据学习的知识,我知道该页在 ...
- BloomFilter中保存的数据量
结果 /** * @author WeiJiQian * BF_CARDINAL_THRESHOLD BF_FALSE_POSITIVE_RATE 保存的数据量 * 100,0000 0.01 391 ...
- 网站开发学习Python实现-Django的models学习-生鲜项目(6.3.2)
@ 目录 1.说明 2.模型类的设计 3.代码的具体实现 4.详情地址 关于作者 1.说明 models是django的很重要的部分,所以深入研究. 本文章的所研究项目为黑马教育python课程中的项 ...
- python归并排序
由于某人问我要个归并排序,就凑合写了一个,AA = raw_input().split(' ') A = []; for num in AA: A.append(int(num)) def Merge ...
- matlab随机系数矩阵产生以及矩阵的可视化函数
clc; clear all; close all; n = 100;%所产生矩阵的大小 A= sprandsym(n,0.015,0.1,1);%产生系数矩阵函数: spy(A)矩阵图形化相当于im ...
- HCIP --- BGP综合实验
实验要求: 实验拓扑: 一.配置IP地址 L:代表环回地址(loop back 0) Y:代表业务网段的地址(loop back 1) 二.因为BGP基于IGP之上,给AS 2内配置OSPF 在R2上 ...
- 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU硬件那些事(2.6)- 串行NOR Flash下载算法(MCUXpresso IDE篇)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是MCUXpresso IDE开发环境下i.MXRT的串行NOR Flash下载算法设计. 在i.MXRT硬件那些事系列之<在串行N ...