基于阿里云服务器端环境搭建

简单记录 - 掘金 基于 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的更多相关文章

  1. Linux 环境下安装python相关

    目录 Linux 环境下安装python相关 linux软件包管理工具之yum工具(如同pip3工具) yum源理解 下载阿里云的.repo仓库文件 ,放到/etc/yum.repos.d/ yum安 ...

  2. 尚学python课程---11、linux环境下安装python注意

    尚学python课程---11.linux环境下安装python注意 一.总结 一句话总结: 准备安装依赖包:zlib.openssl:yum install zlib* openssl*:pytho ...

  3. 尚学linux课程---10、linux环境下安装python

    尚学linux课程---10.linux环境下安装python 一.总结 一句话总结: 直接在官网下载python的源码包即可,然后在linux下安装 linux下安装软件优先想到的的确是yum,但是 ...

  4. 【Azure 应用服务】PHP应用部署在App Service for Linux环境中,上传文件大于1MB时,遇见了413 Request Entity Too Large 错误的解决方法

    问题描述 在PHP项目部署在App Service后,上传文件如果大于1MB就会遇见 413 Request Entity Too Large 的问题. 问题解决 目前这个问题,首先需要分析应用所在的 ...

  5. linux环境下安装python

    在linux系统中安装python解释器 打开官网www.python.org 选择合适的版本进行下载 将下载好的压缩包拖入Xshell中,依次输入一下命令即可 tar xf Python-.tar. ...

  6. linux环境下安装python 3

    说明: 在linux环境下,都默认安装python 2的环境,由于python3在python2的基础上升级较大,所以安装python 3环境用于使用最新的python 3的语法. 安装过程: 1.下 ...

  7. 【菜鸟学习Linux】-第一章-Linux环境搭建-安装VMware虚拟机

    本人菜鸟一个,刚毕业才上班2个月,现在用到Linux部署项目,这才开始学习Linux,以下是我在安装Linxu系统是遇到的一些问题,希望能给广大菜鸟们在学习的道路上提供帮助和指导,废话不多说!开工! ...

  8. App自动化测试-1.App自动化介绍和环境搭建

    App自动化测试-1.App自动化介绍和环境搭建 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-b ...

  9. Python环境搭建、python项目以docker镜像方式部署到Linux

    Python环境搭建.python项目以docker镜像方式部署到Linux 本文的项目是用Python写的,记录了生成docker镜像,然后整个项目在Linux跑起来的过程: 原文链接:https: ...

随机推荐

  1. Service Cloud 零基础(二)Knowledge浅谈

    本篇参考:https://trailhead.salesforce.com/content/learn/projects/set-up-salesforce-knowledge https://tra ...

  2. DP-DAY3游记

    问题 A: 2017夏令营第一阶段(Day3)问题A拆分数字I 题目描述    把数字N拆分一些正整数的和,问有多少种不同的方法? 例如:N=4,有1+1+1+1.1+1+2.1+2+1.1+3.2+ ...

  3. Acunetix 11手动导入Burp suite抓取的网页

    设置爬取 因为Burp的代理默认配置拦截所有请求,需要先来关闭这个功能,在Proxy标签页面中,选择Intercept子标签页面,点击 Intercept is on按钮. 使用配置好代理服务器的浏览 ...

  4. Python十大装B语法!你会几种?

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 Python 是一种代表简单思想的语言,其语法相对简单,很容易上手.不过,如果就此小视 Python ...

  5. Python之selenium创建多个标签页

    最近在做一个项目,需要用到cookies登录,想法是,在同一个浏览器下,打开两个标签页进行.让其自动获取cookies,先记录,不行的话,到时候再手动加载cookies. 1 ''' 2 #selen ...

  6. H3C路由器配置示列一

    说明: 如上图所示,192.168.0.0网段是总公司的网络,192.168.3.0和192.168.4.0网段是当前自己分公司的网络,且192.168.3.0是内网不能访问互联网,192.168.4 ...

  7. 【代码周边】npm是What?

    社区 程序员自古以来就有社区文化: 社区的意思是:拥有共同职业或兴趣的人们,自发组织在一起,通过分享信息和资源进行合作.虚拟社区的参与者经常会在线讨论相关话题,或访问某些网站.前端程序员也有社区,世界 ...

  8. 使用metadata-extractor获取照片中的位置、曝光度、大小...

    使用metadata-extractor实现获取图片中的属性信息 官网:https://drewnoakes.com/code/exif/ 简介:metadata-extractor允许您通过简单的A ...

  9. San Francisco Crime Classification非数值性多分类问题

    给出了旧金山以往犯罪活动的相关信息,预测特定条件下的犯罪情况 分析数据集和测试集信息: 训练集给出的信息有: 1.Dates:时间日期和时间,这里考虑时间对犯罪活动有影响,日期和下边的周几有相似处,取 ...

  10. 分析http协议和高并发网站架构

    案例任务名称 分析http协议和高并发网站架构 案例训练目标 深入理解http协议的工作原理 掌握http协议的分析方法 包含技能点 搭建web服务器 编辑简单的html页面并上传到服务器 使用wir ...