手把手教你部署的node前后端程序
前言
这篇文章将手把手教你使用宝塔面板部署自己的node前后端服务。至于为什么用宝塔,不敲一行命令实现前后端部署,相对于他原生部署方式,比如Nginx、Apache、Docker简单省事,对前端使用者更友好。
实验环境
云服务器:ubuntu18.4
PC:windows10
宝塔部署node后端服务
宝塔工具安装
pc上安装堡塔远程工具,ssh连上服务器。其他ssh工具也可以,比如putty、xshell等,
运行堡塔面板安装命令wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec
如果是其他linux版本系统安装命令则不同:https://www.bt.cn/new/download.html,在这里找
安装完出现:
外网面板地址: http://47.113.185.74:12482/95ea64dd
内网面板地址: http://172.19.143.18:12482/95ea64dd
username:ysipxkuw
password:249605086229
忘记username和password,则执行
sudo /etc/init.d/bt default
或者bt default
显示地址和账号密码
若无法访问面板,请检查自己云服务器的防火墙/安全组是否有放行面板[12482]端口
部署node后端
进入面板它会提示你安装一整套软件,直接按照推荐安装即可,
再去软件商店安装Node.js版本管理器
Node.js版本管理器 是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单方便。
在文件上传写好的node后端程序
这是我的node后端程序,实现接受post,响应图片的url和序号index。我这里使用了express模块和cors模块,需要在服务器中安装这个模块。可以选择局部安装必须安装到后端服务的文件夹内,全局安装
npm install -g express
// 1. 导入 express
const express = require('express')
// 2. 创建 web 服务器
const app = express()
const cors = require('cors') //跨域
app.use(cors())
app.use(express.json())
app.use(express.urlencoded({ extended: false })) //解析表单中间件配置
app.post('/image', (req, res) => {
let imgs = ['https://gitee.com/mei_long_chen/img_bed/raw/master/images/1.jpg','https://gitee.com/mei_long_chen/img_bed/raw/master/images/2.jpg','https://gitee.com/mei_long_chen/img_bed/raw/master/images/3.jpg','https://gitee.com/mei_long_chen/img_bed/raw/master/images/4.jpg','https://gitee.com/mei_long_chen/img_bed/raw/master/images/5.jpg']
let ids = [1,2,3,4,5]
res.send({state:1,data:{id:ids[req.body.index],img:imgs[req.body.index]}})
})
// 3. 启动 web 服务器
app.listen(8887, () => {
console.log('express server running at http://127.0.0.1')
})局部安装node后端模块
这里进入terminal
如果使用webpack管理的项目,直接执行npm i 即可npm i express cors
安装完成刷新目录会发现这都些文件找到刚才的服务器目录,上传node文件或者项目,添加项目
打开8887防火墙端口
前端
测试后端
前端程序注意修改请求IP地址和端口,这里的前端程序改另存为client.html文件使用浏览器打开,并在同级目录加入axios.js
<!DOCTYPE html> |
通过上满的方式打开client.html可在浏览器显示如下效果
若测试失败
检查IP和端口是否连通
tcping可以ping ip+端口
进去后,直接下载tcping.exe那个文件就行。然后把下载好的工具放到电脑的C盘>Vindows>:System32下面就行。
然后我们直接重新打开CMD窗口,输入命令输入完回车就可以查看这个IP的端口是否是通着的。
比如:tcping10.20.66378090
部署前端服务
1.打包项目 yarn build
2.全局安装serve包。yarn global add serve
3.到打包的目录下terminal执行serve即可开启服务
或者直接再上层目录下执行 serve build
总结
- 一定要把开宝塔面板和云服务器防火墙都关闭
- 后端的端口号与前端保持一致
*有任何疑问和想法,欢迎在评论区与我交流。*