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

简单记录 - 掘金 基于 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. python 使用UUID库生成唯一ID

      首先导包: import uuid   uuid1(): # make a UUID based on the host ID and current time     #  基于MAC地址,时间 ...

  2. SpringBoot + Layui +Mybatis-plus实现简单后台管理系统(内置安全过滤器)

    1. 简介   layui(谐音:类UI)是一款采用自身模块规范编写的前端UI框架,遵循原生HTML/CSS/JS的书写与组织形式,门槛极低,拿来即用.其外在极简,却又不失饱满的内在,体积轻盈,组件丰 ...

  3. 我用go-zero开发了第一个线上项目

    作者:结冰 前言 ​ 说在最前面,我是一个外表谦让,内心狂热,外表斯文,内心贪玩的一个普通人.我的职业是程序员,是一个golang语言爱好者,一半是因为golang好用,一半是因为其他语言学不好.我是 ...

  4. react第七单元(组件的高级用法-组件的组合(children的用法)-高阶组件-封装组件)

    第七单元(组件的高级用法-组件的组合(children的用法)-高阶组件-封装组件) #受控组件 简而言之,就是受到状态state控制的表单,表单的值改变则state值也改变,受控组件必须要搭配onc ...

  5. [日常摸鱼]bzoj1007[HNOI2008]水平可见直线-半平面交(对偶转凸包)

    不会写半平面交-然后发现可以转成对偶凸包问题 具体见这里:http://trinkle.blog.uoj.ac/blog/235 相关的原理我好像还是不太懂-orz #include<cstdi ...

  6. RocketMQ源码分析 broker启动,commitlog、consumequeue、indexfile、MappedFileQueue、MappedFile之间的关系以及位置说明

    目录 1.MappedFile类属性说明 1.1.MappedFile类属性如下 1.2.MappedFile构造器说明 2.MappedFileQueue类说明 2.1.属性说明 2.2.Mappe ...

  7. 单身狗福利!利用java实现每天给对象发情话,脱单指日可待!

    引言 最近看到一篇用js代码实现表白的文章,深有感触. 然后发现自己也可以用java代码实现,然后就开始写代码了,发现还挺有意思的,话不多说开搞 实现思路: 使用HttpClient远程获取彩虹屁生成 ...

  8. Centos7__Scrapy + Scrapy_redis 用Docker 实现分布式爬虫

    原理:其实就是用到redis的优点及特性,好处自己查--- 1,scrapy 分布式爬虫配置: settings.py BOT_NAME = 'first' SPIDER_MODULES = ['fi ...

  9. openstack高可用集群17-openstack集成Ceph准备

    Openstack集成Ceph准备 Openstack环境中,数据存储可分为临时性存储与永久性存储. 临时性存储:主要由本地文件系统提供,并主要用于nova虚拟机的本地系统与临时数据盘,以及存储gla ...

  10. java基础:进制详细介绍,进制快速转换,二维数组详解,循环嵌套应用,杨辉三角实现正倒直角正倒等腰三角,附练习案列

    1.Debug模式 1.1 什么是Debug模式 是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序. 1.2 Debug介绍与操作流程 如何加断点 选择 ...