blog部署后端问题记录

338 阅读3分钟

 最近想做一个个人博客,心动不如行动。大概做了一个简单的页面,然后再阿里云租了一个服务器。准备工作差不多就好了。

接下来为了在浏览器随时可以访问到就涉及到了知识盲区部署的问题。查阅了相关资料,发现使用宝塔面板去部署确实很方面。

1.首先,我们在阿里云的控制台,找到我们创建的实例,点击远程连接,

然后我们选择workbench远程连接,如下图

连接的话需要输入前面设置的实例密码如下图

登录后我们可以在操作系统直接通过命令去下载宝塔面板,使用下面这行命令,遇到遇到选择选择y,enter键继续,

yum install -y wget && wget -O install.sh download.bt.cn/install/ins… && sh install.sh 

安装完成后会得到宝塔面板的访问地址和登录名,密码,我们在浏览器输入访问地址,就可以访问了。

首次登录会让选择相关配置如下图,个人选择的lnmp,然后勾选编译安装进行安装。

需要注意的是宝塔的端口是8888,如果更改后需要在面板上点击安全去进行配置放行。

然后我们去软件商店下载相关的工具,我用到的数据库是mongoDB,所以下载mongodb还有pm2管理器,这个是用来启动后来代码的,还需下载nginx

项目配置

我们配置下nginx,默认是端口80,server_name处,填写阿里云上的公网IP,root是打包的代码地址,另外在location中去设置代理,以api开头的接口会代理到127.0.0.1:8886,这个地址其实也就是我们使用node开启的服务地址如下图,当然这个地址是可以自己设置的

然后我们将前端代码进行打包,需要注意的是在axios的接口公共地址处需要配置公网ip加上api这个代理字段。

打包完后我们上传服务器,点击宝塔面板的文件,进入 /www/wwwroot /dist文件夹 ,将 dist 文件夹压缩后上传,上传完成后这个时候已经可以在浏览器地址栏看到我们的静态网站,如果项目中用到了接口还需要配置下后端服务。

我们可以在dist下面创建server文件夹,将我们写的服务端代码上传进去。然后我们在宝塔面板中点击pm2管理器,查看下使用的node的版本,然后选择对应版本,然后再模块管理中下载使用到的依赖包,

需要注意的是node的文件,我们在引入包的使用,路径需要拼接上如下的路径,这个版本根据自己的node版本去更改

const express = require('/www/server/nvm/versions/node/v12.18.2/lib/node_modules/express');

还需要选择我们的服务启动文件,如下图,另外我们监听下端口就是我node服务的端口

完成以上步骤node服务以及可以启动,单位我们需要宝塔面板点击网站,找到我们的创建网站,然后点击设置,里面还有配置,配置下反向代理。这个时候我们的接口就可以使用了,另外我在配置的时候遇到了404的问题,检查好久才发现是express里面的路径匹配地址多了个/api,导致未匹配上,这个需要注意。