本文需要懂一点MVC、简单的Linux操作指令、小程序前端和数据库等知识,如果都不懂,问题也不大,按照教程走就行,遇到问题请留言。
考虑到篇幅问题,五节分为了上中下三篇,本文讲前三节。
全栈宝宝级教学—小程序前端+Express后端+MySQL数据库(中)
全栈宝宝级教学—小程序前端+Express后端+MySQL数据库(下)
总目录:
一、准备工作
二、Node.js安装
三、MySQL数据库搭建
四、Express搭建
五、小程序前端交互
一、 准备工作
1、购买服务器
本人用的腾讯云,其他大厂的也都差不多看自己喜好,如何购买,设置密码就不多说了,那个属于胎教
服务器配置如下:
型号:腾讯云标准型S4(学生机买了一年用来折腾)
操作系统:Ubuntu Server 18.04.1 LTS 64位(1核 2GB 1Mbps)
2、进入服务器
当你买完服务器后,进入服务器控制台,可以看见如下界面,牢记【主IPv4地址】下面的IP(后面带个‘公’字的),我自己的打码了:
登录方式有很多种:
a. 网页端(方便省事,但容易断连):从上面的服务器控制台,看见【操作】一栏下的【登录】按钮了吗,点它进去可以密码或者密钥登录
b. Mac用户:打开【终端 / Terminal】,找不到的请打开: 访达(Finder)=》应用程序(Applications)=》工具(Utilities)=》终端(Terminal);输入以下命令(记得把用户名和IP换成你的),然后输入密码即可进入
# ubuntu替换成你服务器的用户名,@后面的换成你的服务器IP
ssh ubuntu@127.0.0.1
c. Windows10用户:紧跟潮流可以在微软商店下载Windows Terminal,然后用Powershell登录,命令同上;当然也可以用xshell:)
至此,准备工作已完成
二、Node.js安装
个人建议在一个具有sudo权限的新用户下操作,这里就不赘述了,有需要我再写一篇。
言归正传,输入以下指令进行安装,过程中会问你是否continue,当然 y 就可
#安装nodejs
sudo apt-get install nodejs
查看node版本
node -v
#v8.10.0
然后安装npm (NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题)
#安装npm
sudo apt-get install npm
#查看npm版本
npm -v
#3.5.2
三、数据库搭建
因为我这里之前搭建Django的时候已经安过一遍MySQL了,所以安装过程就不说了,大家百度一下就行,hin简单。此外,Django里面弄数据库可谓方便至极,不需要写啥SQL语句就能操作数据库(express+MongoDB也不需要写SQL),但是我们今天讲的express+MySQL,是需要手写SQL语句(手动微笑),关于建数据库可以使用Navicat,但是这里为了测试,所以库很简单就在MySQL里面创建了,进入MySQL后,输入以下命令(SQL语句记得带分号):
#创建utf8mb4编码的数据库,为什么要用这个呢,更好地支持中文
CREATE DATABASE myProject DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
#查看一下当前有的数据库
show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| myProject |
| mysql |
| performance_schema |
| sys |
+--------------------+
可以看见我们创建的数据库myProject已经在了,剩下就是建表,这里就简单建一个products表用来测试
#进入myProject数据库
use myProject;
#创建products表
CREATE TABLE products (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20),
price FLOAT(8,2));
#查看表结构
desc products;
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | YES | | NULL | |
| price | float(8,2) | YES | | NULL | |
+-------+-------------+------+-----+---------+----------------+
#插入一条数据试试
INSERT INTO products(name, price) values('computer', 9999.99);
#查看是否成功插入(因为之前测试了3个,所以这个的id从4起)
SELECT * FROM products;
+----+----------+---------+
| id | name | price |
+----+----------+---------+
| 4 | computer | 9999.99 |
+----+----------+---------+
数据库已经ok,我们可以退出了
#退出MySQL
exit