0%

腾讯云环境配置

教程使用服务器:腾讯云 1核 2GB 1Mbps 基础入门版

操作系统:Centos 7

登录终端服务器

登陆终端服务器有很多种方式,这里只介绍两种比较常用的:腾讯云控制台直接登录和 SSH 登录。

腾讯云控制台登录终端服务器

首先,登录 腾讯云控制台 。购买云服务器我就不介绍了吧,花钱的事他们弄得都很简单且一目了然。

不出意外的话,在登陆进来之后,就能看见购买到的主机信息:

当然,如果没有看见主机也没关系,很可能是因为机房地址没有选对。在左上角实例的旁边可以选择机房地址。比如,我的机房是在上海,就选择上海。你的机房在哪就选哪里。

初次登陆,要给服务器设置密码,点击更多 –> 密码/密钥 –> 重置密码(也可能是设置密码之类的,反正跟密码有关就成)

重置密码也是要验证身份的,微信扫一扫即可,十分方便(不便中的方便)。然后按照要求重置密码即可。

重置好密码,点击登录,输入刚刚设置的密码就可以登录到我们的云服务器中了:

登录进来后是这样的:

我的系统是 Centos 7,教程也主要是面向 Centos 7 做的。

SSH 登录

除了使用腾讯云的网站控制台,我们也可以通过 SSH 更加灵活地操控我们的云服务器。

首先需要下载 Xshell。建议使用官网的下载地址下载。对于个人和家庭使用是免费的。因为实在外网,所以下载速度十分慢,请一定耐心等待。千万记得,这种涉及到根本安全的软件一定要在官网下载。不要图一时方便,给未来留下隐患。

另外,也建议同时把与 Xshell 同一个公司的 Xftp 下载,非常好用。

下载好点击下一步安装即可。

运行 Xshell,新建一个会话,主机那里写远程主机的 IP。

然后点击右面的用户身份验证,输入用户名和密码:

点击键盘,把 DELETEBACKSPACE 键序列都设置成 ASCII 127。这样做是为了避免使用 Python 不能删除内容的麻烦:

点击连接,即可连接到我们的服务器了:

安装 Python 3

因为本教程主要面向小白,所以,下面所有的操作请一步一步跟随,不要落下,也尽量不要改步骤,除非你知道自己在做什么。

首先,到 /usr/bin 目录下查看系统安装的 Python 版本(一定要注意,是 usr,不是 user!):

1
2
3
[root@VM_0_16_centos ~]# cd /usr/bin
[root@VM_0_16_centos bin]# ls python*
python python2 python2.7

我的系统中只安装了 Python 2.7,需要再安装 Python 3 才能运行我的项目。

如果你的系统中安装了 Python 3,可以忽略这一部分,直接到下面的数据库安装。

ls 后面加上 -al 参数,我们可以看到这三个 Python 之间的联系:

1
2
3
4
5
python  python2  python2.7
[root@VM_0_16_centos bin]# ls -al python*
lrwxrwxrwx. 1 root root 7 Aug 8 2018 python -> python2
lrwxrwxrwx. 1 root root 9 Aug 8 2018 python2 -> python2.7
-rwxr-xr-x. 1 root root 7216 Apr 11 2018 python2.7

python 默认指向 python 2。这对我们并不友好,我们更希望让 python 指向 python 3。不过我们不要直接把它删除,而给这个 python 文件备份一下改个名字,以防日后遇到麻烦:

1
[root@VM_0_16_centos bin]# mv python python.bak

安装依赖:

1
2
3
[root@VM_0_16_centos bin]# yum -y install zlib-devel bzip2-devel openssl-devel openssl-static ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel lzma gcc

[root@VM_0_16_centos bin]# yum -y groupinstall "Development tools"

创建 /usr/bin/python3 目录:

1
[root@VM_0_16_centos bin]# mkdir /usr/local/python3

进入到刚刚创建的 python3 目录:

1
2
3
[root@VM_0_16_centos bin]# cd /usr/local/python3
[root@VM_0_16_centos python3]# ll
total 0

然后下载 Python 安装包。我下载的是 3.6.8 版本,是一个长期维护的稳定版本。你也可以自己选择需要下载的 Python 版本,只要把连接中的两个 3.6.8 换成你需要的版本号即可:

1
[root@VM_0_16_centos python3]# wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz

同样地,这是一个国外的网站,访问和下载的速度会比较慢,请耐心等待。

下载完成后,会在当前目录出现一个 Python-3.6.8.tgz 压缩包,使用命令解压即可。同样地,如果你下载的是其他版本,注意将这里的 3.6.8 改成你下载的 Python 版本号:

1
[root@VM_0_16_centos python3]# tar -xvf Python-3.6.8.tgz

解压完成后进入解压好的文件目录中:

1
2
[root@VM_0_16_centos python3]# cd Python-3.6.8
[root@VM_0_16_centos Python-3.6.8]#

确保我们是在上面的那个解压好的文件中,然后指定 Python 的安装目录:

1
[root@VM_0_16_centos Python-3.6.8]# ./configure --prefix=/usr/local/python3Dir

上面这行代码的意思是,把 Python 的安装目录指定一下,这样的话,里面的一些 bin 目录、lib 目录就都会存放在这个目录下面。如果不指定这个安装目录的话,最后 Python 的安装文件将分散到 linux 的默认目录。我们指定安装目录,以后卸载的话直接删除目录就可以干净卸载了。

确保我们所在的目录还是 /usr/bin/python3/Python-3.6.8,执行编译命令:

1
[root@VM_0_16_centos Python-3.6.8]# make

等待编译完成,开始安装:

1
[root@VM_0_16_centos Python-3.6.8]# make install

切换到我们刚刚指定的 Python 安装目录,可以看到里面已经有了文件:

1
2
3
4
5
6
7
8
[root@VM_0_16_centos Python-3.6.8]# cd /usr/local/python3Dir
[root@VM_0_16_centos python3Dir]# ll
total 16
drwxr-xr-x 2 root root 4096 Dec 4 17:14 bin
drwxr-xr-x 3 root root 4096 Dec 4 17:14 include
drwxr-xr-x 4 root root 4096 Dec 4 17:14 lib
drwxr-xr-x 3 root root 4096 Dec 4 17:14 share
[root@VM_0_16_centos python3Dir]#

然后,我们切换到 /usr/bin 目录,给我们的 Python 3 建立一个名为 python 的软连接:

1
2
[root@VM_0_16_centos python3Dir]# cd /usr/bin
[root@VM_0_16_centos bin]# ln -s /usr/local/python3Dir/bin/python3 /usr/bin/python

不出意外的话,此时已经可以正常使用 Python 3 了。

但是注意,事情尚为结束!Centos 的 yum 依赖于 python 2,但是我们把 python 的指向改成了 python 3,会造成兼容性的问题,需要我们额外进行一些配置。

另外,下面的操作需要使用 vi 操作,像我一样不懂 vi 的同学,一定要看仔细了,要不然一定会被这东西搞晕的。

首先,确保你的输入法是英文输入法,然后输入命令:

1
[root@VM_0_16_centos bin]# vi /usr/bin/yum

在跳出的新界面中,不要乱按,听我的指示!

现在,按下键盘上的字母 i 键。如果一切都是按步骤操作的话,现在你应该已经可以编辑文件了。

此时,把文档的第一行 #!/usr/bin/python 改成 #!/usr/bin/python2.7。别的地方不要改。

然后,按下 Esc 键退出编辑。

接下来,键入冒号 :,即 shift + ;,进入命令操作,注意左下角会有输入框出现:

输入 wq 后按下 回车 键,即可保存退出了。

除了 /usr/bin/yum 文件,我们还需要将 /usr/libexec/urlgrabber-ext-down/usr/bin/yum-config-manager 两个文件的第一行修改为 python2.7,修改方法跟上面一样:

1
2
[root@VM_0_16_centos bin]# vi /usr/libexec/urlgrabber-ext-down
[root@VM_0_16_centos bin]# vi /usr/bin/yum-config-manager

检查更新,看看 yum 是否好用:

1
[root@VM_0_16_centos bin]# yum update

我们来查看一下链接情况:

1
2
3
4
5
[root@VM_0_16_centos bin]# ll -a python*
lrwxrwxrwx 1 root root 33 Dec 4 17:18 python -> /usr/local/python3Dir/bin/python3
lrwxrwxrwx. 1 root root 9 Aug 8 2018 python2 -> python2.7
-rwxr-xr-x. 1 root root 7216 Apr 11 2018 python2.7
lrwxrwxrwx. 1 root root 7 Aug 8 2018 python.bak -> python2

查看一下当前 Python 版本:

1
2
[root@VM_0_16_centos bin]# python -V
Python 3.6.8

我们还可以来一段 Hello World 代码测试一下:

1
2
3
4
5
6
7
[root@VM_0_16_centos bin]# python
Python 3.6.8 (default, Dec 4 2019, 17:12:30)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print('Hello World!')
Hello World!
>>>

安装 MySQL 5.6

最新版本的 MySQL 是 8.0 版本,同样地,因为兼容性等问题,我们还是安装比较稳定经典的 5.6 版本。

首先,查看系统中是否已经安装了 MySQL:

1
2
[root@VM_0_16_centos ~]# rpm -qa|grep mysql
[root@VM_0_16_centos ~]#

如果返回值为空,就说明没有安装 MySQL。

注意:新版本的 CentOS 7 中,默认的数据库是 MariaDB。使用 yum install mysql 命令只是更新 MariaDB 数据库,而不是安装 MySQL。

然后,看一下已经安装的 MariaDB 的版本:

1
2
3
[root@VM_0_16_centos ~]# rpm -qa|grep -i mariadb
mariadb-libs-5.5.64-1.el7.x86_64
[root@VM_0_16_centos ~]#

确认我们有安装 MariaDB,现在就可以把 MariaDB 卸载:

1
2
[root@VM_0_16_centos ~]# rpm -qa|grep mariadb|xargs rpm -e --nodeps
[root@VM_0_16_centos ~]#

命令执行得很快,也没有任何提示。

我们可以通过之前的,查看 MariaDB 版本的方法,确认是否成功卸载:

1
2
[root@VM_0_16_centos ~]# rpm -qa|grep -i mariadb
[root@VM_0_16_centos ~]#

创建一个 /usr/local/mysql 的路径,并进入改文件夹中,稍后我们会把 MySQL 的安装包下载到这个目录下:

1
2
3
4
[root@VM_0_16_centos ~]# mkdir /usr/local/mysql
[root@VM_0_16_centos ~]# cd /usr/local/mysql
[root@VM_0_16_centos mysql]# ll
total 0

下载 MySQL 5.6 的安装包:

1
[root@VM_0_16_centos mysql]# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

安装 mysql-community-release-el7-5.noarch.rpm 包:

1
[root@VM_0_16_centos mysql]# rpm -ivh mysql-community-release-el7-5.noarch.rpm

安装完成后,会在 /etc/yum.repos.d/ 目录下新增 mysql-community.repomysql-community-source.repo 两个 yum 源文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@VM_0_16_centos mysql]# cd /etc/yum.repos.d
[root@VM_0_16_centos yum.repos.d]# ll
total 44
-rw-r--r-- 1 root root 614 Dec 4 15:07 CentOS-Base.repo
-rw-r--r-- 1 root root 1309 Sep 5 21:05 CentOS-CR.repo
-rw-r--r-- 1 root root 649 Sep 5 21:05 CentOS-Debuginfo.repo
-rw-r--r-- 1 root root 230 Dec 4 15:07 CentOS-Epel.repo
-rw-r--r-- 1 root root 314 Sep 5 21:05 CentOS-fasttrack.repo
-rw-r--r-- 1 root root 630 Sep 5 21:05 CentOS-Media.repo
-rw-r--r-- 1 root root 1331 Sep 5 21:05 CentOS-Sources.repo
-rw-r--r-- 1 root root 6639 Sep 5 21:05 CentOS-Vault.repo
-rw-r--r-- 1 root root 1209 Jan 29 2014 mysql-community.repo
-rw-r--r-- 1 root root 1060 Jan 29 2014 mysql-community-source.repo

最后两个文件就是了。

查看可用的 mysql 安装文件:

1
2
3
4
5
6
7
8
9
10
11
[root@VM_0_16_centos yum.repos.d]# yum repolist all|grep mysql
mysql-connectors-community/x86_64 MySQL Connectors Community enabled: 131
mysql-connectors-community-source MySQL Connectors Community - S disabled
mysql-tools-community/x86_64 MySQL Tools Community enabled: 100
mysql-tools-community-source MySQL Tools Community - Source disabled
mysql55-community/x86_64 MySQL 5.5 Community Server disabled
mysql55-community-source MySQL 5.5 Community Server - S disabled
mysql56-community/x86_64 MySQL 5.6 Community Server enabled: 496
mysql56-community-source MySQL 5.6 Community Server - S disabled
mysql57-community-dmr/x86_64 MySQL 5.7 Community Server Dev disabled
mysql57-community-dmr-source MySQL 5.7 Community Server Dev disabled

接下来,就可以使用 yum 安装 MySQL 了:

1
[root@VM_0_16_centos yum.repos.d]# yum install mysql-server

问是否 OK 的话,选 y 即可。

同样的问题再次出现,MySQL 也是外网,需要给他点时间下载。

下载完成后,检查 MySQL 是否安装成功:

1
2
3
4
5
6
7
[root@VM_0_16_centos yum.repos.d]# rpm -qa|grep mysql
mysql-community-client-5.6.46-2.el7.x86_64
mysql-community-server-5.6.46-2.el7.x86_64
mysql-community-common-5.6.46-2.el7.x86_64
mysql-community-libs-5.6.46-2.el7.x86_64
mysql-community-release-el7-5.noarch
[root@VM_0_16_centos yum.repos.d]#

MySQL 5.6.46 版本已经成功安装。

启动和关闭 MySQL 服务相关的命令:

1
2
3
4
systemctl start mysqld.service #启动 mysql
systemctl restart mysqld.service #重启 mysql
systemctl stop mysqld.service #停止 mysql
systemctl enable mysqld.service #设置 mysql 开机启动

此刻,已经完成了 MySQL 的安装。

接下来就是配置 MySQL 数据库:

1
[root@VM_0_16_centos etc]# vi /etc/my.cnf

参考配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[mysqld]
character-set-server=utf8
default-storage-engine=INNODB
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
default-character-set=utf8

环境配置

安装PIP

下载 PIP 安装包:

1
2
3
[root@VM_0_16_centos etc]# mkdir /usr/local/pip
[root@VM_0_16_centos etc]# cd /usr/local/pip
[root@VM_0_16_centos pip]# wget https://bootstrap.pypa.io/get-pip.py

安装 PIP:

1
[root@VM_0_16_centos pip]# python get-pip.py

Django 和其他 Python 第三方包就可以使用 pip 直接安装了。

1
[root@VM_0_16_centos pip]# python -m pip install pymysql

pip 国内源

这里是一些国内的 pip 镜像:

1
2
3
4
5
6
7
阿里云 https://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/

使用国内源可以避免因服务器在国外而导致下载速度过慢的问题:

1
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspider

安装依赖库

把我们需要的依赖库都找到是很麻烦的,不小心忘记某个库还会报错。

好在 pip 有 freeze 方法,我们可以直接把本地的环境导出到文件中:

1
pip freeze > requirements.txt

然后,将 requirements.txt 文件上传到云端,就可以批量安装我们需要的依赖库了:

1
pip install -r requirements.txt

部署 Django 应用

首先要同步数据库,然后尝试着运行 Django 项目:

1
sudo python3 manage.py runserver 0.0.0.0:80

在后台运行 django 应用,不随腾讯云 web 会话断开而关闭应用:

1
sudo nohup python3 manage.py runserver 0.0.0.0:80 &
  • nohup(no hang up)用途:不挂断地运行命令

  • &用途:在后台运行

若想查看后台 Django 进程的运行情况,可以使用命令:

1
ps -ef|grep "python"

输出结果中,就包含我们刚刚输入的命令:

1
2
3
root     12374  8836  0 17:58 pts/0    00:00:00 sudo nohup python3 manage.py runserver 0.0.0.0:80
root 12375 12374 0 17:58 pts/0 00:00:00 python3 manage.py runserver 0.0.0.0:80
root 12378 12375 1 17:58 pts/0 00:00:00 /usr/bin/python3 manage.py runserver 0.0.0.0:80

若要杀死 Django 进程,可以使用命令:

1
kill -s 9 12378

其中,12378 是最后一个 Django 命令的进程号,也就是真正运行中的进程。

对于后台运行的进程最好自定义进程名,省的找不到,可以在 manage.py 文件中加上进程名定义:

1
2
3
4
5
try:
import setproctitle
setproctitle.setproctitle("xxxx")
except:
pass

然后就可以通过命令过滤出对应的后台进程了:

1
ps -A | grep "xxxx"

部署数据库

安装 MySQL:

1
sudo apt install mysql-server

数据库的启动/关闭/重启:

1
2
3
sudo service mysql start
sudo service mysql stop
sudo service mysql restart

数据库密码修改:

1
set password = password('123');

数据库备份:

1
sudo mysqldump -u username -p --databases dbname2 dbname2 > Backup.sql

数据库还原:

1
sudo mysqlhotcopy [option] dbname1 dbname2 backupDir

设置数据库的登陆方式为密码认证:

1
2
3
4
USE mysql;
UPDATE user SET plugin='mysql_native_password' WHERE user='root';
FLUSH PRIVILEGES;
exit;

部署 Java 环境

安装 Java

首先,查看是否已经安装了 Java:

1
java -version

从结果上看,并没有:

1
2
3
4
5
Command 'java' not found, but can be installed with:

sudo apt install default-jre
sudo apt install openjdk-11-jre-headless
sudo apt install openjdk-8-jre-headless

不过他也给了我们提示命令。这些命令都是安装 Java jre,也就是运行环境的,可以应付我们绝大多数的使用环境。如果没有特殊需求,可以直接安装默认的 default-jre。为了确保兼容性,也可以安装 openjdk-8:

1
sudo apt install openjdk-8-jre

我们也可以安装 Java 8 jdk,也就是开发套件,期间需要输入 y 确认安装:

1
sudo apt install openjdk-8-jdk

输入命令 java -version 即可查看当前 Java 版本号:

许多 Java 写的程序使用 JAVA_HOME 变量来确定 Java 的安装位置,所以我们需要在环境变量中设置 JAVA_HOME 变量。

首先,使用命令确定 Java 的安装位置:

1
sudo update-alternatives --config java

从结果来看,我的 Java 安装在了 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

1
2
There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
Nothing to configure.

打开 /etc/environment 环境变量文件:

1
sudo nano /etc/environment

在文件的末尾添加 JAVA_HOME 参数:

1
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java"

对于 nano 编辑器来说,ctrl + o 保存,ctrl + x 退出。

重新加载此文件:

1
source /etc/environment

验证是否成功添加 JAVA_HOME 至环境变量:

1
echo $JAVA_HOME

响应数据确实是我们 Java 所在的路径,安装成功:

1
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

安装 Node.js

输入下面的命令可直接安装 node.js

1
2
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs

查看 Java、node 和 npm 版本已确认安装成功:

1
2
3
4
5
6
7
8
ubuntu@VM-0-16-ubuntu:~$ java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-8u232-b09-0ubuntu1~18.04.1-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)
ubuntu@VM-0-16-ubuntu:~$ node -v
v12.14.1
ubuntu@VM-0-16-ubuntu:~$ npm -version
6.13.4

参考网站

  1. Centos 7安装python3
  2. Centos中Python升级为3.X时yum出现except OSError, e: ^ SyntaxError: invalid syntax问题
  3. Vim命令合集
  4. yum except KeyboardInterrupt, e: 错误
  5. CentOS7下使用YUM安装MySQL5.6
  6. 让python pip使用国内镜像
  7. 腾讯云快速完成python3.6开发环境搭建与django应用部署
  8. Django项目后台不挂断运行
  9. django&python&linux后台运行
  10. MySQL 数据备份与还原
  11. ERROR 1698 (28000): Access denied for user ‘root‘@’localhost’
  12. 如何在Ubuntu 18.04上安装Java
  13. ubuntu安装nodejs