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

简单记录 - 掘金 基于 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. Struts2 S2-061(CVE-2020-17530)漏洞复现

    0x00 漏洞简介 Apache Struts2框架是一个用于开发Java EE网络应用程序的Web框架.Apache Struts于2020年12月08日披露 S2-061 Struts 远程代码执 ...

  2. 新手关于C++ cin 的返回值

    cin是C++的标准输入流,其本身是一个对象,并不存在返回值的概念. 不过经常会有类似于 while(cin>>a) 的调用,这里并不是cin的返回值,应该关注">> ...

  3. 在Qt中配置海康工业相机SDK及遇到的问题(报错)

    1.在项目的.pro文件里导入海康工业相机的SDK路径 INCLUDEPATH += \ D:\HKVersion\MVS_3.1.0\MVS\Development\Includes #这时到入Op ...

  4. 【Django】django.core.exceptions.ImproperlyConfigured: mysqlclient 1.4.0 or newer is required;

    报错信息 django.core.exceptions.ImproperlyConfigured: mysqlclient 1.4.0 or newer is required; you have 0 ...

  5. 2020-2021-1 20209307《Linux内核原理与分析》第一周作业

    一.Linux基础命令操作 1.查看目录.新建文件.复制移除文件等 ls[选项] [文件或目录] -a 显示所有文件 包含隐藏文件 -l显示详细信息 -d查看目录属性 pwd显示当前目录 mkdir ...

  6. js上 五、运算符-1

    5.1.认识运算符 什么是运算符? 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算. 运算符的应用: 购物车:计算总价,数量: **Js ** 中有哪些运算符? 算术运算符.赋值运算符 ...

  7. 最详细10招Spark数据倾斜调优

    最详细10招Spark数据倾斜调优 数据量大并不可怕,可怕的是数据倾斜 . 数据倾斜发生的现象 绝大多数 task 执行得都非常快,但个别 task 执行极慢. 数据倾斜发生的原理 在进行 shuff ...

  8. Spark-5-如何定位导致数据倾斜的代码

    数据倾斜只会发生在shuffle过程中.这里给大家罗列一些常用的并且可能会触发shuffle操作的算子:distinct.groupByKey.reduceByKey.aggregateByKey.j ...

  9. 多任务-python实现-多线程共享全局变量(2.1.3)

    @ 目录 1.全局变量的修改 2.全局变量在多线程中的共享 3.多线程可能遇到的问题 1.全局变量的修改 代码实现 num = 100 nums = [11,22] def test(): globa ...

  10. C# Wpf 文件保存对话框

    C# Wpf库中无文件保存对话框,需引用winform,引用winform后多处提示引用不明确,将winform引用改别名. // 引用winform,改别名 using Forms = System ...