记录:华为配置小程序后台服务器
# 记录:华为配置小程序后台服务器
## 零、前言
之前做个一个RSS阅读器的微信小程序,还取了个名字:**真简阅读器**,后端由腾讯云驱动,最近刚好到期了,就迁移到了华为云。最明显的不同就是华为云默认有安全组,只开放了少数几个端口,所以需要手动开放80,443端口。
## 一、准备工作
0. 连接我本地电脑上`xshell`,`xftp`全家桶
输入华为云服务器的IP地址,root密码等信息就连接好了
1. 更新一下
```bash
yum update
```
2. 添加一个自己的用户名,设置密码
```bash
useradd hechenxi
passwd hechenxi
```
3. 添加用户到sudoer列表中
Linux默认是没有将用户添加到sudoers列表中的,需要root手动将账户添加到sudoers列表中,才能让普通账户执行sudo命令。
```bash
vi /etc/sudoers
```
在` root ALL=(ALL) ALL`那一行后加上一行:`hechenxi ALL=(ALL) ALL`。
## 二、安装mysql(mariadb)
1. 安装
```bash
sudo yum install mariadb-server mariadb
```
2. 启动mariadb服务
```bash
sudo systemctl start mariadb
```
3. 设置root账户的密码
```bash
mysqladmin -u root password "new_password";
```
4. 连接mariadb服务器
```bash
mysql -u root password"new_password";
```
5. 创建数据库
```sql
create database if not exists RSR default character set = 'utf8';
```
6. 创建数据表
```sql
CREATE TABLE `RSR`.`rss_sites` ( `id` INT NOT NULL AUTO_INCREMENT , `siteCatId` VARCHAR(128) NOT NULL , `selected` SMALLINT NOT NULL , `siteImgUrl` VARCHAR(2048) NOT NULL , `name` VARCHAR(128) NOT NULL , `description` VARCHAR(1024) NOT NULL , `siteRssUrl` VARCHAR(2048) NOT NULL , PRIMARY KEY (`id`)) ENGINE = InnoDB;
```
7. 插入数据
```sql
INSERT INTO `sites` (`id`, `siteCatId`, `selected`, `siteImgUrl`, `name`, `description`, `siteRssUrl`) VALUES (NULL, '1', '1', 'https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1569056751&di=ea7724dc0a7af497b4427db64fd83e13&src=http://img.25pp.com/uploadfile/soft/images/2015/0502/20150502044225957.jpg', 'IT之家', '爱科技,爱这里', 'https://www.ithome.com/rss');
```
## 三、安装nodejs并启动服务器
1. 安装nodejs
```bash
sudo yum install nodejs
```
2. 下载自己的源代码
这里我是通过xftp上传的
3. 运行服务器
这里我的服务器入口是`app.js`文件,也可以通过一个简单的koa服务器来测试一下。
```js
const Koa = require('koa');
const app = new Koa();
app.use(ctx => {
ctx.body = 'Hello Koa';
});
app.listen(3000);
```
```bash
node app.js &
```
这里可能会出现端口被占用的报错,kill到占端口的进程就可以了
> bg 把前台任务放置后台,jobs可以查看后台任务,fg %把后台任务调到前台
> netstat -ntlp //查看当前所有tcp端口及其pid
> kill 指定pid任务
4. 测试服务器
直接在本地浏览器输入`000.000.000.000:3000`就能访问到了,但是华为云的安全组默认把3000端口给禁了,所以可以去华为云得控制台打开3000端口,但是很麻烦也没有必要,直接用`wget`命令就可以测试了,`wget`就是下载指定网站文件得一个工具
```bash
sudo wget http://127.0.0.1:3000
```
如果能下载下来`index.html`那就可以说明服务器启动成功了
## 四、安装启动nginx
1. 安装
```bash
sudo yum install nginx
```
2. 启动nginx服务
```bash
sudo service nginx start
```
3. 测试
直接在本地浏览器输入服务器的IP`000.000.000.000`地址就能打开nginx的欢迎页面,但是华为云的安全组默认是关闭了80端口(只开放的22端口给ssh使用),所以我们需要打开80端口,顺便把443端口也打开。
- 打开云服务器的控制台
- 打开安全组
- 给`Sys-default`配置规则
- 添加规则->添加端口80->确认
4. 配置SSL证书和DNS解析
- DNS解析没什么好说得,就是让我们得域名和云服务器得IP地址对应而已
- 申请并下载证书
- 配置nginx.conf文件
参考文章:[Linux CentOS7 搭建node服务详细教程](https://www.jianshu.com/p/5999d8c58b2f)
- 重启nginx
```bash
sudo systemctl start nginx
```
新手在这里很可能会报错,基本都是配置文件写错了
5. 总结测试
打开本地浏览器,这次不输入IP地址了,输入域名`https://XXX.XXXX.cn`,如果也能正常显示,就大功告成了
- 点赞
- 收藏
- 关注作者
评论(0)