前言:
写了小程序,最开始是用的自己电脑做的服务器,代码 nodejs ;
小程序发布上线后,觉得用自己的电脑做服务器不爽,于是便开始捣鼓阿里的服务器搭建,域名申请和 SSL 证书;
下面便开始我的捣鼓之旅;
说明一下:
nodejs 代码和小程序已经完成,只差一个线上服务器。
第一步:购买服务器
首先献出阿里云的ecs服务器购买链接ECS服务器
穷人嘛,就选最便宜的。一年也才一百块钱,对于练手的小项目是足够了。
镜像就选择 :CentOS 7.6 64位(安全加固)
稳定可靠,然后就是付钱,购买成功后进控制台,找到云服务器ECS,进去后就能看见刚刚购买的服务器了
第二步:配置服务器
下面我们将会把我们本地的nodejs代码上传到服务器,并且在阿里云上跑起来;
这里就要用到几个工具了,本人电脑 windows,
推荐工具 putty 和 8uftp ,这个网上一搜就能出来,下载好这两个软件,等会儿要用。
putty是用来在本地运行线上服务器命令,8uftp是上传和同步本地文件到线上服务器的。
进入阿里云ECS服务器实例,点击更多,修改密码,这个密码就是用来登录服务器的密码,用户名是默认的 root 或者 administrator
由于我们选择是 Linux ,所以用户名是 root
然后继续,配置网络安全组;
把端口号 22、80、443 都勾上
然后再手动添加一个 21 的端口,因为我们用的 8uftp 默认是21的端口
配置好以后,就可以尝试连接一下服务器了。
打开刚刚下好的 putty 文件夹,运行 putty.exe
这里输入公网 ip ,也就是红色的部分,端口号 22 ,SSH 默认的端口号,第一次链接会有个提示,不用管。
输入账号和密码,账号是 root ,密码是你刚才设置的密码。
登录成功以后就是这样了,如果没有成功,请向上检查某个步骤是否错误。
下面就需要在服务器上搭建一个 FTP 的服务,以便我们用 8uftp 连接服务器。
首选推荐使用 vsftpd ,输入命令
yum -y install vsftpd
直至出现 Complete! ,完成安装,这样线上的 FTP 服务器就算安装完成了。
启动软件
service vsftpd start
[root@encounter ~]# service vsftpd start
Redirecting to /bin/systemctl start vsftpd.service
[root@encounter ~]#
然后就是需要用 8uftp 连接服务器了。
点击站点管理器,选择新建站点,主机名就是阿里线上的公网 ip 地址,端口默认 21 ,然后是账号和密码,都是刚才的,账号 root
密码是你登录服务器的密码,然后高级中设置一下模式为活动模式。然后保存,连接
连接上服务器后,就能看到服务器上的文件了,左边是本地的文件,右边是服务器上的文件。
现在把我已经写好的 nodejs 代码上传到服务器,拖过去就完事了。
代码是上传上去了,下一步就需要把代码在服务器运行起来,配置 node 运行环境。
先安装 yarn
curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum install yarn
安装 pm2
yarn global add pm2
然后将 pm2 配置在 PATH 环境中,用 8uftp 进入根目录,然后打开 etc/profile 文件
修改文件,添加代码,注意自己 pm2 文件所在的位置哈。。。。。然后保存
PATH=$PATH:/root/nodejs/node_modules/pm2/bin
配置完成以后,就可以开始尝试启动服务器了,在 putty 中输入
pm2 start app.js
启动好服务器后,使用 postman 尝试请求一下我们的服务器,地址填写公网的 ip 和自己服务的端口号。
至此,阿里云ECS服务器就算配置完成了。
当然,小程序可不支持 ip 地址的调用,还得去整个域名和 SSL 证书。
第三步:购买域名
域名不多说了,买就是了,我就买了个便宜的 .top 域名,然后需要等一会儿,可能会审核域名。
审核完成后,点击解析域名,添加两条记录,记录值填写公网的 ip 地址
然后等几分钟,域名解析需要时间,然后用 postman 测试一下,看域名解析生效了没
域名这块就算完成了,但是小程序是需要 https 的请求,整证书去。
第四步:申请 SSL 证书
去申请一个 SSL 证书,阿里云有免费的,走起
全局搜索 SSL ,选择 SSL 证书。
点击购买证书
购买后需要有一个域名的解析,点击证书申请,将提示页面的数据,手动在我们刚刚申请的域名中手动添加一条记录
然后等几分钟,证书就发下来了,然后点击下载证书,由于我的服务代码是 nodejs 版本,所以就选择的是 nginx 版本的证书,下载后有两个文件。
然后将这两个文件用 8uftp 上传到服务器中,修改 app.js 的代码,将证书路径添加进去。
fs.readFileSync("./certificate/4325616_encounter-k.top.key")
fs.readFileSync("./certificate/4325616_encounter-k.top.pem")
重启服务器,然后用 postman 测试一下
大结局
算是弄完了,码字不易,点赞转发,谢谢支持