Skip to content

基于腾讯云的服务器端环境搭建

在不区分软硬件的情况下,服务器端开发需要准备的环境主要有如下几个:

  1. 服务器:服务器端代码开发及执行环境;
  2. Linux 虚拟终端软件:登录服务器,并编辑和执行服务器端代码,推荐 secureCRT;
  3. 代码编辑器:通过 FTP/SFTP 获取服务器端代码并编写代码的工具。

下面分别展开介绍及配置。

购买服务器

服务器端开发,首先需要一台服务器。这里我们有三种方式选择搭建服务器。

  1. 传统的方式,购买一台物理主机,在主机上安装操作系统及配置相应的开发环境;
  2. 在家用电脑中,安装虚拟机,安装相应的操作系统及配置相应的开发环境;
  3. 使用公有云服务,节省环境准备时间,即买即用,本小册采用这种方式。

从 2006 年亚马逊推出公有云提供 IT 基础设施服务开始,传统的方式已慢慢被颠覆,这里,我们并不需要了解公有云是个什么东西,只需要知道,传统的购买服务器行为,已经可以在公有云上按照虚拟机的方式进行购买。这样的好处也是显而易见的:一是公有云提供商提供物理及软件环境管理,如水电、空间物理管理、虚拟机稳定性、安全等;二是用完即走,续用灵活,在课程结束后,即可选择停用虚拟机或者续用,相比物理机,费用大大降低。在国内,目前主要的提供商有腾讯云和阿里云,本小册以腾讯云为例,如已购买了阿里云云主机,安装相同操作系统版本的情况下,其他操作基本一致。

注: 目前很多公有云提供商都有促销体验活动,如华为云有限额15天免费体验期,腾讯云和百度云有限额7天免费体验期,读者学习期间可以关注主要云提供商(阿里云,腾讯云,金山云,华为云,百度云,青云等)的促销活动。

注册购买云主机

进入此页面注册:注册 - 腾讯云

进入此页面购买云主机:云主机

我们并不需要购买很强大的服务器,只需要入门级虚拟机即可,如是公有云使用入门者,建议使用如下模板创建虚拟机。如果已是熟练的公有云使用者,可按照自身的情况选择虚拟机。

这里推荐两种方案,如读者打算使用服务器的时间低于半个月,推荐第一种方案,如时间高于半个月,使用第二种方案更为优惠。

方案一

按照如下红框所示购买云主机。

方案二

按照如下红框所示购买云主机。

购买完成后,几分钟后即可在云主机列表中看到已购买的虚拟机。

如下图中的“主IP地址”一栏,即为该虚拟机对外服务的外网 IP 地址,我们只需要通过这个 IP 地址,即可访问到该虚拟机。

Linux 虚拟终端软件

通过 Linux 虚拟终端软件登录服务器,主流的有 Putty、Xshell 及 SecureCRT 等软件,本小册以 secureCRT 为例。

下载 SecureCRT

SecureCRT 为付费软件,但有 30 天的免费体验期,访问 SecureCRT 官网 下载,或者通过以下地址获取:
链接: 百度网盘 - SecureCRT 8.3.2
密码: 5vv2

创建会话连接

打开 secureCRT,依次单击“文件” -> “连接”,如下所示。

“主机名”为腾讯云虚拟机对外的 IP(请替换为自己的云虚拟机 IP,余同),如下所示,其他按默认配置直至完成即可。

登录虚拟机

配置开发环境

根据第 3 节的介绍,开发环境需要安装如下软件:Python 3、Tornado、MySQL 和 SQLAlchemy。

安装 Python 3.6.2

CentOS 7.2 操作系统自带的 Python 版本为 2.7.5,本小册将以 Python 3.6.2 的版本进行讲解。即安装完 Python 3.6.2 后,系统上同时存在 Python 2.7.5 和 Python 3.6.2 两个版本。

安装依赖包

shell
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

下载 Python 3.6.2

shell
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz

创建安装目录

shell
mkdir /usr/local/python3

安装 gcc

由于 Python 3.6.2 的编译需要编译环境,故需安装 gcc。

shell
yum -y install gcc

安装 Python 3.6.2

解压 Python 3.6.2 并安装在 /usr/local/python3 目录下。

shell
tar -xvJf  Python-3.6.2.tar.xz
cd Python-3.6.2
./configure --prefix=/usr/local/python3
make && make install

创建软连

shell
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

测试 python3

安装 Tornado

CentOS 下还无法直接使用 yum install tornado,但可以使用 pip 安装 Tornado。先执行 pip3 install --upgrade pip 命令升级 pip,再执行 pip3 install tornado 命令安装 Tornado。

测试 Tornado 是否安装成功:

执行 import tornado 没有报错,表示 Tornado 已安装成功。

安装 MySQL

shell
yum install mysql-devel
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum -y install mysql-community-server
pip3 install mysqlclient
service mysqld restart

安装 MySQL 会比较久,大概 10 分钟左右,当看到 “Complete!” 后,表示安装成功。

测试 MySQL 安装是否成功:

systemctl status mysqld.service

安装 SQLAlchemy

使用 pip3 安装 SQLAlchemy:

shell
pip3 install SQLAlchemy

测试 SQLAlchemy 是否安装成功,服务器端依次输入如下命令。

shell
python3
import sqlalchemy

没有报错,证明 SQLAlchemy 已安装成功。

代码编辑器 Notepad++

当前代码编辑器/IDE 众多,较为人熟知的有 Source insight、Eclipse 和 PyCharm 等,但大都收费,读者可以利用手头的编辑器,能远程编辑代码即可。如果读者刚好在 Windows 上编辑代码,这里推荐使用 Notepad++, Notepad++ 作为一款免费的 Windows 文本编辑器,内置很多丰富的工具来编写代码。

安装 Notepad++

Notepad++ 是一款基于 Windows 平台的免费编辑器,读者可以到官网自行下载安装,也可以通过如下链接获取:
链接:百度网盘 - notepad++
密码:tl26

配置 Notepad++

Notepad++ 下载下来后,并不能立即通过 SFTP 的方法从远端服务器拉取源代码到本地计算机进行编辑,还需要安装 NppFTP 来实现这个功能。

安装远程编辑功能插件 NppFTP

打开 Notepad++,依次选择“插件” -> “Plugin Manager” -> “Show Plugin Manager”,找到NppFTP。

配置远程远端服务器

打开 NppFTP 插件面板

配置远程服务器

本小册的后续所有代码将存放在远程服务器的 data 目录下,这里配置服务器端目录时,直接拉取 data 目录。

获取远端目录文件

首先我们在服务器的 data 目录下,创建 demo 目录,并使用 Notepad++ 拉取该目录。

上传下载远端目录文件

安装 lrzsz,lrzsz 包的 rz 命令能支持从本地 Windows 上传小文件到远端服务器,而 sz 命令支持从远端服务器下载小文件到本地 Windows 上。

常用参数
  • -b:以二进制方式,默认为文本方式(Binary (tell it like it is) file transfer override.)
  • -e:对所有控制字符转义(Force sender to escape all control characters; normally XON, XOFF, DLE, CR-@-CR, and Ctrl-X are escaped.)

如果要保证上传的文件内容在服务器端保存之后与原始文件一致,最好同时设置这两个标志,如下所示方式使用:

rz -be

至此,我们已完成了服务器端的环境搭建。

小结

本小节重点介绍了如何使用腾讯云购买虚拟机的服务,以及如何配置 App 服务器端开发环境。

文章来源于自己总结和网络转载,内容如有任何问题,请大佬斧正!联系我